Session Border Controller
SIP firewall oddělujíce privátní a veřejnou část VoIP sítí[1][2] a podstatně zvyšuje bezpečnost VoIP telefonie[3][4][5][6][7][8]. Někdy bývá taky označován jako hlasový firewall či VoIP firewall. Je velmi důležitý při ochraně proti VoIP podvodům. Důsledně ho používají všichni velcí telefonní operátoři. CETIN-O2 provozuje SBC Oracle, T-Mobile provozuje SBC Mavenir a Vodafone provozuje SBC Oracle. Zdaleka ne vždy ho nasazují alternativní VoIP operátoři a ještě méně pak provozovatelé privátních VoIP ústředen (firemních SIP-PBX).
K dispozici jsou SIP firewally různých kapacit za velmi rozdílné ceny. Většinou mají podobu specifického VoIP zařízení a nabízí je řada výrobců, např.: Nokia, Oracle, Cisco, Alcatel, Avaya, Mavenir, AudioCodes, Genband, Sonus, Acme, Mediant, Edgewater, Frafos, Squire a Dinstar. Menší SIP firewally mohou být k dispozici i jako software, např.: OpenSBC, Hexan Archivováno 6. 12. 2019 na Wayback Machine. a Hixtel.
Základní vlastnosti
Hlavním účelem SIP firewallu je utajení struktury SIP technologie[1]. Klasická ústředna fungující jako SIP proxy předává v SIP signálech IP adresy volajícího i volaného SIP telefonu a taky IP adresy SIP ústředen podílejících se na obsluze VoIP volání (typicky v sekvenci položek Via a v položkách Contact). Potenciální útočník může komunikací se SIP proxy zjistit IP adresy dalších SIP zařízení a pokusit se o jejich napadení. Může na ně posílat podvodné SIP žádosti a pokoušet se o VoIP podvody. Nebo může testovat různé varianty jejich REST či HTTP nebo CTI rozhraní a pokusit se je zneužít k podvodům.
SIP firewall pracuje na principu B2BUA (Back to Back User Agent) ústředny propojující veřejný a privátní segment VoIP sítí. Na každé straně SIP firewallu se v SIP signálech nevyskytují žádné IP adresy z jeho druhé strany. Totéž platí o hovorových RTP paketech, které SIP firewall přeposílá mezi veřejným a privátním segmentem VoIP sítí. SIP firewall proto bývá vřazen mezi datový firewall a SIP ústřednu. Potenciální útočníci tak nemohou komunikací s SIP firewallem získat IP adresy dalších napadnutelných SIP zařízení.
Nasazení SIP firewallu je z hlediska ochrany proti VoIP podvodům důležité:
- mezi dvojici SIP ústředen propojených SIP svazkem (mezi VoIP operátory, mezi operátorem a PBX nebo mezi dvěma PBX)
- mezi SIP ústřednou a jí obsluhovanými SIP telefony (jsou-li SIP telefony na ústřednu napojeny přes veřejný internet)
SIP svazek realizující propojení přes veřejný internet má být SIP firewallem chráněn na obou stranách.
Technický princip
Klasická SIP proxy funguje tak, že v přijatém SIP signálu pouze doplní nebo smaže položky Via, Record-Route či Route a přepošle ho bez dalších úprav dál. IP adresy cesty SIP signálu jsou tímto způsobem snadno zjistitelné. Oproti tomu SIP firewall (B2BUA zařízení) po příjmu SIP signálu nahradí IP adresu původce SIP signálu svou vlastní IP adresou. Totéž platí i v opačném směru a podobně i pro hovorové RTP pakety. Současně je vhodné potlačit typické znaky (fingerprints) chráněné SIP ústředny. Alespoň případné názvy VoIP technologie v položkách User-Agent a Server i v atributech "o" (původce relace) a "s" (jméno relace) uvnitř SDP (Session Description Protocol). SIP firewall (B2BUA zařízení) samozřejmě nesmí v žádném případě přeposílat vícenásobné položky Via ani Record-Route či Route. Obsahy těchto řádků musí konvertovat na triviální podobu obsahující pouze jeho vlastní IP adresu. V celém těle SIP signálu se tak smí vyskytovat jen IP adresa SIP firewallu a prvku nejblíže jeho příslušné straně. Tím dojde k ukrytí IP adres přidaných do SIP signálu jednotlivými SIP prvky na jeho cestě, resp. IP adres na opačné straně SIP firewallu (B2BUA zařízení). Nutno podotknout, že tím zároveň dojde k potlačení principů klasické původní podoby SIP signalizace. Ta je však využívána už jen zřídka.
private Session Border Controller public PBX (SIP B2BUA) VoIP | | | | | INVITE F1 | | | |------------------->| | | | 100 Trying F2 | | | |<-------------------| | INVITE F3 | Session Border Controller | | |------------------->| (SIP B2BUA) | | | 100 Trying F4 | +-----------------+ | | |<-------------------| | | | | | 180 Ringing F5 | SIP signals | +-----------+ | SIP signals | 180 Ringing F6 | |<-------------------| <------------|->| signaling |<-|------------> |<-------------------| | | private | +-----------+ | public | | | 200 OK F7 | PBX | | | VoIP | 200 OK F8 | |<-------------------| system | +-----------+ | system |<-------------------| | ACK F9 | <------------|->| media |<-|------------> | ACK F10 | |------------------->| RTP pakets | +-----------+ | RTP pakets |------------------->| | | | | | RTP Stream | | RTP Stream | +-----------------+ |<==================>| |<==================>| | BYE F11 | | | |------------------->| | BYE F12 | | 200 OK F13 | |------------------->| |<-------------------| | 200 OK F14 | | | |<-------------------| | | | |
Příklad SIP signálu 200 OK odeslaného z privátní PBX (IP adresa 180.66.160.5) do SIP firewallu (IP adresa 217.101.29.108) a přeposlaného do veřejné VoIP ústředny (IP adresa 77.5.190.110), kde zdroj SIP signálu očekává RTP pakety na chráněném UDP portu 10610 a SIP firewall je očekává na veřejném UDP portu 7530:
private --> Session Border Controller --> public PBX (SIP B2BUA) VoIP || SIP/2.0 200 OK || SIP/2.0 200 OK Via: SIP/2.0/UDP 180.66.160.5:5060;branch=z9hG4bK5eae145d;rport || Via: SIP/2.0/UDP 217.101.29.108:5060;branch=z9hG4bK5eae145d;rport From: "505686611" <sip:505686611@180.66.160.5>;tag=as71c9dffd || From: "505686611" <sip:505686611@217.101.29.108>;tag=as71c9dffd To: "505639883" <sip:505639883@217.101.29.108>;tag=a09c02a09c04 || To: "505639883" <sip:505639883@77.5.190.110>;tag=a09c02a09c04 Call-ID: dvScftN8-RK4eMsuT-S5nYiZBO-8GQMJK1l-94Hv8n3w-t2cV || Call-ID: b1a93daa-4d8f641a-0ce7e75a-800a048d CSeq: 102 INVITE || CSeq: 102 INVITE User-Agent: Asterisk PBX 1.8.13.1 || User-Agent: Hexan Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE || Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE Supported: replaces, timer || Supported: replaces, timer Contact: <sip:505686611@180.66.160.5:5060> || Contact: <sip:505686611@217.101.29.108:5060> Content-Type: application/sdp || Content-Type: application/sdp Content-Length: 232 || Content-Length: 217 || v=0 || v=0 o=root 1147220652 1147220652 IN IP4 180.66.160.5 || o=Hexan 1147220652 1147220652 IN IP4 217.101.29.108 s=Asterisk PBX 1.8.13.1 || s=Hexan c=IN IP4 180.66.160.5 || c=IN IP4 217.101.29.108 t=0 0 || t=0 0 m=audio 10610 RTP/AVP 8 101 || m=audio 7530 RTP/AVP 8 101 a=rtpmap:8 PCMA/8000 || a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 || a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 || a=fmtp:101 0-16 a=ptime:20 || a=ptime:20 a=sendrecv || a=sendrecv
Princip B2BUA zároveň brání tomu, aby některé SIP signály (ACK, BYE, ...) byly posílány napřímo mezi SIP telefony (nikoli tedy dle RFC3261, kap. 12.2 !!!). SIP firewall tak má zajištěnu kontrolu nad celým průběhem VoIP hovoru. Zejména nad skutečným zahájením i ukončením hovoru, což je nezbytné pro případné určení ceny hovoru. Návrh vlastností SIP firewallu je specifikován v RFC5853.
Druhy SIP firewallu
Podle účelu lze Session Border Controllery rozdělit na systémy:
- pro ochranu SIP svazku sloužících k napojení privátní tel. ústředny na VoIP operátora nebo ke vzájemnému propojení VoIP operátorů
- pro ochranu SIP telefonů napojených na privátní tel. ústřednu nebo na ústřednu veřejného VoIP operátora
- kombinované umožňující ochranu SIP svazků i SIP telefonů
Podle kapacity lze Session Border Controllery rozdělit na systémy:
- pro SOHO (Small Office/Home Office) segment s kapacitou desítek hovorů
- pro SMB (Small and Medium Business) či SME (Small and Medium Enterprise) segment s kapacitou stovek hovorů
- pro Enerprise segment s kapacitou tisíců hovorů, užívané typicky velkými telefonními operátora
- modulární či škálovatelné na kapacity různých segmentů
Podle funkčnosti lze Session Border Controllery rozdělit na systémy:
- triviální, fungující pouze jako základní B2BUA systém
- kombinované, např. SIP firewall s interním SIP antifraudem
- komplexní, zajišťující řadu mnoha dalších doplňkových VoIP funkcí
Doplňkové funkce
SIP firewall je optimální místo pro realizaci telefonních funkcí, které by zbytečně zatěžovaly nebo komplikovaly provoz chráněné SIP ústředny.
Ochrana proti DoS útokům
SIP firewall může sloužit k ochraně proti různým druhům DoS, DDoS nebo TDoS (Telephony Denial of Service) útoků. Ochranu proti datovým DoS i DDoS útokům by měl zajistit už datový firewall umístěný mezi SIP firewall a veřejným internetem nebo jiný systém specializovaný na tyto druhy ochrany. Na SIP firewall by logicky měla zbýt ochrana proti TDoS útokům. O rozpoznaném útoku má informovat svého provozovatele.
Kontrola správnosti signalizace
SIP firewall může kontrolovat skladbu SIP signálů (přítomnost povinných SIP položek i SDP atributů), obsah SIP signálů (úplnost i přípustnost hodnot) a správnou sekvenci SIP signálů (ACK po OK, OK po BYE, ...). Příjem chybných SIP signálů může být projevem TDoS (Telephony Denial of Service) útoku. Chybné či nelogické SIP signály se nemají dostat na vstup chráněné ústředny, protože by ji mohly uvádět do nedefinovaných stavů. O chybách signalizace má informovat svého provozovatele.
Zvýšení spolehlivosti signalizace
SIP firewall může dublovat SIP signály odesílané ze své privátní strany do veřejného internetu. V obráceném směru může SIP firewall naopak filtrovat opakující se SIP signály přicházející z veřejného internetu a do chráněné ústředny odesílat pouze jednu jejich kopii. Vícenásobné odesílání SIP signálů běžně používají některé SIP ústředny.
Vytváření CDR a LOG záznamů
SIP firewall může vytvářet vlastní CDR záznamy příchozích i odchozích volání. (Zkratka CDR znamená záznam o podrobnostech hovoru, z anglického Call Detail Record.) Tyto záznamy firewallu mohou buď sloužit k tarifikaci nebo ke kontrole či záloze CDR záznamů vytvářených chráněnou ústřednou. Dále má SIP firewall vytvářet LOG záznamy o přenosu SIP signalizace i stavech hovorů a usnadnit technikům analýzu problémů VoIP telefonie.
Kontrola telefonních podvodů
SIP firewall je ideální místo ke komplexní kontrole různých druhů VoIP podvodů. Buď může zajišťovat analýzu vytvářených CDR záznamů nebo analýzu přenášených SIP žádostí INVITE. V jednom HW zařízení mohou být společně provozovány SW typu SIP firewall i SIP antifraud a může průběžně detekovat i blokovat pokusy o telefonní podvody. Mimo jiné může SIP firewall vytvářet statistiku cílů zahraničních hovorů i statistiku zájmu o zahraniční hovory v závislosti na denní době a obojí lze následně využít při odhalování pokusů o VoIP podvody. O detekovaném pokusu o podvod má informovat svého provozovatele.
Kontrola kvality VoIP telefonie
SIP firewall může zjišťovat různé kvalitativní parametry VoIP telefonie, např. úspěšnost volání (poměr počtu hovorů ku počtu volání), vhodnost kapacity SIP svazku (míru obsazení svazku), ztrátovost hlasových RTP paketů (průměrnou a/nebo maximální), jitter hlasových RTP paketů (průměrný a/nebo maximální), odhad MOS (Mean opinion score) hovoru, statistiku důvodů odmítnutí hovorů, statistiku chyb v SIP signalizaci, statistiku chyb telefonujících (překročení časových limitů), ... apod. O snížení kvality provozu má informovat svého provozovatele.
Nahrávání telefonních hovorů
SIP firewall může zajišťovat nahrávání hovorů za zadané volající a/nebo volané telefonní číslo nebo i všech VoIP hovorů. Může tak realizovat povinnosti VoIP operátorů (na žádost policie nebo soudů), povinnosti makléřů (zákonná evidence pokynů) nebo interní potřeby podnikatelů (rozbor činností call centra).
Konverze kodeků a signálů
SIP firewall může sloužit k převodu hlasového kodeku použitého v RTP streamu (PCMA, PCMU, G.729, G.722, G.723, ADPCM, iLBC, GSM, ...) nebo k převodu délky RTP paketů. Samozřejmě v souladu s obsahem SDP částí přijatých i odeslaných SIP signálů INVITE, RINGING, SESSION PROGRESS a OK. Konverze kodeků je ale poněkud náročná na výkon. Podobně může SIP firewall sloužit ke konverzi metod přenosu DTMF značek (inband, telephone-event, SIP INFO) nebo ke konverzi metod faxování (inband, T.38, fax2mail) nebo ke konverzi metod signalizace přidržení hovoru (stavu HOLD).
Šifrování signalizace a hovorů
SIP firewall může dodatečně šifrovat a dešifrovat SIP signály (zabezpečením pomocí TLS nebo DTLS či IPsec protokolu, resp. převodem mezi SIP a SIP security). Podobně může SIP firewall dodatečně šifrovat a dešifrovat RTP pakety (převodem mezi RTP a SRTP nebo ZRTP protokolem). V obou případech musí být obě strany osazeny stejným či kompatibilním SIP firewallem. Případně musí být při šifrování a dešifrování kompatibilní se vzdálenou SIP ústřednou nebo SIP telefonem.
Přídavné hlasové funkce
SIP firewall může zajišťovat přehrání úvodní hlásky (představení a uvítání, informace o nahrávání hovoru, ...), přehrání vyčkávací hlásky (hudba místo vyzvánění, informace o čekání ve frontě, ...), přehrání speciální hlásky (informace o zrušení či změně tel. čísla, o nedostupnosti čí přesměrování účastníka, ...). SIP firewall také může poskytovat hlasové informace o stavu tel. spojení (hledání volaného, přesměrování hovoru, obsazení volaného, důvody odmítnutí hovoru, chybné číslo volaného, ...) a nahradit tak standardní telefonní tóny přívětivější i úplnější informací. SIP firewall rovněž může realizovat funkce menšího IVR automatu (pro obchodní dotazy stiskněte 1, pro technické dotazy stiskněte 2, pro jiné dotazy ...) a roztřídit tak volání na vhodná pracoviště.
Umístění SIP firewallu
- Stejně jako každá privátní LAN i veřejná část internetu musí být na jiné datové sítě napojena pomocí datového firewallu, tak stejně má být každá privátní i veřejná VoIP technologie na jiné telefonní sítě napojena prostřednictvím SIP firewallu.
- Stejně jako datové propojení musí být na obou stranách chráněno datovými firewally provozovatelů datových subsítí, tak i SIP svazek procházející přes veřejný internet má být na obou stranách kvalitně zabezpečen SIP firewally.
- Stejně jako provozovatel privátní LAN nemůže spoléhat na datový firewall svého poskytovatele internetu, tak ani provozovatel privátní PBX nemůže spoléhat na SIP firewall veřejného telefonního operátora. Totéž platí mezi VoIP operátory navzájem.
Reference
- ↑ a b c d HAVRILA, Patrik. Bezpečnost SIP PBX. dspace.cvut.cz [online]. Dostupné online.
- ↑ ŠIMOVIČ, Róbert. Kolokované nasazení Asterisk PBX a Kamailio SIP Proxy ve funkci SBC. dspace.vsb.cz [online]. Dostupné online.
- ↑ FIŠER, Ivo. VoIP podvody - hovory do zahraničí. indico.csnog.eu [online]. Dostupné online.
- ↑ VOZŇÁK, Miroslav. Bezpečnost VoIP telefonie. ip-telefon.cz [online]. Dostupné v archivu pořízeném z originálu dne 2019-01-17.
- ↑ VANĚK, Tomáš. Bezpečnost provozu VoIP. www.ip-telefon.cz [online]. Dostupné v archivu pořízeném z originálu dne 2019-01-26.
- ↑ NOVOTNÝ, František. Bezpečnost VoIP protokolů. www.vutbr.cz [online]. Dostupné online.
- ↑ KOVÁŘ, Ondřej. Testování odolnosti SIP PBX. dspace.cvut.cz [online]. Dostupné online.
- ↑ FIŠER, Ivo. Netypický, nebo snad typický útok na VoIP zařízení za neveřejnou IP ?. Root.cz [online]. 2020. Dostupné online.