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.