Skype for Business Online Client Verkehr

Skype for Business braucht nicht mehr den Port 50.000-59999 aber dafür 3478-3481. Was bedeutet dies für Anwender und Firmen, die Skype for Business Online nutzen? Sie müssen sich zwar nicht mehr um Server und deren Schutz durch Firewalls und ReverseProxy-Server kümmern aber auch auf der Seite des Clients gibt es Fallstricke und Optimierungspotential.

Vom Client genutzte Dienste

Ein Skype for Business Client nutzt mit Office 365 die gleichen POrts und Protokolle wie bei einer On-Prem Installation. Allerdings gibt es bei Office 365 keinen "Internen Benutzer". Alle Anwender sind per Definition "externe" und kommunizieren ausschließlich über Edge-Server. Entsprechend kommen auch nur die Protokolle zum Einsatz, die für externe Zugriffe vorgesehen sind. Hier eine Übersicht:

Service Quellports Zielorts  

SIP-Anmeldung

High

443/https

Was, was intern über port 5061 als SIP/TLS-Übertragen wird, wird hier in 443 getunnelt, d.h. Anmeldung, Provisioning, Download der Buddyliste

WebServices

High

443/https

Die Skype Server bieten Per WebServices weitere Dienste an wie z.B. Group Expansion, WebTicket, AB-Download etc.

DataEdge

High

443/https

Über das Protokoll "PSOM" werden hierüber die Steuerinformationen (Whiteboard, Umfragen, Präsentationssteuerung etc.) übertragen

Audio/Video Edge (TURN/STUN

50.000
-
50.059

443/TCP
3478/UDP
3479/UDP
3482/UDP
3481/UDP
50.000-59.999 UDP/TCP

Über diese Ports werden alle Audio (Ton), Video (Bild) aber auch Dateitransfers und mittlerweile auch Desktopsharing (Video Based Screen Sharing (VBSS)) übertragen. Wenn die Client direkt miteinander kommunizieren können, dann machen SIe das. Sobald aber NAT oder Proxy-Server dies verhindern oder eine Konferenz mit drei oder mehr Personen geführt wird, gehen die Daten über den Edge-Server und nutzen STUN oder TURN.

Neben dem Port 3478 kommen mittlerweile aber weitere Ports dafür zum Einsatz. Umgekehrt sind in 2017 aber die Anforderungen and die High-Ports entfallen.

Hinweis: Wenn die High-Port der Edge-Server durch den Client erreichbar sind, dann wird er diese auch weiterhin nutzen.

Exchange Web Services (EWS)

High

443/https

Skype for Business Clients sprechen natürlich auch mit dem Exchange Postfach über EWS (z.B. Meeting-Termine).

Zudem nutzt der Client natürlich lokal noch den Zugriff per MAPI auf die Outlook Informationen. Die Verbindung von Outlook zum Postfach führe ich aber nicht weiter aus.

Office Web App

High

443/https

Wenn in einem Meeting eine PowerPoint-Präsentation vorgeführt wird, dann kommt dazu der Office Web App, bzw. Office Online Server in der Cloud zum Einsatz

Es gibt aber noch einige weitere Faktoren, die sie berücksichtigen können:

  • Beschränkung auf Ziel-IP-Adressen oder Ziel-Namen
    Natürlich kann man auch noch die Ziel-IP-Adressen auf die Office 365 Netzwerke beschränken. Einige Firewalls schauen sogar in den TLS-Handshake und erfahren so, welche Namen das Serverzertifikat der Gegenseite hat. Dieser Teil der Kommunikation ist noch unverschlüsselt. Wenn auf das Client-Hello der Server mit seinem Zertifikat antwortet, kann die Firewall erkennen, dass es sich z.B. um ein System im Namensraum "*.lync.com" handelt und die Verbindung zulassen. Damit ist man flexibler als bei der Pflege von statischen IP-Adressen.
  • Beschränkung der Source Ports
    In der Tabelle steht ein "High" als Quelle. Das ist aber zumindest bei Audio/Video nicht genau genug. Skype for Business gibt hier engere Port-Ranges vor, die sie z.B. für die Vergabe von QoS-Prioritäten verwenden können.
  • NAT oder Rerouting über Proxy und Deep/Inspection
    Nicht jede Firma erlaubt, dass ein Client direkt per NAT mit dem Internet spricht sondern zwingen den Client einen HTTP-Proxy zu nutzen. Dieser Proxy kann natürlich zum Teil auch in das Protokoll schauen aber zumidnest den TLS-Handshake beobachten und hier auch die Namen in den Zertifikaten der Gegenseite als Kriterium heranziehen.

Es gibt also eine ganze Menge von Optionen, um die Clients mit Office 365 und insbesondere Skype for Business kommunizieren lassen zu können.

Source Ports

In vielen Anleitungen werden nur die Destination-Ports beschrieben. Dabei sind auch die Source-Ports durchaus ein mögliches Filterkriterium. Skype for Business teilt dem Client im Rahmen dessen Anmeldung beim Service auch entsprechende Port-Ranges mit. Hier ein Auszug auf ein SUBSCRIBE mit den Provisioning-Daten:

SIP/2.0 200 OK
ms-user-logon-data: RemoteUser
Contact: <sip:sippoolblu2a18.infra.lync.com:5061;transport=tls;ms-fe=BLU2A18FES06.infra.lync.com>
Content-Length: 54108
From: "Frank Carius (ADM)"<sip:user1@msxfaq.net>;tag=0c8218fdfa;epid=fc73463439
To: <sip:user1@msxfaq.net>;tag=09450080
CSeq: 1 SUBSCRIBE


<provisionGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisiongrouplist-notification>
   <provisionGroup name="ServerConfiguration">
      <ucPortRangeEnabled>true</ucPortRangeEnabled>
      <ucMinMediaPort>50000</ucMinMediaPort>
      <ucMaxMediaPort>50059</ucMaxMediaPort>
      <ucMinSipDynamicPort>7100</ucMinSipDynamicPort>
      <ucMaxSipDynamicPort>7102</ucMaxSipDynamicPort>
      <ucMinAudioPort>50000</ucMinAudioPort>
      <ucMaxAudioPort>50019</ucMaxAudioPort>
      <ucMinVideoPort>50020</ucMinVideoPort>
      <ucMaxVideoPort>50039</ucMaxVideoPort>
      <ucMinAppSharingPort>50040</ucMinAppSharingPort>
      <ucMaxAppSharingPort>50059</ucMaxAppSharingPort>
      <ucMinFileTransferPort>50040</ucMinFileTransferPort>
      <ucMaxFileTransferPort>50059</ucMaxFileTransferPort>
   </provisionGroup>

Für Audio, Video aber auch ApplicationSharing und FileTransfer werden entsprechende Ports eingetragen, die der Client der Gegenseite als mögliche Kandidaten anbietet. Dabei sind das nicht nur die Ports, auf denen der Client dann eingehende annimmt, sondern auch die Ports, die der Client ausgehend zum Office 365 Edge-Server verwendet. Das können Sie mit einem Client einfach nachstellen, indem Sie sich als Office 365 Benutzer in ein "Sofort-Meeting" einladen und dann die Verbindungen prüfen (Netmon oder WireShark).

Leider können Sie natürlich nicht steuern, welche SourcePorts aber der SIP-Service und DataEdge nutzt. insofern ist die Filterung nach dem QuellPort keine gute Idee und wird von Microsoft auch nicht empfohlen:

SfB Online und Firewall
 https://techcommunity.microsoft.com/t5/Skype-for-Business-Preview/Simplifying-port-requirements-for-O365/td-p/41022

New recommendation for customers is to open the following firewall ports for Skype for Business Online media services:
Outbound TCP src=any dst=<edge/TR public IP range, both VIP & DIP>:443
Outbound UDP src=any dst=<edge/TR public IP range, both VIP&DIP>:3478
In addition, we will add 3 new ports for forward compatibility with future m-turn protocol:
Outbound UDP src=any, dst=<TR public IP range, DIP only>:3479 - 3481

Verbindungswege

Wir können davon ausgehen, dass Microsoft natürlich auf ihrer Seite die Firewalls und Regeln richtig eingestellt hat. Aber oftmals knirscht es ja noch auf der Seite des Anwenders. Da gibt es nämlich auch diverse Fallstricke und Firewalls, die einer der Verbindung im Weg stehen oder diese zumindest behindern. Und da sich ihr Client ja mit ihrem ureigenen Tenant und ihren Daten verbindet, sollten Sie wirklich überlegen hier Ausnahmen zu definieren. Folgende drei Client-Szenarien habe ich aufgeführt:

  • Road Warrior
    Der klassische mobile Benutzer greift per SmartPhone oder mit dem Notebook samt UMTS-Karte auf Skype for Business Online zu. Oft gibt es hier keine Firewalls auf dem Client oder beim Public Access-Point. Diverse Hotels blocken aber gerne mal "Non Standard Port". Bei der Nutzung über Mobilfunk wird man auf jeden Fall mit "Carrier Grade NAT" zu tun haben, d.h. dass der Provider dem Kunden keine öffentliche Adressen zuweisen sondern mit privaten Adressen arbeiten.
  • HomeUser (mit/ohne VPN)
    Die zweite Gruppe sind die "Home Office" User, die zumindest an einem bekannten Standort arbeiten und eventuell ihren DSL-Zugangsrouter in Grenzen so gar selbst konfigurieren können. Home Office User werden aber oft per VPN oder Direct Access an die Firma angebunden. Teilweise sogar indem sogar ein VPN-Router der Firma aufgestellt wird, damit das VPN unabhängig vom Client ist. Das sind natürlich weitere Herausforderungen an Skype for Business Online und VoIP
  • Firmenarbeitsplatz
    Anwender innerhalb einer Firma sind oft durch hochwertige Schutz- und Filtersysteme abgesichert. Sie dürfen in den seltensten Fällen "direkt" per Network Address Translation in das Internet. Der Umweg über einen HTTP-Proxy, der neben einer Authentifizierung aber auch Inhalte filtern kann, kostet natürlich Zeit und Performance.

Die oben genannte Freischaltung für die Dienste betrifft also nicht nur Microsoft auf ihrer Seite sondern insbesondere ihre lokalen Filter

Empfehlung

Skype for Business Audio und Video sind "Echtzeitpakete" die viel kritischer bezüglich Laufzeiten sind als Websurfen, Outlook Replikation oder OneDrive. Selbst Video-"betrachten" a la YouTube sind viel unkritischer, da hier mit Buffern und entsprechender Zeitverzögerung gearbeitet werden kann um Laufzeitunterschiede und lange Latenzen zu kaschieren. Bei Konferenzen oder Telefonie ist die "Roundtrip-Zeit" der Pakete essentiell und sie sollten als Netzwerk-Verantwortlicher dafür sorgen., dass diese Pakete schnell und auf dem möglichst direkten Weg übertragen werden. Umwege über Proxy-Server sind störend und bringen keinen Mehrwert sondern eher Probleme bei der Funktion und Skalierung. Es ist nicht schlimm, interne Client per NAT auf "bekannte IP-Adressranges" zuzulassen. Sie haben Office 365 gekauft, ihre Identitätsdaten (Metadaten) sind schon im AzureAD und ihr Postfach, SharePoint und andere Informationen vielleicht auch schon. Und es gibt, anders als mit "WhatsApp (IM, Presence, Voice), Facebook (Chat), Twitter, Google (Hangout) und Co" einen Vertrag mit dem Dienstleister aus dem Rechte und Pflichten entstehen. Ihr Tenant ist ein ausgelagerter Teil ihres Unternehmens. Warum sollten Sie ihre Anwender davor schützen?. Es sind ihre ureigenen Daten.

Weitere Links