TLS. Kamailio. Asterisk. Настройка
Схема которую планировали реализовать:
Client1 —<TLS>— Kamailio —<UDP>— Asterisk —<UDP>— Kamailio —<TLS>— <Client2>
Что почитать перед тем как настраивать, это сразу несколько позиций, они обязательно вам пригодятся, ибо быстро сделать даже такую простую схему без понимания принципа не получится. А может и получится, но останутся дыры.
- Документация TLS модуля для Камалио 4.4 – прекрасно описывается как создать сертификат без получения и т.д.
- ssldump -Nn покажет обмен внутри протокола ssl кто кому какие сертификаты посылает
- howto kamailio and tls
Теперь непосредственно, то как работает TLS в двух словах.
- создать центра сертификации – CA
- подписать им сертификат для Камалио
- скопировать в подписанный сертификат приватный ключь, этот на всякий случай
- создать сертификат для sip-клиента
- скопировать приватный ключ в сертификат т.к. некоторые сип клиенты не имеют возможность для указания отдельно приватного ключа в настройках
- вынести конфигурацию tls в отдельный файл
- далее прописать в calist.pem сертификат CA. Это нужно чтобы камалио получив сертификат от клиента проверил его CA в своем списке и если СА в доверенных, то одобрить сертификат (при этом неважно откуда звонит клиент и какой домен (CN) указан в сертификате
- Повесить камалио на lts : listen:tls:ip_address:5061
- подключить к своему клиенту сертификат.
- клиент будет проверять сертификат поэтому, в виндоус нужно добавить в доверенные центры сертификации ваш сертификат CA, который вы создавали в самом начале.
- в сертификате Камалио обязательно должен быть указан CN соответствующий домену Камалио, либо его IP адресу если домена как такогово нет.
- В настройках камалио нужно оставить только verify_certificate = yes, require_certificate = no. Если поставить оба значения, то у меня ситуация выглядела так: Во время звонка при передаче ACK сообщения sip-клиент создавал новое соединение TLS и оно было отказывалось работать, потому, что не совпадали CN ожидаемые sip-клиентом и указанные в сертификате. Не стал разбираться дальше почему так происходит.
Настройка на данном этапе завершена, сертификат проверяется, т.е. использовать левый сертификат не получится.
| Posted in Без рубрики | No Comments »