Защищенная телефония
Если ваша телефонная сеть выходит за пределы доверенной локальной сети или задействует сторонние сети, либо Интернет, то всегда есть вероятность, что ваш телефонный разговор может быть перехвачен и прослушан, а логин и пароль от SIP клиента украден.
Для защиты от этого используют VPN (виртуальную частную сеть поверх публичной сети), либо реализуют защиту средствами самого Астериска. Для этого в нем имеется поддержка протоколов TLS и SRTP.
TLS (Transport Layer Security) обеспечивает шифрование сигнализации, т.е. шифрует ваш SIP трафик. Это необходимо для того, чтобы злоумышленники не смогли перехватить сигнализацию и не смогли бы подключится к вашей АТС, используя украденные логины и пароли.
SRTP (Secure RTP) обеспечивает шифрование медиа трафика (телефонного разговора).
Настройка TLS включает в себя создание сертификатов для шифрования. Рассмотрим процесс создания самоподписанного сертификата:
Создадим каталог, где будут хранится наши ключи:
mkdir /etc/asterisk/keys
Далее используем скрипт «ast_tls_cert» из каталога "contrib/scripts" с исходными кодами Asterisk, для создания самоподписанного центра сертификации (Certificate Authority) и сертификата самого Asterisk.
./ast_tls_cert -C pbx.pbxnow.ru -O "PBXnow" -d /etc/asterisk/keys
Опция -C используется для описания хоста с АТС (DNS или IP адрес)
Опция -O используется для определения имени вашей организации
Опция -d определяет директорию, где будут находится созданные ключи
.
После запуска скрипта, у вас попросят ввести пароль для ca.key, запомните или запишите его, он понадобится в дальнейшем.
-
Будет создан файл the /etc/asterisk/keys/ca.crt.
-
Скрипт попросит ввести пароль указанный ранее и создаст файл /etc/asterisk/keys/asterisk.key.
-
Автоматически будет сгенерирован /etc/asterisk/keys/asterisk.crt.
-
Потребуется ввести пароль еще раз, создастся файл /etc/asterisk/keys/asterisk.pem из файлов asterisk.key и asterisk.crt.
На этом создание необходимых файлов окончено. Можно переходить к редактированию файла sip.conf для включения опций TLS и SRTP.
Добавляем в sip.conf:
;------------------------ TLS settings ------------------------------------------------------------
tlsenable=yes
tlsbindaddr=0.0.0.0:5061
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscafile=/etc/asterisk/keys/ca.crt
tlscipher=ALL
tlsclientmethod=tlsv1
tlsdontverifyserver=yes
В конфигурации клиентов добавляем:
transport=tls
encryption=yes
На этом настройка окончена, перезапускаем Asterisk.
Переходим к настройке софтофона Zoiper для Android.
Выбираем Настройки - Учетные записи - Добавить учетную запись
Появится окно:
Account setup
Do you alredy have an account (username and password)?
Выбираем Да.
В следующем окне выбираем Manual configuration.
Выбираем SIP.
Имя учетной записи — sip логин
Сервер — IP-адрес или доменное имя Asterisk
Имя пользователя — sip логин
Пароль — sip пароль
Далее выбираем пункт Encryption Settings.
Включаем поддержку SRTP.
Появится окно:
TLS Transport type is required for SRTP encryption. Do you
want to set Transport type to TLS?
Выбираем Yes.
На следующий вопрос:
Enabling "Use RPORT for signalling" option is recommended for
TLS Transport Type. Do you want to enable "Use RPORT for
signalling" option?
Выбираем Yes.
Нажимаем Сохранить.
Возможно, Zoiper выдаст предупреждение, что данный сертификат не является доверенным, выбираем «Продолжить».
Если все настроено верно, то Zoiper успешно подключится к Asterisk с использованием TLS и можно будет совершить звонок.
Чтобы убедиться, что соединение идет с использованием шифрования, можно ввести в консоле Asterisk команду:
sip show channel идентификатор_канала
В полученном результате должны быть строчки:
Transport: TLS
Media: SRTP
Примечание: На момент написания статьи (19.10.2015) не удалось найти софтофон для iPhone, который поддерживает работу с сампоподписанными сертификатами (Zoiper не имеет поддержку SRTP для iOS).
Софтофон Linphone поддерживает TLS и SRTP, но работает только с доверенными удостоверяющими центрами. Поэтому если вам требуется софтофон с шифрованием в iOS, то можно использовать Linphone, с использованием сертификата подписанным доверенным УЦ.
Комментарии
Добавить комментарий