IP PBX Elastix для начинающих.Часть 7

Sep 24, 2012 15:00


Для защиты телефонных переговоров от прослушивания  в  системах построенных на базе Asterisk , используется 2 протокола.
1)TLS (Transport Layer Security)  - криптографический протокол, обеспечивающий защищенную передачу данных между узлами в сети Интернет. Этот протокол используется для шифрования SIP сессий.
2) Secure Real-time Transport Protocol - Безопасный Протокол Передачи Данных реального времени (SRTP) определяет профиль RTP  и предназначен для шифрования ,установления подлинности сообщения,целостности,защиты от замены данных в  медиа-потоках.
Другими словами он необходим для шифрования непосредственно голоса.
Настроим шифрование на elastix.



1)Создаем сертификаты.
Заходим на Elastix по SSH.Создаем директорию для сертификатов и ключей при помощи команды
mkdir /etc/asterisk/keys
В Elastix сертификаты можно создавать при помощи скрипта  "ast_tls_cert"
Перейдем в директорию, где находится этот скрипт при помощи команды
cd /usr/share/doc/asterisk-1.8.11.0/contrib/scripts/
Запустим скрипт для формирования само-подписанного сертификата:
 ./ast_tls_cert -C ххх.ххх.ххх.ххх  -O "Company" -d /etc/asterisk/keys
-С - ip адрес сервера 
-О - название компании
-d - директория для файлов

В процессе формирования сертификата необходимо установить пароль для ca.key ,а затем подтвердить его:




Сформируем клиентский сертификат 
./ast_tls_cert -m client -c /etc/asterisk/keys/ca.crt -k  /etc/asterisk/keys/ca.key -C yyy.yyy.yyy.yyy -O "Company" -d /etc/asterisk/keys -o client
-C -ip адрес машины на которой установлен телефон

В процессе формирования сертификата будет запрошен пароль для ca.key:



В результате в директории keys появятся следующие файлы:
asterisk.crt
asterisk.csr
asterisk.key
asterisk.pem
ca.cfg
ca.crt
ca.key
client.crt
client.csr
client.key
client.pem




2)Настраиваем Elastix для работы с TLS и SRTP.

Отредактируем файл sip_general_custom.conf, для этого запустим файловый менеджер Midnight Commander с помощью команды mc , перейдем в директорию /etc/asterisk , выберем нужный файл и нажмем "F4"(редактировать):




Добавим несколько строк в этот файл

tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscafile=/etc/asterisk/keys/ca.crt
tlscipher=ALL
tlsclientmethod=tlsv1



Сохраним изменения, нажав "F2"

Внесем изменения в файл sip_custom_post.conf , прописав для номера 8010 :

[8010](+)
transport = tls
encryption=yes




Сохраним изменения, нажав "F2"

Переходим в директорию keys
 cd /etc/asterisk/keys
выполняем команду
chmod  777 *

3)Установим на клиентскую машину сертификаты.Для этого заходим через WEBMIN на Elastix https://ip_adress:10000
и скачиваем 2 файла ca.crt и client.crt

Others->Upload and Download->download from server



Устанавливаем оба сертификата на клиентскую машину с помощью стандартного  менеджера сертификатов.Для этого достаточно кликнуть по сертификату и на все вопросы ответить "да"







4)Подключаемся к Elastix по SSH.Подключаемся к Asterisk:
asterisk -vvvvvvvvvvvvvvvvvvr
В консоли Asterisk выполняем команду

IpPBX*CLI> reload
а затем
SIP SHOW PEER 8010


5)Настраиваем программный телефон

Настраивать будем программный телефон eyeBeam 1.5




Во вкладке "Account" пропишем имя , логин , пароль , ip адрес сервера




Во вкладке "Security" прописываем транспорт TLS + только шифрованный медиа-поток.



SIP SHOW PEER 8010




Наберем на телефоне тестовый номер 1234.Вызов зашифрован:




tls, srtp, шифрование телефонных переговоров

Previous post Next post
Up