Bezpečnost
Server
Používané komponenty
Backendová č ást UCS je naprogramována v jazyce Python3. Komunikace s frontend částí je striktně oddělena XML-RPC API rozhraním, které je dostupné prostřednictvím reverzní proxy NGINX. Pro spojování hovorů se využívá Asterisk, který komunikuje protokolem SIP (signalizace) a RTP (hlasové streamy).
Komponenta | Účel |
---|---|
asterisk | Zpracování hovorů, SIP signalizace, RTP streamy |
isc-dhcp-server | Poskytování adres IP telefonům |
nginx | Vstupní reverzní proxy pro komponenty UCS |
ntp | Synchronizace času |
openssl | Šifrování |
openvpn | VPN pro vzdálený přístup uživatelů a IP telefony |
postgresql | Databáze (konfigurace, hovory, statistiky, atd. |
python3-bleach | Sanitizace příchozích mailů do UCS |
python3-cryptography | Vnitřní certifikační autorita UCS |
python3-gnupg | Licencování |
python3-gssapi | SSO pro Microsoft Active Directory |
python3-ldap | SSO pro MSAD a vyhledávání kontaktů pro hovory |
python3-messaging | Zpracování SMS zpráv |
python3-mysqldb | Driver pro MySQL databázi |
python3-openpyxl | Vytváření XLSX reportů |
python3-pygresql | Driver pro PostgreSQL satabázi |
python3-pymssql | Driver pro MSSQL databázi |
python3-serial | Komunikace se SMS gateway |
python3-watchdog | Interní sledování log souborů |
sox | Mixování nahrávek a konverze do MP3 |
stuntman-server | STUN/ICE pro webové softphony |
tftpd-hpa | Poskytování konfigurace pro IP telefony |
SIP
Telefonní ústředna obsahuje Session Border Controller (SBC). Hovory z trunků (veřejné telefonní sítě) jsou ukončeny na úrovni SIP a do privátní sítě, ve které jsou umístěny IP telefony, je navázán nový SIP dialog. SIP zprávy z veřejných sítí jsou tedy ukončeny na PBX a nemohou se dostat na IP telefony. Vnitřní topologie není viditelná z venkovních sítí.
Bezpečnost trunku mezi ITSP a PBX je založena na základě omezení zdrojové a cílové IP adresy a/nebo SIP registrace a autentizace pomocí algoritmu SIP Digest authentication (RFC-2617).
Z veřejných telefonních sítí jsou povoleny pouze vyjmenované audio kodeky a na PBX dochází k ověření integrity RTP. Provádí se repaketizace, je zachován pouze hlasový payload.
Všechny IP telefony se k PBX registrují pomocí unikátního jména a hesla. Jména neobsahují číslo linky, hesla jsou silná, náhodně generovaná a uživatelé je neznají. Pro registraci i sestavení hovoru je vyžadováno ověření pomocí algoritmu SIP Digest authentication.