Настройка SSL в FreePBX

Дмитрий Аверин
27 июля 2020
access_time3 минуты
remove_red_eye4073
Компания «Ланкрафт»
Компания «Ланкрафт»

FreePBX содержит системный модуль Certificate Management, с помощью которого можно управлять сертификатами SSL. Перед началом работы с ним разберемся, зачем нам необходим сертификат в Asterisk. 

FreePBX и SSL

Наличие сертификата SSL обеспечивает находящемуся в эксплуатации FreePBX цифровую подпись. Она, в свою очередь, служит для создания защищенного сеанса между веб-сервером и клиентом. В SSL-сертификате содержатся сведения об открытом ключе и о том, кто им владеет. Предоставляет его Certificate Authority (Центр сертификации). Помимо шифрования данных между веб-клиентом и сервером, сертификат также позволяет шифровать трафик сигнализации (SIP / TLS) и медиа (SRTP).

Генерация CSR

Итак, попробуем получить сертификат. Для этого нам необходимо сгенерировать CSR-файл (Certificate Signing Request), который будет запрашиваться сертификационным Центром. Без него заявка на получение сертификата даже не рассматривается. Файл включает обязательные сведения о компании (название и так далее), доменное имя целиком, код государства и иные данные.

Выполним необходимые настройки. Заходим Admin → Certificate Management. Появляется окно модуля, где нам требуется нажать +GenerateCSR. Следуем дальше. Мы видим окно генерации CSR, содержащее различные параметры. Рассмотрим подробно все поля.

  • Name. После генерации CSR ему присваивается название, которое и указывается в данном поле.
  • Common Name (Host Name). Имя (DNS Name) узла целиком.
  • Organization Name. Указывается название компании.
  • Organization Unit. Название структурного подразделения, на которое оформляется сертификат.
  • Country. Двухбуквенный код государства. Для РФ используется RU.
  • State/Province. Область пребывания. В нашей ситуации поле не содержит данных.
  • City Or Locality. Служит для указания города (например, Moscow).

После задания необходимых параметров жмем Generate CSR. Произойдет генерация файла CSR, который можно будет скачать, зайдя в основной интерфейс. Чтобы его загрузить, жмем Download CSR. Сгенерированный файл являет собой ключ, обрамленный тегами Begin и End.

Дальше мы подготавливаем заявку для отправки в Центр сертификации. Прилагаем к ней CSR-файл, направляем запрос и ждем, когда нам предоставят сертификат SSL.

Как загрузить сертификат

Certification Authority обрабатывает нашу заявку и, если все нормально, выполняет ее. Мы получаем сертификат, который требуется перенести на сервер. Для этого жмем New Certificate, после чего выбираем Upload Certificate.

Заполняем поля.

  • Name. Определяем имя.
  • Description. Сюда заносим пояснительные сведения. Они актуальны исключительно в пределах модуля, не оказывают никакого влияния на процедуру импорта сертификата.
  • Passphrase. Пароль, необходимый, чтобы обеспечить доступ к сертификату, а также его генерации на клиентской стороне. 
  • CSR Reference. Здесь следует выбрать CSR File, который был сгенерирован раньше.
  • Certificate. Для заполнения этого поля необходимо открыть сертификационный файл, предоставленный Certification Authority и скопировать его содержимое, кроме открывающего и закрывающего тегов.
  • Trusted Chain. Иногда CA предоставляет не только непосредственно сертификат, но и разного рода дополнительные файлы. Их назвали Trusted Chain. Следует поочередно открыть эти файлы и скопировать их содержимое.

После редактирования параметров кликаем по надписи Generate Certificate. Наш сертификат должен отобразиться в общем перечне. К слову, в процессе использования его можно редактировать.

Как бесплатно получить сертификат Let's Encrypt

Мы можем бесплатно получить сертификат SSL, прибегнув к помощи центра сертификации Let's Encrypt. Для этого не потребуется настраивать какие-либо сторонние модули. Все необходимое для выполнения этой процедуры уже содержит интерфейс FreePBX. Для успешной генерации сертификата сервер должен иметь имя, прописанное DNS и разрешаемое в его публичный IP-адрес. Этих сведений вам вполне будет достаточно для получения и использования SSL-сертификата.