Asterisk tls srtp c подписанными сертификатами (заметки)
Объединяем файл ключа и сертификат, плюс сертификаты центров сертификации.
cat asterisk.key > asterisk.pem
cat asterisk.crt >> asterisk.pem
cat 3_issuer.crt >> asterisk.pem
cat 2_cross.crt >> asterisk.pem
cat 1_root.crt >> asterisk.pem
3. Настройка Asterisk.
Об этом есть масса статей, включая родное WIKI, Множество форумов. Почти везде я встречала так же генерацию сертификатов для клиентов, но мне она не понабилась. Во первых в мобильных приложениях нет возможности выбрать клиентский сертификат, а десктопные вполне хорошо себя чувствуют при ассиметричном алгоритме криптографии.
Кратко о настройках – вносим следующие изменения в SIP.conf или если у вас ELASTIX SIP_GENERAL_CUSTOM.conf
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscapath=/etc/pki/tls/cert
tlsclientmethod=tlsv1
tlscipher=ALL
Перезапускаем Asterisk и не забываем включать для нужных клиентов транспорт TLS и поддержку шифрования SRTP
Freepbx и ssl
Наличие сертификата SSL обеспечивает находящемуся в эксплуатации FreePBX цифровую подпись. Она, в свою очередь, служит для создания защищенного сеанса между веб-сервером и клиентом. В SSL-сертификате содержатся сведения об открытом ключе и о том, кто им владеет.
Pjsip
Скрипт создание сертификатов находится в пакете установки к примеру:
# cd asterisk-16.16.0/contrib/scriptsСоздание директории для сертификатов:
# mkdir /etc/asterisk/keysСоздание само-подписанных сертификатов и ключей шифрования:
Генерация csr
Итак, попробуем получить сертификат. Для этого нам необходимо сгенерировать CSR-файл (Certificate Signing Request), который будет запрашиваться сертификационным Центром. Без него заявка на получение сертификата даже не рассматривается. Файл включает обязательные сведения о компании (название и так далее), доменное имя целиком, код государства и иные данные.
Двухнедельный онлайн курс по asterisk от мерион нетворкс
3.2Пошаговая настройка FreePBX, включая: подключение к FreePBX, активация FreePBX, проверка активации FreePBX, настройка сетевых настроек Asterisk, настройка DNS сервера, настройка временной зоны сервера, перезагрузка сервера из FreePBX (графической консоли), контроль пространства жесткого диска сервера Asterisk, управление Fail2Ban в FreePBX, настройка общих SIP параметров АТС, настройка кодеков АТС, настройка параметров NAT, создание внутренних номеров, настройка параметров внутренних номеров, регистрация софтфона на внутренний номер по SIP, проверка статуса регистрации софтфона, настройка SIP – транка (подключения к провайдеру), проверка статуса регистрации SIP – транка, настройка исходящей маршрутизации, создание звукового файла для IVR, создание IVR (интерактивного голосового меню), настройка входящей маршрутизации, финальное тестирование системы
Как бесплатно получить сертификат let’s encrypt
Мы можем бесплатно получить сертификат SSL, прибегнув к помощи центра сертификации
Let’s Encrypt. Для этого не потребуется настраивать какие-либо сторонние модули. Все необходимое для выполнения этой процедуры уже содержит интерфейс FreePBX.
Как загрузить сертификат
Заполняем поля.
Name. Определяем имя.Description.Сюда заносим пояснительные сведения. Они актуальны исключительно в пределах модуля, не оказывают никакого влияния на процедуру импорта сертификата.Passphrase. Пароль, необходимый, чтобы обеспечить доступ к сертификату, а также его генерации на клиентской стороне.CSR Reference. Здесь следует выбрать CSR File, который был сгенерирован раньше.Certificate. Для заполнения этого поля необходимо открыть сертификационный файл, предоставленный Certification Authority и скопировать его содержимое, кроме открывающего и закрывающего тегов.Trusted Chain. Иногда CA предоставляет не только непосредственно сертификат, но и разного рода дополнительные файлы. Их назвали Trusted Chain. Следует поочередно открыть эти файлы и скопировать их содержимое.
После редактирования параметров кликаем по надписи Generate Certificate. Наш сертификат должен отобразиться в общем перечне. К слову, в процессе использования его можно редактировать.
Файлы с конфигурацией
extensions.conf
[general]
static = yes
writeprotect = no
autofallthrough = yes
clearglobalvars = yes
priorityjumping = no
extenpatternmatchnew = no
[from-internal]
exten => _2XX,1,NoOp(from-internal)
same => n,Dial(SIP/${EXTEN}, 60)
same => n,Hangup()
exten => _[78]9XXXXXXXXX,1,NoOp(from-internal)
same => n,Dial(SIP/trunk-9123456789/${EXTEN}, 90,tT)
same => n,Hangup()
[from-external-9123456789]
exten => _.,1,NoOp(from-external-9123456789)
same => n,Dial(SIP/200, 60)
same => n,Hangup()sip.conf
