Skype och brandväggar

Skype och brandväggar är ett halvklurigt område. Minst problem har de som använder en brandvägg som stödjer UPnP. UPnP betyder att applikationer (program) på datorer som sitter bakom brandväggen kan öppna portar automatiskt för att tillåta inkommande IP-anrop (TCP eller UDP)

Med ett inkommande IP-anrop menas att datorn kan ta emot en uppkoppling (samtal) utifrån. För att det skall vara möjligt måste en så kallad “port” vara öppnad i brandväggen. Brandväggen måste dessutom veta till vilken dator (IP-adress) som anropet skall vidareskickas till. UPnP är alltså en standard för att styra detta automatiskt vilket Skype alltså kan göra.

Min blog ligger på en server som står hemma hos mig. Min brandvägg, Astaro Security Linux, stödjer inte UPnP vilket betyder att det blir lite mer komplext att konfigurera. Jag får istället konfigurera Skype att använda en specifik port för inkommande anslutningar. Denna port måste jag även öppna i brandväggen och konfigurera att anslutningar (samtal) utifrån på den porten skall skickas vidare till den dator som jag kör Skype på.

Utgående anslutningar (samtal)
Eftersom jag gillar att ha koll på mitt nätverk har jag också begränsat utgående trafik i brandväggen. Jag har med andra ord endast vissa utvalda portar öppna för utgående trafik. Detta ställer till problem eftersom de jag ringer till med Skype kanske inte använder samma port som jag för sina inkommande anslutningar. Med andra ord vill Skype kunna koppla upp mot alla portar, vilket i praktiken innebär att alla utgående portar måste vara öppna i brandväggen.

Skype har visserligen möjlighet att gå runt detta om portar är stängda (mer om det längre ned), men efter en hel del sniffande hur Skype (v2.0.0.43) använder nätet såg jag att alla mina utgående Skype-samtal använder samma “source-port”. Numret på source-porten var också samma som det nummer som användes för inkommande anslutningar. Bingo! Nu fanns en lösning som delvis kunde uppfylla mitt säkerhetstänkande!

Med andra ord, jag har skapat en regel i brandväggen som säger att portnumret som skype använder får ansluta mot alla andra portar ute på Internet.
Att bygga en regel på source-port tycker jag är lite märkligt i Windows-världen. Detta är första gången jag stöter på att ett program som kan styra source-porten för normalt brukar source-porten vara slumpad. Men Skype kan uppenbarligen styra vilken source-port som skall användas för utgående anslutningar (samtal)

Skype workarounds
Om inte Skype kan ansluta på det mest gynnsammaste sättet kommer programmet att pröva en mängd olika alternativ. Bäst ljudkvalité blir det om det går att köra peer2peer via protokollet UDP. Går inte det kan TCP användas istället. Eller så använder man en annan port, exempelvis port 80 som normalt används för http, eller port 445 som är https.

Kan inte noderna ansluta direkt mot varandra via peer2peer använder Skype ett relä, en så kallad supernod. En supernod är en annan Skype-användare som har portar öppna för att ta emot uppkopplingar (samta) utifrån. Detta betyder givetvis att ljudkvalitén på samtalet minskar, men samtalet går likväl igenom. Bäst ljudkvalité är alltså peer2peer med UDP.

Detta med att Skype kan koppla ett samtal på en mängd olika sätt är en av anledningarna till Skypes framgångar. Skype använder många olika sätt att upprätta samtalet vilket betyder att många kan använda programmet. Samtidigt är detta allas IT-avdelningars skräck eftersom Skype har en rätt bra förmåga att leta sig igenom brandväggar och eftersom all trafik (ljud, bild, filer och chatt) är krypterad betecknas detta ofta som en säkerhetsrisk av säkerhetsfolk.


Posted

in

by

Tags: