Подключение IP-телефонов Htek UC902 и Htek UC902P по протоколу ZRTP, через Asterisk.
Рассмотрим безопасный вариант подключения IP-телефонов и то какие сложности возникают в процессе. ZRTP — протокол шифрования для передачи голоса по IP-сетям, использует метод получения ключей по алгоритму Диффи — Хелмана. ZRTP + Asterisk что нам известно: ZRTP использует Secure RTP для шифрования данных ZRTP реализует короткую строку аутентификации (SAS), чтобы смягчить атаку Man in the […]
Рассмотрим безопасный вариант подключения IP-телефонов и то какие сложности возникают в процессе.
ZRTP — протокол шифрования для передачи голоса по IP-сетям, использует метод получения ключей по алгоритму Диффи — Хелмана.
ZRTP + Asterisk что нам известно:
- ZRTP использует Secure RTP для шифрования данных
- ZRTP реализует короткую строку аутентификации (SAS), чтобы смягчить атаку Man in the Middle / “человека по середине”.
- ZRTP инициируется вызывающим абонентом, и вызываемый абонент должен ответить на него
- Нам нужно выбирать между использованием TLS + SRTP или TLS + ZRTP , нельзя использовать оба в одном безопасном вызове.
- Asterisk не понимает ZRTP и не может позволить ZRTP проходить между участвующими учетными записями SIP, поэтому RTP (который фактически является пакетами ZRTP) между учетными записями SIP должен быть прямым одноранговым без вмешательства Asterisk
- Возможны трудности с девайсами за NAT
Обзор на каждый из IP-телефонов есть у нас на сайте. Отмечу что оба они начального уровня и поддерживают протоколы защиты на транспортном уровне TLS, SRTP, ZRTP. Аппараты находятся в одной локальной сети и имеют доступ к внешнему серверу на CentOS 7 с установленным Asterisk 13.
Приступим к настройке сервера и Asterisk.
На сервере отключаем SELINUX
# sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
# reboot
Проверить его работу можно командой:
# sestatus
Теперь нужно правильно сконфигурировать Asterisk для работы с TLS. На сайте подробная статья с установкой и настройкой Настройка TLS в Asterisk. Шифруем SIP и RTP.
Прямой одноранговый (peer-to-peer) RTP между учетными записями SIP в Asterisk требует соблюдения определенных условий. На каждой учетной записи SIP вы должны установить следующее:
- Отключите поддержку NAT, установив nat для no каждого peer
- Отключить SRTP, установив , encryption=no на каждый peer, и включить поддержку transport=tls
- Включите peer-to-peer media установив directmedia=yes для каждого из peer
- Установить directrtpsetup=yes на глобальном уровне
- Запретите и разрешите кодек одинаковым для всех peer SIP, например, установив disallow=all после allow=ulaw
Пример настроек sip.conf :
[general]
directrtpsetup=yes
tcpenable=yes
tlsenable=yes
tlsbindaddr=0.0.0.0:5070
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscafile=/etc/asterisk/keys/ca.crt
tlscipher=ALL
tlsdontverifyserver=no
disallow=all
allow=ulaw
context=default
[101]
host=dynamic
type=friend
context=from-internal
qualify=yes
nat=no
encryption=no
directmedia=yes
transport=tls
secret=2x2MEUoAJXUNJzPq
...
Перейдем к конфигурации extensions.conf
[from-internal]
exten = 101,1,Dial(SIP/101)
exten = 102,1,Dial(SIP/102)
exten = 103,1,Dial(SIP/103)
exten = 104,1,Dial(SIP/104)
same = n,Hangup
Можно использовать и шаблон типа: exten = _10X,1,Dial(SIP/${EXTEN}). правда у некоторых пользователей бывают проблемы и вызов может быть не шифрованным, советуем проверять.
Перезагружаем Asterisk:
# systemctl stop asterisk
# systemctl start asterisk
Выполним необходимые настройки на IP-телефонах.
Переходим в web-интерфейс по IP адресу телефону. Узнать его можно на аппарате:
Press Menu→ Status→Information.
Профиль-Основные
В поле основной SIP-сервер прописываем адрес сервера с портом TLS
192.168.32.63:5070
В транспорт SIP ставим точку на TLS.
Сохраняем.
Профиль-Основные-Расширенные
Разрешаем шифрование по ZRTP и
отключаем режим SRTP.
Необходимо установить прошивку с шифрованием её можно найти на офф. сайте производителя.
В web-интерфейсе Управление-Обновление- Обновление прошивки ПЗУ — Выбрать файл.
После обновления проверяем подключение аппарата к серверу на
домашней вкладке web-интерфейса.
Настройки IP- телефонов Htek
аналогичные.
Я так же подключил два софтфона Blink для тестирования Asterisk как описано здесь.
С единственным отличием:
Preferences — Accounts- Media — RTP Options — Encryption: ZRTP
Номера им задал 103 и 104. В Asterisk проверяю подключенные аппараты.
# asterisk -rvvv
> sip show peers
Пробный звонок с Blink (103) на Blink (104). Перед этим в астериск включим rtb debug чтобы убедиться в том, что звонок зашифрованный.
> rtp set debug on
Прилетел вызов подтверждаем валидацию Validate. Всё получилось звонок в Asterisk идёт по Channel SIP/103-00000021 joined ‘simple_bridge’ basic-bridge.
Вот теперь можно совершить звонок и по Htek.
Как мы выяснили официальной поддержки протокола ZRTP в Asterisk нет и это накладывает определённые трудности. Мы уже отмечали выше, что даже шаблон вызова в extensions.conf может приводить к потери потери подключения по протоколу. Также и опции контролирующих канал приводят к потери безопасного соединения. Но как мы уже показали возможно выполнять такие вызовы через Asterisk.
Получается не очень удобная
зашифрованная связь.
Остались вопросы?
Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.