среда, 5 февраля 2014 г.

Создание и установка бесплатного сертификата SSL для exim и dovecot

Если нужно создать и настроить бесплатный подписанный сертификат для почты exim и dovecot, то ниже описана инструкция.

Первым делом нужно зайти на сайт http://www.startssl.com и создать учетную запись:

После заполнения формы и продолжения будет отправлено письмо с паролем, который нужно будет ввести в следующем окне.

После ввода пароля будет меню по выбору размера ключа. Я выбираю 2048.
Появится окно об успешной установке сертификата в браузер. Именно этот сертификат и будет подтверждать кто есть пользователь. Потом жмем finish.

Дальше зайти в меню "Walidations wizard" и указать свой домен. Затем выбрать адрес электронной почты среди предоставленных, обычно postmaster/hostmaster/webmaster@$domain для получения письма подтверждения. Таким образом произойдет подтверждение домена.

Затем в меню "Certificates Wizard" выбираем в "Select Certificate Purpose" значение "Web Server SSL/TLS certificate".

Предварительно создаем пароль, которые удовлетворяет требованиям сайта. Сохраняем пароль -- он потом пригодится.

Сохраняем предложенный ключ в файле startssl/ssl-crypt.key и, используя сохраненный пароль получаем открытый ключ с помощью этой команды:

openssl rsa -in ssl-crypt.key -out ssl.key

Затем, кликая дальше мышкой получаем сертификат, который сохраняем в ssl.crt.

Загружаем http(s)://www.startssl.com/certs/ca.pem в startssl/ca.pem.
Загрузка с https доступна после авторизации по ссл-ключу.

В конфигурационном файле exim добавляем строки:

tls_certificate               = EXIM_DIR/startssl/ssl.crt
tls_privatekey                = EXIM_DIR/startssl/ssl.key
tls_advertise_hosts           = *
tls_verify_certificates       = EXIM_DIR/startssl/ca.pem
tls_on_connect_ports          = 465

А также нужно убедиться, что в daemon_smtp_ports есть 465 порт.
После перечитывания конфига exim на 465 порту начинает работать TLS.

В dovecot.conf пришлось добавить строки:

ssl_cert = </usr/local/etc/exim/startssl/ssl.crt
ssl_key = </usr/local/etc/exim/startssl/ssl.key

и перечитать конфиги. Все! smtp/imap/pop3 с шифрованием SSL и подписанным ключом настроены! Теперь пользователям не придется заморачиваться с самоподписанными сертификатами и объяснениями что нужно нажать пользователю, чтобы сертификат работал в почтовом клиенте.