Перейти к основному содержанию
 

hMailServer — установка SSL сертификата Let's Encrypt

hmailserver

Установим SSL сертификаты на почтовый сервер hMailServer. Используем порты для SSL/TLS:

  • SMTP 587
  • IMAP 993
  • POP3 995

Сами сертификаты будем брать бесплатные — Let's Encrypt.

Ссылки

IIS — SSL сертификат Let's Encrypt

hMailServer — большой обзор

Получение сертификатов

web-сайт

Заводим на IIS сайт c адресом почтового сервера. Естественно, делаем всё это на сервере, где крутится hMailServer. Создаём там любую страничку index.html для проверки работы сайта.

ssl

Проверяем, что сайт работает.

ssl

Сайт работает.

Папка

Создаём папку для хранения сертификатов. Я создаю C:\mail\ssl.

ssl

Скрипт для перезапуска hMailServer

Сертификат Let's Encrypt действует 90 дней. В планировщике добавится ежедневное правило для обновления сертификатов. Когда сертификат для hMailServer обновится через 90 дней, то hMailServer нужно перезагрузить, напишем для этого простой скрипт. Создадим в папке C:\mail\ssl файл restart_hmailserver.bat с содержимым.

@ECHO OFF
NET STOP hmailserver
NET START hmailserver

Выпуск сертификатов

Читаем статью IIS — SSL сертификат Let's Encrypt и генерируем для нашего сайты SSL сертификаты Let's Encrypt.

Запускаем wacs.exe под администратором.

ssl

Нам нужен пункт "Create new certificate" with advanced option". Пишем "m".

ssl

Выбираем "SAN certificate for all bindings of an IIS site". Пишем "2".

ssl

Находим в списке домен своего почтового сервера, пишем его номер, у меня "7".

ssl

Выбираем список доменных имён для исключения. Или ввод, если исключений нет. Я нажимаю Enter.

ssl

Я нажимаю Enter.

ssl

Выбираем способ подтверждения владения доменом. Для IIS это "4".

ssl

Тип CSR. Пишем "2".

ssl

Вот теперь важный пункт, где храним сертификаты. Выбираем "3", чтобы записать их в папку.

Нас спросят, в какую папку записывать сертификаты, указываем C:\mail\ssl.

ssl

Теперь спрашивают, нужно ли выполнить скрипт после записи сертификатов. Пишем "2", конечно нужно перезапустить hMailServer!

ssl

Просят указать путь к скрипту. Пишем C:\mail\ssl\restart_hmailserver.bat.

ssl

Enter.

ssl

Здесь у меня уже был ранее создана задача перевыпуска этого сертификата, пишу "y".

ssl

И так, создаётся задача на обновление сертификата.

Происходит процедура проверки владения доменом — успех.

Экспортируются файлы сертификата в C:\mail\ssl.

Выполняется скрипт C:\mail\ssl\restart_hmailserver.bat, это нам пока не нужно, понадобится при выпуске следующих сертификатов.

Проверяем, что файлы созданы:

ssl

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

В админке hMailServer в Settings > Advanced > SSL certificates добавляем сертификат.

ssl

Certificate file — указываем путь к *-chain.PEM файлу.

Private key file — указываем путь к *.key.PEM файлу.

Сохраняем "Save".

В админке hMailServer в Settings > Advanced > TCP/IP ports добавляем 587 SMTP порт.

  • Протокол: SMTP
  • TCP/IP adress: 0.0.0.0
  • TCP/IP port: 587
  • Connection security: SSL/TLS
  • SSL Certificate: из выпадающего списка выбираем добавленный ранее сертификат.

ssl

В админке hMailServer в Settings > Advanced > TCP/IP ports добавляем 993 IMAP порт.

  • Протокол: IMAP
  • TCP/IP adress: 0.0.0.0
  • TCP/IP port: 993
  • Connection security: SSL/TLS
  • SSL Certificate: из выпадающего списка выбираем добавленный ранее сертификат.

ssl

В админке hMailServer в Settings > Advanced > TCP/IP ports добавляем 995 POP3 порт.

  • Протокол: POP3
  • TCP/IP adress: 0.0.0.0
  • TCP/IP port: 995
  • Connection security: SSL/TLS
  • SSL Certificate: из выпадающего списка выбираем добавленный ранее сертификат.

ssl

Перезапускаем hMailServer.

На этом настройка SSL для hMailServer завершена.

Проверка

Создадим тестовый ящик. Я создаю test@internet-lab.ru с каким-нибудь паролем.

Проверяем на gmail

Проверяем на gmail как работает SSL на 995 порту POP3.

В настройках gmail в разделе "Аккакунты и импорт" можно закачивать письма из других ящиков. Добавляем почтовый аккаунт test@internet-lab.ru.

ssl

Далее.

ssl

Импортировать письма из другого аккаунта (POP3). Далее.

ssl

Указываем имя пользователя test@internet-lab.ru, пароль, адрес почтового сервера, порт 995, ставим галку SSL. Добавить аккаунт.

ssl

Почтовый аккаунт добавлен. Готово.

Напишем на тестовый ящик письмо и проверим почту.

ssl

Поступило одно письмо. 995 POP3 через SSL работает.

Проверяем в Outlook

Проверяем в Outlook как работает SSL на 995 порту IMAP и на 578 порту SMTP. Создаём новую учётную запись в Outlook.

ssl

Выбираем "Ручная настройка или дополнительные типы серверов". Далее.

ssl

Выбираем "Протокол POP или IMAP". Далее.

ssl

Имя пользователя - любое, адрес электронной почты test@internet-lab.ru. Тип учётной записи IMAP.

Указываем сервер входящей и исходящей почты, для которого получали SSL сертификат. Указываем пользователя test@internet-lab.ru и пароль, галку "Запомнить пароль". Нажимаем "Другие настройки".

Вкладка "Сервер исходящей почты":

ssl

Указываем, что серверу исходящей почты тоже требуется авторизация.

Вкладка "Дополнительно":

ssl

IMAP-сервер, пишем порт 993, тип шифрования SSL.

SMTP-сервер, пишем порт 587, тип шифрования SSL.

Ok. Далее.

ssl

Проверки прошли успешно.

Заключение

Мы с вами успешно настроили и протестировали настройку SSL сертификатов от Let's Encrypt для почтового сервера hMailServer с помощью IIS. Более того, сертификаты будут автоматически обновляться и перезапускать hMailServer после обновления.

Если вы используете платные SSL сертификаты, то настройка SSL происходит таким же образом, просто пропускаете все шаги для Let's Encrypt, сохраняете свои сертификаты в любую папку у настраиваете их в админке hMailServer.