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.