Wie sperrt oder blockiert man Skype?

Um Skype zu sperren gibt es in Firmennetzwerken sehr viele Gründe. Um nur einige aufzuzählen liste ich diese kurz auf:

  • Bandbreite sparen, Telefonate mit Skype kosten Bandbreite
  • Man kann nicht kontrollieren was über Skype gesendet und empfangen wird
  • Es gibt keinen Source-Code der analysiert werden kann
  • Vermutlich haben auch US-Behörden darauf Zugriff (FBI, CIA, NSA…)
  • Benutzer können Dateien versenden ohne das der Systemadministrator dies überprüfen kann
  • Benutzer können Remote Desktop Verbindungen erstellen und so einen Tunnel ins Firmennetz herstellen.
  • Bild von wired.co.uk
  • …. etc. etc. etc.



Wie funktioniert Skype?
Skype ist ein auf Peer 2 Peer basiertes VOIP System das nicht quelloffen zur Verfügung steht. Deshalb kann man nicht kontrollieren was darüber passiert und versendet wird.


Warum ist es so schwer Skype zu blockieren?
Skype ist schwer zu blockieren weil es
  • nicht auf eine spezifische IP / Subnet zugreift
  • Kein spezifischen IN / OUT Port
  • SSL verschlüsselt ist
  • Es ohne Adminrechte ausgeführt werden kann
  • Ein Dissasambling schier unmöglich ist (Es sei denn man hat 6-12 Monate Zeit)


Um Skype in einem Firmennetzwerk zu sperren gibt es 4 Möglichkeiten:
  1. Fowarding Proxy Chain (Beispiel zeige ich an einer Squid Config)
  2. Intrusion Prevention System / Traffic Analyser (Beispiel einer Snort Rule)
  3. Lokale möglichkeiten (Appliaction Control, Software Firewall)
  4. Cisco Router

Fowarding Proxy Chain
 
Da die Skype Super-Nodes nur via IP Adresse angesteuert werden, kann man einfach eine squid Regel erstellen die es nicht mehr erlaubt auf IP Adressen zu verbinden. Normalerweise wird in einem Firmennetzwerk eh alles über DNS Aufrufe geregelt. Nun zur Regel:
# Anti-Skype
acl numeric_IPs url_regex 1 .[0-9] .[0-9] .[0-9]
http_access deny CONNECT numeric_IPs all

Intrusion Detection System / Traffic Analyzer
Da dies für das System eine enorme Belastung ist, sollte zuerst die Lösung mit der Proxy Chain betrachet werden. Für jede Authentisierung am Skype Netzwerk wird ein SSL Handshake gemacht. Wenn der Traffic genau unter die Lupe genommen wird, besteht dieser Traffic immer aus dem selben Muster. Deshalb können wir das Skype Muster sperren und somit eine Authentifizierung blockieren, was zur Folge hat das man Skype nicht verwenden kann. Eine Signatur die immer wieder auftaucht ist folgende: 0x17030100 (Könnt ihr auch selbst testen mit Wireshark). Anbei habe ich noch ein paar zusätzliche Snort Rules auf Lager die euch bei eurem Vorhaben unterstützen werden.

Signature 1 - Skype VoIP Initialization

tcp $HOME_NET any -> any any (msg:“P2P CHAT Skype VoIP Initialization”;flow:to_server,established; content:“|8046010301002d0000001000000500000400000a 0000090000640000620000080000030000060100800700c003 0080060040020080040080|”;depth:112;classtype:polic y-violation;sid:1000013; rev:1;)

Signature 2 - Skype client login – reply from server

tcp $EXTERNAL_NET 1024: -> $HOME_NET 1024: (msg:“Skype client login – reply from server”; flags:AP,SUFR12; flow:to_client,established; flowbits:isset,skype_client_login; dsize:5; content:“|17 03 01|”; depth:3; sid:1000012; rev:2; )

Signature 3 - P2P Skype client setup get newest version attempt

tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:“P2P Skype client setup get newest version attempt”; flow:to_server,established; uricontent:“/ui/”; uricontent:“/getnewestversion”; content:“Host|3A| ui.skype.com”; classtype:policy-violation; sid:5694; rev:4;)

Signature 4 - Skype client login – from client

tcp $HOME_NET 1024: -> $EXTERNAL_NET 1024: (msg:“Skype client login – from client”; flags:AP,SUFR12; flow:to_server,established; dsize:5; content:“|16 03 01|”; depth:3; flowbits:set,skype.login; sid:1000009; rev:2;)

Signature 5 - P2P Skype client login startup

tcp $HOME_NET any -> $EXTERNAL_NET any (msg:“P2P Skype client login startup”; flow:to_server,established; dsize:5; content:“|16 03 01 00|”; depth:4; flowbits:set,skype.login; metadata:policy security-ips drop; classtype:policy-violation; sid:5998; rev:4;)

Signature 6 - Skype client login – reply from server

tcp $EXTERNAL_NET 1024: -> $HOME_NET 1024: (msg:“Skype client login – reply from server”; flags:AP,SUFR12; flow:to_client,established; dsize:5; content:“|17 03 01 00|”; depth:4; sid:1000010; rev:2; )

Signature 7 - Skype client manual login – TCP/33033

tcp $HOME_NET 1024: -> $EXTERNAL_NET 33033 (msg:“Skype client manual login – TCP/33033”; flow:to_server,established; flags:AP,SUFR12; content:“|17 03 01|”; depth:3; sid:1000400; rev:2; )

Signature 8 - P2P Skype client login

tcp $EXTERNAL_NET any -> $HOME_NET any (msg:“P2P Skype client login”; flow:to_client,established; flowbits:isset,skype.login; dsize:5; content:“|17 03 01 00|”; depth:4; metadata:policy security-ips drop; classtype:policy-violation; sid:5999; rev:4;)

Signature 9 - Skype client login – from client

tcp $HOME_NET 1024: -> $EXTERNAL_NET 1024: (msg:“Skype client login – from client”; flags:AP,SUFR12; flow:to_server,established; flowbits:set,skype_client_login,noalert; dsize:5; content:“|16 03 01|”; depth:3; sid:1000011; rev:2;)

Lokale möglichkeiten

Mit der Windows Firewall oder auch den meisten andern Software kann man für eine bestimmte Executable den Netzwerkverkehr blockieren. Somit muss man die Skype Executable in
C:\Program Files (x86)\Skype\Phone\Skype.exe
sperren. Mit dieser Sperre kann der Anwender zwar die Applikation aufrufen, aber der gesammte Netzwerkverkehr wird durch einen NDIS Filter oder eines andern Filter gesperrt.


Cisco Router

Mit einem Cisco Router der die NBAR Funktion unterstützt ist es möglich das Skype Protokoll zu blockieren

class’map match’any p2p
match protocol skype
policy’map block’p2p
class p2p
drop
int FastEthernet0
description PIX’facing interface
service’policy input block’p2p


UPDATE (1. März 2012):
 Herr Uwe Großkinsky hat uns noch mitgeteilt das es einen zusätzlichen Weg via Registry gibt um gewisse Funktionen von Skype zu deaktivieren.
Die Registry hat den Vorteil das sie auf gewisse OU’s im AD angewendet werden kann und somit auch nicht überall Einfluss hat. Zudem gibt es ja auch die Möglichkeit das Skype als internes Kommunikationsmedium verwendet wird.
Vorteil dieser Methode ist ganz klar das AD Administratoren selbst via GPO oder Logonscript installieren können.

Finden könnt ihr die Einträge unter:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype\Phone]“DisableApi”=dword:00000001“DisableScreenSharing”=dword:00000001“DisableSupernode”=dword:00000001“DisableTCPListen”=dword:00000001“DisableVersionCheck”=dword:00000001“DisableFileSharing”=dword:00000001
Daher nochmals besten Dank an unsern Leser der dies auf http://www.commodore.ca/ gefunden und uns mitgeteilt hat.


  1. 0-9 [return]
comments powered by Disqus