[VOIPSEC] FWD: Blocking Skype
Eoin Keary
eoinkeary at gmail.com
Tue Nov 15 09:53:51 CST 2005
Simply have a firewall that required NTLM authentication.
Skype does not do NTLM.
On 14/11/05, Robert Moskowitz <rgm at icsalabs.com> wrote:
>
> >Date: Sun, 13 Nov 2005 23:35:41 +0400
> >From: dsluser at emirates.net.ae
> >To: full-disclosure at lists.grok.org.uk
> >Cc:
> >Subject: [security] [Full-disclosure] Blocking Skype
> >Sender: security-bounces at lists.seifried.org
> >
> >
> >Blocking Skype Using Squid and OpenBSD
> >---------------------------------------
> >
> >
> >Abstract :
> >
> >After much digging online for an effective way to stop this pesky app
> >that is highly de-centralised and a big pain to blocked, I finally found
> >a way
> >to do quite nicely. It has been working perfectly fine on our corporate
> >network, and we have had no complaints of users being denied access to
> >legitimate web destinations (that are in compliance with our security
> >policy of course). I used Squid-proxy running on an OpenBSD server to
> >carry out the below. The choice of OS to run the proxy on is subjective
> >(I chose OpenBSD as my network OS of choice for its proven security
> >record and excellent reliability) and has no effect over the actual
> >blocking mechanism. The same can be accomplished on any other BSD or Linux
> >flavour.
> >
> >
> >Background :
> >
> >This basic write-up will not delve deeply into the operation of Skype,
> >but will quickly highlight the main challenges of blocking this
> >application. As
> >mentioned, the below is not an accurate study of how Skype operates, and
> >is not be a comprehensive analysis of its behaviour :
> >
> >1) Skype will initially attempt to contact supernodes, the IPs of which
> >are in a file stored along with the other files that Skype installs. The
> >first method of contact is direct. The source ports that Skype attempts
> >to connect from are non-default ports. From my observations I could see
> >that the UDP source port 1247 is the initial control channel. Once the
> >connection is established, the rest of the communications is done in TCP
> >over non-default source ports with ranges sweeping from 2940-3000.
> >In general, any company that is serious about its security policy would
> >have strict egress filtering rules, which makes identifying the
> >non-default source/destination ports that Skype uses irrelevant since
> >they would be blocked anyway.
> >
> >2) If the above fails, Skype will use the proxy server specified in Internet
> >Explorer, and attempt to tunnel the traffic over port 443 using the SSL
> >protocol. The destination IPs are of course random as above, which makes
> >destination blocking out of the question. The only option left is to
> >block SSL,
> >which is not really a solution, unless you want to end up excluding all
> >legal SSL destinations.
> >Deleting the user's proxy settings would also disallow Skype from
> >connecting. That would however leave the user without internet access.
> >Even if the user had no proxy settings, and the proxying was done
> >transparently (which would definitely include proxying http and https
> >traffic), the Skype traffic (SSL) would again be transparently proxied,
> >which puts us back at square one.
> >
> >
> >
> >The Alternative That Works :
> >
> >Internet access services in our corporate workplace are provided by our
> >proxy servers. The setup is basically Squid-proxy running over OpenBSD.
> >PF (packet filter, OpenBSD's built-in firewall) takes care of all the
> >egress/ingress filtering, and the rest of the content filtering is done
> >in Squid using custom-written accesslists.
> >
> >Blocking Skype's default operation was a no-brainer, as our strict
> >egress filtering rules block all outgoing traffic. The problem was with
> >Skype detecting the user's proxy server, and tunneling its traffic over
> >Squid. Upon checking Squid's access logs, all we could see was requests
> >made by the user's machines using the 'Connect' method to random
> >destination IPs.
> >
> >As mentioned above, blocking SSL or the 'Connect' method, means blocking
> >access to all legitimate websites that use SSL (Hotmail, Yahoo,
> >E-banking, E-commerce websites, e.g any website that is secured by SSL).
> >Should you go down that road, you would have to explicitly allow all
> >permitted destinations (an ongoing technical nightmare).
> >
> >The catch in successfully blocking Skype given all of the above, would be to
> >block access to requests made by clients, to destination specified by their
> >numeric IP address, AND using the 'Connect' method to tunnel the Skype
> >data. I
> >have done that simply by writing an access list in Squid that achieves
> >just that.
> >The access-list is in regex (regular expression) format that identifies
> >numeric IP addresses. The access-list further specifies the connection
> >method that the client is using. In Squid the 'Connect' method is
> >conveniently called 'Connect' as well.
> >
> >
> >The access list then is of the following form :
> >
> >
> ># Your acl definitions
> >acl numeric_IPs urlpath_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
> >acl connect method CONNECT
> >
> ># Apply your acls
> >http access deny connect numerics_IPs all
> >
> >
> >I have had no problems at all with the above setup, and as a result,
> >only Skype is blocked, as most(if not all) companies serious about
> >having a web presence
> >have registered domains and hence are referenced by their FQDN URLs.
> >
> >The blocking was so effective, that one user told me days later, he had
> >not bothered calling me the first 2 days to complain about lost Skype
> >connectivity
> >because he thought there was an actual problem with Skype. Apparently,
> >Skype is so good at getting around firewalls. On the third day however,
> >the user called
> >to inquire whether Skype had effectively been blocked. The answer was a
> >efinitive yes :)
> >
> >
> >Should you find the above useful, I would appreciate all comments emailed to
> >vi_cipher at yahoo.com. Enjoy !
> >
> >
> >
> >Written by rootn0de
> >November 13th - 2005
> >_______________________________________________
> >Full-Disclosure - We believe in it.
> >Charter: http://lists.grok.org.uk/full-disclosure-charter.html
> >Hosted and sponsored by Secunia - http://secunia.com/
> >
> >_______________________________________________
> >Get your free port scan here: http://www.seifried.org/freescan2/
> >
> >security mailing list
> >security at lists.seifried.org
> >https://lists.seifried.org/mailman/listinfo/security
> >
> Robert Moskowitz
> Senior Technical Director
> ICSA Labs, a division of Cybertrust, Inc.
> W: 248-968-9809
> F: 248-968-2824
> VoIP: 248-291-0713
> E: rgm at icsalabs.com
>
> There's no limit to what can be accomplished if it doesn't matter who
> gets the credit
>
>
>
> _______________________________________________
> Voipsec mailing list
> Voipsec at voipsa.org
> http://voipsa.org/mailman/listinfo/voipsec_voipsa.org
>
More information about the Voipsec
mailing list