Session Border Controller

Z Wikipedie, otevřené encyklopedie
(přesměrováno z SBC systém)
Skočit na navigaci Skočit na vyhledávání

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]. 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 a Hixtel.

Základní vlastnosti[editovat | editovat zdroj]

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.

SIP ústředna a telefony NEchráněné SIP firewallem (zařízením Session Border Controller)[1]

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í.

SIP ústředna a telefony chráněné zařízením SIP firewallem (zařízením Session Border Controler)[1]

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[editovat | editovat zdroj]

Klasická SIP proxy funguje tak, že v přijatém SIP signálu pouze doplní nebo smaže položky Route či Record-Route a přepošle ho bez dalších úprav dál. Všechny IP adresy původců SIP signálu tak zůstanou zachovány. Oproti tomu SIP firewall (B2BUA zařízení) po příjmu SIP signálu nahradí IP adresy původců přijatého SIP signálu svou vlastní IP adresou. Zároveň jako cílové IP dosadí adresy za ním ukryté chráněné SIP-PBX. 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).

 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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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ů[editovat | editovat zdroj]

SIP firewall může vytvářet vlastní CDR (Call Detail Record) záznamy za příchozích i odchozích volání. Ty 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ů[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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ů[editovat | editovat zdroj]

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ů[editovat | editovat zdroj]

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ů[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

  • 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.

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

  1. a b c d HAVRILA, Patrik. Bezpečnost SIP PBX. dspace.cvut.cz [online]. Dostupné online. 
  2. ŠIMOVIČ, Róbert. Kolokované nasazení Asterisk PBX a Kamailio SIP Proxy ve funkci SBC. dspace.vsb.cz [online]. Dostupné online. 
  3. FIŠER, Ivo. VoIP podvody - hovory do zahraničí. indico.csnog.eu [online]. Dostupné online. 
  4. VOZŇÁK, Miroslav. Bezpečnost VoIP telefonie. ip-telefon.cz [online]. Dostupné online. 
  5. VANĚK, Tomáš. Bezpečnost provozu VoIP. www.ip-telefon.cz [online]. Dostupné online. 
  6. NOVOTNÝ, František. Bezpečnost VoIP protokolů. www.vutbr.cz [online]. Dostupné online. 
  7. KOVÁŘ, Ondřej. Testování odolnosti SIP PBX. dspace.cvut.cz [online]. Dostupné online.