Информационные технологии
c 2007 года
 

Привязка сертификатов к почтовому и веб-серверу (letsencrypt)

23.11.2023
Будем считать, что сертификаты мы уже имеем, как получить сертификаты на примере Lets'encrypt мы рассматривали в этой статье.
У нас система Debian, на Ubuntu всё тоже самое, на других системах Linux пути могут незначительно различаться, но суть та же.

Первым делом пропишем сертификаты в dovecot, для этого откроем конфиг:

vi /etc/dovecot/dovecot.conf

Я привык работать с vi, кому-то удобнее nano или другие редакторы, это на ваше усмотрение.
В этом файле нам необходимо найти строки примерно такого содержания:

ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

В редакторе vi поиск делать очень просто, необходимо нажать клавишу "/" и ввести несколько букв поиска и нажать Enter.
Мы эти строки комментируем (ставим в начало строки значок "#", чтоб эти строки пропускались при чтении конфига) и добавляем новые строки уже с путём к нашим сертификатам:

ssl_cert = </etc/letsencrypt/live/mail.host.ru/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.host.ru/privkey.pem

Строку ssl_dh оставляем без изменения. Сохраняем файл.
Далее внесём корректировки для postfix, для этого откроем его конфиг:

vi /etc/postfix/main.cf

Здесь мы ищем строки примерно такого содержания:


smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CApath = /etc/ssl/certs

И заменяем их так:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.host.ru/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.host.ru/fullchain.pem

smtpd_tls_CAfile = /etc/letsencrypt/live/mail.host.ru/chain.pem
smtpd_tls_CApath = /etc/letsencrypt/live/mail.host.ru

Ну и сохраняем файл. Отлично, осталось ещё немного - поправить конфиг nginx.
Но в nginx используется немало ссылок из одного конфига на другие конфиги, поэтому тут можно настроить ssl 2мя путями - прописав его в конфиге папки /etc/nginx/sites-enabled/00-default-ssl.conf либо в темплейте. 
Я пропишу в темплейте, вы делайте, как считаете нужным.

Открываю файл темплейта:

vi /etc/nginx/templates/ssl.tmpl

И изменяю там последние строки с этого формата:

#ssl_certificate /etc/ssl/certs/iRedMail.crt;
#ssl_certificate_key /etc/ssl/private/iRedMail.key;

На этот:

ssl_certificate /etc/letsencrypt/live/mail.host.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.host.ru/privkey.pem;

Готово. Не забываем сохранять файл.
Теперь перезапускаем наши службы dovecot, postfix и nginx:

systemctl stop dovecot
systemctl start dovecot
systemctl stop postfix
systemctl start postfix
systemctl stop nginx
systemctl start nginx

Если всё корректно запустилось - супер.
Далее можем перейти в наш веб-сервер и порадоваться, что теперь наше соединение защищено и сертификат - верный:

806.JPG

Супер! Задача выполнена, можно попить чаёчку)
Всем удачи!

Возврат к списку


Текст сообщения*
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
 
X