Office 365 und Proxy Server

Diese Seite beschreibt den Weg vom Firmen-Client zum Internet und insbesondere Office 365. Sie bricht auch eine Lanze dafür, warum ein Proxy nicht wirklich eine gute Idee für Office 365 ist. Dies gilt insbesondere für Skype for Business.

Status Quo

Das Internet ist wie eine große Stadt und neben hellen beleuchteten Flächen, gehobene Wohnviertel, Schulen und Behörden gibt es natürlich auch im Internet Orte, die für den Besucher gefährlich sind. Messungen behaupten zwar, dass 50% und mehr des Internet-Verkehrs im Erotikbereich begründet sind, aber auch Webseiten mit Schadcode oder auch einfach nur nicht Zielgruppentaugliche Inhalte sind vielleicht für Privatpersonen auf ihrem eigenen PC erreichbar aber in Firmen gehört es schon seit langen zum Standardrepertoire, Zugriff auf das Internet auf Personen zu begrenzen, Inhalte auf Schadcode zu überprüfen und gewisse Ziele gleich komplett zu blockieren. Technisch kommt dazu fast immer ein HTTP Proxy Server zum Einsatz und die Client bekommen per DHCP, DNS (Siehe WPad) oder Gruppenrichtlinien die Konfiguration übergeben, wo der Proxy zu finden ist. Technisch ist dies einfach aber durchaus aufwändig umzusetzen.

  • Proxy Server kosten Geld durch den Betrieb und Verwaltung
    Selbst "kostenfreie" Software wie Squid kostet dennoch Ressourcen und Verwaltung. Leistungsfähige Malware-Filter sind meist nicht kostenfrei
  • Optionale aber meist aktivierte Authentifizierung ist nicht mit allen Clients kompatibel
    Wenn der Proxy kein NTLM/Kerberos unterstützt, muss der Client die Anmeldedaten erfragen was zu weiteren Anmeldedialogen führt und letztlich die Anwender dazu verleitet immer wieder einfach ihre Anmeldedaten einzugeben, selbst wenn es ein Anmeldedialog einer Webseite ist. Und schon hat die Gegenseite ihre Domänen-Credentials.
  • Verteile Netzwerke brauchen mehrere Proxy-Server oder die Übertragungswege werden ineffektiv
    Wen eine Firma mehrere dezentrale Internet-Ausgänge nutzen will, muss Sie an jedem Übergang die gleiche Funktionalität herstellen.
  • Ineffektives Office 365 Routing mit Cloud-Proxy
    Immer mehr Firmen lagern den Betrieb der Proxy Server aus und routen alle Internet-Zugriffe über diese Systeme. Das kann dazu führen, dass die Daten einen längeren Weg im Internet unterwegs sind.
  • Proxy-Server dienen als Cache
    So werden identische Informationen nicht mehrfach herunter geladen. Zumindest so lange der Proxy diese als solche erkennen kann. Als bleibt es eher bei ein paar Bilder, CSS-Dateien, Java-Skripten und größeren Downloads. Die meisten Daten sind heute aber schon ehre Videos (YouTube, Channel9 etc.)

Aber was tut man sich alles für die Sicherheit des Firmennetzwerks. Ich möchte auch gar nicht abstreiten, dass der freie ungesicherte Zugang zum Internet unverantwortlich ist und ein zentraler Grundschutz neben dem Schutz auf dem Client erforderlich bleibt. Aber ist "Security" wirklich der einzige Faktor bei der Planung eines Internet Zugriffs ?

Es ist doch eh alles HTTPS, oder?

Mit der Einführung von Office 365 kommt sehr schnell die Frage nach der Bandbreite und dem Datenvolumen auf und dass dieses ja durch die bestehende Proxy-Verbindungen doch sicher mit abgedeckt werden könnte. Die ist aber ein Trugschluss, den ich bei fast jedem Office 365 Network Assessment auf den Tisch bringe. Ich unterscheide dabei in drei Kategorien:

  • Native HTTP
    Viele Dienste von Office 365 bedienen sich dem Protokoll HTTPS als primäres und einziges Protokoll. Dazu zählen z.B.: SharePoint, Exchange MAPI/HTTP, Exchange OWA, Exchange EWS, ActiveSync, OneDrive, Yammer u.a. Dazu zählen aber auch die REST-APIs (Exchange, Office Graph, Skype for Business UCWA), die nach und nach andere Protokolle ablösen.
  • HTTPS-Tunnel
    Andere Protokolle tunneln ihr originäres Protokoll in HTTPS, z.B. Outlook AnyWhere (RCP/HTTP) oder auch Skype for Business mit SIP/HTTPS. Gerade bei Skype for Business ist der Weg über HTTPS nur eine Fallback-Strategie, wenn der direkte Weg nicht geht oder wechselt mittlerweile gleich auf ein neues Protokoll, wie Outlook über MAPI/HTTP, welches seit Exchange 2013 möglich ist und in Office 365 ab Herbst 2017 alleiniges Protokoll sein wird.
  • Native Protokolle, z.B. TURN
    Andere Dienste versuchen dennoch auch ohne HTTPS auszukommen, z.B. indem Sie direkt SIP oder insbesondere RTP sprechen. Das Einpacken in HTTPS ist für einige Protokolle von Nachteil, so dass es nur die zweite Wahl ist.

Auch wenn damit die überwiegende Zahl an Diensten per HTTPS kommuniziert, gibt es Gründe auch andere Protokolle zu betrachten.

Last auf dem Proxy

Es wird aber gerne übersehen, dass der Office 365-Einsatz sich fundamental von einem klassischen "Websurfen" unterscheidet. der klassische Websurfer lädt eine Seite mit verbundenen Dateien und schaut sich diese an. Neben Momenten hoher aktivität gibt es viel längere Zeiträume der Inaktivität. Selbst bei einem Audio/Video-Strom ist dann nur eine Verbindung aktiv.

Ganz anders verhält sich hier der Zugriffe auf Office. Schon Outlook hat permanent mehrere HTTP-Verbindungen offen und hält diese auch aktiv, damit die Cloud auf eine ausstehende Anforderung umgehend antworten kann. Wenn dann auch die Daten im Arbeitsverzeichnis per OneDrive synchronisiert werden, das Software-Management per Intune erfolgt, über Microsoft Groups und Teams weitere Verbindungen permanent bestehen und mit Skype for Business auch noch Audio-Daten über den Proxy vermittelt werden, dann nimmt die Last gegenüber der "Vor Office 365 Zeit" nicht nur um ein paar Prozente zu. Das kann auch schnell mal zu einem Vielfachen ausarten. Aber auch ihr Proxy hat ausgehend Richtung Internet nur 65535 Source-Ports pro offizieller IP-Adresse. Auch hierauf sollten Sie ein Auge haben.

Bedenken Sie dabei auch, dass die Authentifizierung gelöst werden muss. Ein Browser kann dem Anwender sehr einfach eine weitere Anmeldebox anzeigen, damit der Anwender seine Zugangsdaten eingeben kann. Wollen Sie aber wirklich, dass die diese Eingabe-Orgie auch bei allen anderen Produkten immer wieder wiederholen müssen?. Wenn schon, dann muss die Anmeldung "integriert" (Kerberos, NTLM) erfolgen und von jedem Client entsprechend unterstützt werden. Denken Sie dabei aber auch an Smartphones und Tablets, Skype for Business Telefone und Konferenzsysteme. EWS-basierte Gateways und Prozesse. Auch die Anzahl der Authentifizierungen pro Zeiteinheit wird natürlich stark zunehmen.

Fraglicher Nutzen eines Proxy

Neben der Umsetzung von IP-Adressen bestimmen der Wunsch nach einer Kontrolle des Zugriffs für Benutzer oder Benutzergruppen und natürlich die Inspektion der Inhalte die Forderung für den Einsatz eines Proxy-Server. In Verbindung mit Office 365 fallen aber genau die beiden letzten Punkte eigentlich weg:

  • Beschränkungen auf Benutzer ?
    Zugriff auf Dienste in Office 365 sind in den allermeisten Fällen nur authentifizierten Benutzern möglich. Office 365 verifiziert, ob der ankommende Zugriff erlaubt ist. Da macht eine doppelte Kontrolle auf dem Weg aus ihrem Netzwerk doch gar keinen Sinn mehr. ?
  • Inspektion der Inhalte
    Alle Zugriffe auf Office 365 erfolgen verschlüsselt. Wenn Sie mit ihrem Proxy-Server überhaupt den Inhalt inspizieren wollen, dann müssen Sie dazu die SSL-Verbindung aufbrechen, was durchaus mit einem erhöhten CPU-Bedarf verbunden ist. Aber wenn wir mal davon ausgehen, dass eingehende Daten in die Cloud z.B. per Mail durch die Microsoft-Filter schon überprüft werden, handelt es sich bei den Daten durch um ihre ureigenen Dokumente, die Sie selbst dort hin abgelegt haben. Macht da ein Scan überhaupt noch Sinn.

Ich wage mal die Behauptung, dass der Gewinn hier doch zumindest zu diskutieren  ist.

Proxy schadet Skype for Business

Wenn ich mir aber all die Protokolle etwas genauer anschaue, dann behaupte ich einfach einmal, dass ein Proxy-Server in Verbindung mit Office 365 kaum einen Nutzen bringt und sogar die Nachteile überwiegen. Das fällt bei replizierenden Diensten wie Outlooks (Cached Mode) oder OneDrive nicht so stark auf, wie bei meinem Lieblingsthema neben Exchange: Skype for Business.

Gleich vorneweg: Auch Skype for Business kann über HTTP-Proxy Server betrieben werden, wenn diese entweder keine Authentifizierung verlangen oder eine integrierte Anmeldung möglich ist. Ich gebe aber gerne ein paar Beispiele, warum ein HTTP-Proxy beim Einsatz von Skype for Business es keine Vorteile bringt:

  • Office 365 ist nicht das Internet sondern "meine ausgelagerte Dienste"
    Im Gegensatz zu anderen kostenfreien Cloud-Diensten wie Dropbox, Google Drive, GMX-Postfach, iCloud-Speicher u.a. haben Sie mit Microsoft einen Vertrag geschlossen, der für beide Seite bindend ist, Leistungen zusichert und die Bezahlung regelt. Daten und Dienste in der Cloud zu nutzen ist nicht viel anderes als Teilkomponenten bei einem Zulieferer im Auftrag fertigen zu lassen. Oder noch anders: Ihre Firma hat ja auch einen Vertrag mit einer Reinigungsfirma, deren fleißige Helfer mit einem Generalschlüssel nachts durch alle Büros wischen und saugen. Office 365 ist bereits Teil ihres Unternehmens und nicht mehr "außenstehend" und ihre ureigenen Daten liegen schon dort.

Audio/Video sind besondere Dienste. Die Übertragung dieser Informationen unterscheidet sich grundlegend von "Datendiensten"

  • RTP muss schnell sein (100/200ms)
    Wenn Audio-Daten zu lange unterwegs sind, dann wird das Gespräch schlecht. Die Teilnehmer fallen sich ins Wort und es gibt lange Pausen beim Richtungswechsel. Schon 100ms in eine Richtung sind grenzwertig. Das menschliche Ohr ist um einiges sensibler als das Auge, welches über Artefakte und verlorene Bilder gerne mal drüber weg schaut. Jedes Zwischenstation verzögert ein Paket und ein Proxy ist systembedingt deutlich langsamer als ein IP-Router.
  • RTP-Daten können verloren gehen oder verworfen werden
    Wenn die Leitung kurzzeitig überlastet ist, dann ist es kein Problem das ein oder andere RTP-Paket einfach zu verwerfen (Drop). Einige Prozent "Paketloss" können schon zeitweise toleriert werden. Daher ist UDP auch das bevorzugte Protokoll. Wird RTP aber über TCP oder gar HTTPS eingepackt übertragen, dann sorgt der darunter liegende IP-Stack für die 100% zuverlässige Übertragung. Er sendet das Paket sogar noch mal (Resend), obwohl es beim Empfänger schon so viel Verspätung haben wird dass es es nicht mehr wiedergegeben wird. Ihr Proxy muss die Pakete auf seiner Seite sogar "puffern" um einen Resend-Request bedienen zu können, was Speicher belegt.
  • RTP sind ganz viele kleine Pakete
    TCP und HTTP verpacken die Nutzdaten in einem Umschlag, der durchaus einige Bytes groß sein kann. Wer wenige große Pakete bei einem Download empfängt, wird diese zusätzlichen Datenmenge kaum bemerken. Was stört mit die Euro-Platte unter einem neu gelieferten Serverschrank. Wenn aber nun jedes einzelne Teil auf einer eigenen Euro-Palette kommen würde, dann macht das sehr wohl was aus. Und ein klassischer VoIP Datenstrom (G711) besteht nun mal aus 50 Paketen mit je 20ms "Ton" a 160 Bytes als Nutzlast. Das sind fast 10 Mal mehr Pakete(Sekunde) als ein Download mit 1500bytes. Viel Arbeit für einen HTTP-Proxy.
  • QoS
    HTTPS ist HTTPS ist HTTPS. Wenn Sie Pakete auf Routern priorisieren wollen, damit die Latenzzeit gering bleibt, dann ist die Kennzeichnung per QoS/DSCP ratsam. Es gibt im Internet noch keine Priorisierung ,die Sie als Absender vorgeben können. Aber über Express Route ist dies möglich und in ihrem Hausnetz und ihrem direkt angeschlossenen Provider kann dieses Wissen genutzt werden. Kann ihr Proxy die Pakete kennzeichnen?
  • Verschlüsselung
    Allgemein ist VoIP nicht automatisch verschlüsselt. Bei Skype for Business ist dies aber der Fall. Sowohl die Signalisierung (SIP/TLS) als auch die Audio/Video-Daten (SRTP) sind verschlüsselt. Warum sollte man diese Daten in einem HTTPS-Datenstrom ein weiteres mal verschlüsseln wollen? Ein Proxy kann in diese Daten normalweise gar nicht mehr Einblick nehmen. Technisch wäre es schon möglich, wenn er dann Funktionen eines Session Border Controllers enthalten würde, der die SRTP-Schlüssel aufbricht. Aber dann ist es schon kein HTTP-Proxy mehr. Gehen Sie einfach mal davon aus, dass ihr HTTP-Proxy hier nichts mitlesen und schon gar nichts analysieren kann.

Wenn Sie all diese Punkte zusammenzählen, dann bedeutet ein Proxy für Office 365:

  • Größere Latenzzeit
    Was sich direkt auf die Audio/Video-Qualität auswirkt
  • Mehr Bandbreitenbedarf durch "Verpacken"
    Weil das Einpacken von SIP und insbesondere RTP/SRTP in HTTP einen Overhead addiert
  • Mehr Bandbreitenbedarf durch "Retransmits"
    Da HTTPS auf der Transportsicherung von TCP aufbaut, werden an Endstellen gepuffert und überflüssigerweise verspätet übertragen oder sogar noch einmal angefordert.
  • Höhere CPU und Speicher-Belastung auf dem Proxy
    Wenn die hohe Anzahl an Paketen bei RTP zusammen mit der Möglichkeit eines "Retransmit" fordert ihren Proxy stärker als normaler Web-Traffic
  • Erhöhte Anforderungen an die Authentifizierung
    Nicht nur, dass "Integrated" erforderlich ist fordert ihre Proxy. Auch die Anzahl der Anmeldeanforderungen geht insbesondere beim Einsatz von NTLM statt Kerberos in die Höhe
  • Ineffektives Routing
    Wenn die Policy jeden Verkehr über den Proxy routen muss, dann gibt es auch Standorte, die ungünstig die Daten mehrfach über ein WAN routen statt möglich schnell das Netzwerk Richtung "MGN - Microsoft Global Network" zu verlassen. Oder sie müssen viel mehr Proxy Server in den jeweiligen Standorten nachrüsten.

Und nun frage ich sie: Wie "unsicher" ist es, SIP und RTP-Verkehr, die bereits verschlüsselt und signiert sind und von Office 365 authentifiziert werden, direkt zu den bekannten Office 365 Zielen zu leiten?

Office 365 ist Teil meiner IT

Natürlich ist "Sicherheit" wichtig und verstehen Sie mich nicht falsch. Für viele Mitarbeiter von Net at Work werde ich als "alter Hase" oft als "Skeptiker" bezeichnet, der lieber allem auf den Grund gehen will und eher restriktiv Zugänge öffnet. Aber mit Office 365 kann ich ohne Verrenkungen sagen, dass die Microsoft Cloud mit den Abschluss eines Vertrags zum Teil meines Netzwerks geworden ist, welches mir vertraglich zugesicherte Dienste erbringt. Dass dabei eine immer kürzer werdende Teilstrecke über das Internet geht, liegt in der Natur der Sache.

Lassen Sie es nicht zu, dass einzelne Personen sich z.B. auf "Skype for Business Online" stürzen um eie generelle Sicherheitsdebatte loszubrechen, weil Sie befürchten, dass dies sich zu einem Dammbruch auswertet und am Ende ein offener Internetzugang für die Firma herauskommen soll. Das ist weder mein Ziel noch sollte es ihre Angst sein. Aber die Diskussion muss geführt werden, wie die Anwender der Firma und damit die Firma als Gesamtes sicher und effektiv die gekauften Dienste von Office 365 nutzen kann, ohne die Sicherheit der Firma zu gefährden.

Wenn es nur um Skype for Business geht, dann gibt es immer noch einen Rückzugsplan: Sie können einfach Port 3478/UDP  (STUN/TURN) auf die bekannten EDGE-Server von Office 365 zulassen und damit die Audio/Video-Daten am Proxy vorbei leiten. Verkehr, mit dem ein HTTP-Proxy in der Regel sowieso nichts anfangen kann und dessen Missbrauchspotential gering ist.

Wenn Sie weiterhin mit einem HTTP-Proxy arbeiten, dann wäre es nun aber mal an der zeit ihren Lieferanten oder notfalls auch Mitbewerber zu fragen, welche Mehrwerte das ein oder andere Produkt denn Richtung einer Office 365-Nutzung bietet. Es gibt durchaus Produkte, die schon Hersteller über eine Art "Pattern-Updates" die IP-Adressen und Ziel-URLs von Office 365 lernen, so dass Sie diese bequem in den Regeln einsetzen können. Ein so optimierter Proxy, der frühzeitig anhand der URLs und Ziel-Adressen erkenne, worum es sich handelt, kann diese Daten dann auch effektiv, zeit- und ressourcenschonend weiter reichen.

Weitere Links