Задача: Проработать подключение Microsoft Office 2016 Outlook к почтовому серверу на базе iRedMail домена @ekzorchik.ru

Сегодня я покажу, как обычная задача по настройке почты через почтовый клиент Microsoft Office 2016 (SW_DVD5_Office_Professional_Plus_2016_64Bit_Russian_MLF_X20-42453.iso) на Windows 10 Pro (SW_DVD9_Win_Pro_10_1903.1_64BIT_Russian_Pro_Ent_EDU_N_MLF_X22-14082.iso) на почтовый домен @ekzorchik.ru (на базе связки Ubuntu 22.04 Server + Wireguard Server on VPS <-> Ubuntu 22.04 Server + Wireguard Client on VLAN за домашним Mikrotik RB2011UiAS-2HnD v6.47.4) привела к неожиданным последствиям. Просто до этого я как-то не сталкивался с этим: Через Web-интерфейс к почтовому ящику получают доступ, письма принимаются/отправляются, на Android почтовый ящик подключается и также принимается/отправляется почта. Т.е. как бы и проблем нет.

Моя схема ("Переводим Yandex-почта для домена @ekzorchik.ru на iRedMail") работы почтового сервера, я ушел от публичных почтовых серверов в пользу своего.

Моя схема работы почтового сервера @ekzorchik.ru

Для напоминания, настройки подключения к почтовому серверу @ekzorchik.ru

mail.ekzorchik.ru

  • 993/tcp
  • SSL/TLS (принимать все сертификаты)

mail.ekzorchik.ru

  • 465/tcp
  • SSL/TLS (принимать все сертификаты)

Но есть, но.

Шаг №1: Запускаю почтовый клиент Microsoft Office 2016 Pro на Windows 10 Pro и настраиваю подключение для ящика support@ekzorchik.ru

Добро пожаловать в Microsoft Outlook 2016: и нажимаю "Далее"

  • Настроить Outlook для подключения к учетной записи электронной почты? Да

и нажимаю "Далее"

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

и нажимаю "Далее"

  • Выбор службы: выбираю "Протокол POP или IMAP"

и нажимаю "Далее"

указываем данные на подключение по IMAP

  • Введите имя: support
  • Адрес электронной почты: support@ekzorchik.ru
  • Тип учетной записи: IMAP
  • Сервер входящей почты: mail.ekzorchik.ru
  • Сервер исходящей почты (SMTP): mail.ekzorchik.ru
  • Пользователь: support@ekzorchik.ru
  • Пароль: password
  • Запомнить пароль: отмечаю галочкой

Параметры учетных записей IMAP

после нажимаем "Другие настройки…", попадаем на вкладку "Общие"

  • Учетная запись почты: support@ekzorchik.ru

Вкладка "Общие"

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

  • SMTP-серверу требуется проверка подлинности: отмечаем
  • Аналогично серверу для входящей почты: отмечаем

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

Переходим на вкладку "Дополнительно"

(Номера портов сервера)

  • IMAP-сервер: 993
  • Использовать следующий тип шифрованного подключения: SSL
  • SMTP-сервер: 465
  • Использовать следующий тип шифрованного подключения: SSL

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

Нажимаем "ОК" находясь во вкладке "Дополнительно" перекидывает на окно "Добавить учетную запись", нажимаем "Далее", получаем предупреждение безопасности Интернета

Предупреждение безопасности Интернета

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

Главное конечное имя неверно

Продолжить использовать этот сервер?

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

если нажать "Показать сертификат", то увижу сообщение о внутреннем сертификате почтового сервера

если нажать "Показать сертификат", то увижу сообщение о внутреннем сертификате почтового сервера

игнорируем данный сертификат и нажимаем ОК

Снова на окне предупреждения

игнорируем данный сертификат и нажимаем ОК Снова на окне предупреждения

нажимаем "Да"

Настройка почтового ящика завершена

Отлично почтовый клиент Microsoft Outlook 2016 на мой домен @ekzorchik.ru настроен успешно.

Шаг №2: Проверяю, что, запустив почтовый клиент Microsoft Outlook 2016 могу принимать и отправлять почту:

но не все так просто, у меня появляется окно 2 раза, я так понял на подключение к IMAP и на подключение к SMTP

Когда запускаем клиент Outlook снова предупреждение о сертификате, как для IMAP так и для SMTP

Получается что для IMAP и SMTP нужно поправить использование сертификата не внутреннего mail2.polygon.local, а изменить на внешний от Let's Encrypt.

Шаг №3: Если же не удается почтовым клиентом авторизоваться возможно я сам себя заблокировал (у меня настроен Fail2Ban для блокировки кто подключается к ящикам путем перебора связки авторизации):

ekzorchik@mail2:~$ sudo fail2ban-client status
Status
|- Number of jail:      4
`- Jail list:   dovecot, postfix, roundcube, ssh-firewalld
ekzorchik@mail2:~$ sudo fail2ban-client status postfix
Status for the jail: postfix
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     3
|  `- File list:        /var/log/maillog
`- Actions
   |- Currently banned: 1
   |- Total banned:     1
   `- Banned IP list:   176.195.136.227
ekzorchik@mail2:~$

да так оно и есть, проверяю какой WAN-IP у меня сейчас через сайт 2ip.ru or myip.ru и если он совпадает с заблокируемым, то выношу его из заблокированного:

ekzorchik@mail2:~$ sudo fail2ban-client set postfix unbanip 176.195.136.227
1
ekzorchik@mail:~$ sudo fail2ban-client status postfix
Status for the jail: postfix
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     3
|  `- File list:        /var/log/maillog
`- Actions
   |- Currently banned: 0
   |- Total banned:     1
   `- Banned IP list:
ekzorchik@mail2:~$

Шаг №4: Смотрю какие сертификаты выпущены для внешнего доменного имени mail.ekzorchik.ru:

ekzorchik@mail2:~$ sudo certbot certificates
[sudo] password for ekzorchik:
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: mail.ekzorchik.ru
    Serial Number: 3bf53cf268a0f9c461ef68e156b072c4576
    Key Type: RSA
    Domains: mail.ekzorchik.ru
    Expiry Date: 2024-02-27 20:03:17+00:00 (VALID: 69 days)
    Certificate Path: /etc/letsencrypt/live/mail.ekzorchik.ru/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/mail.ekzorchik.ru/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ekzorchik@mail2:~$

Шаг №5: По пути cat ~/iRedMail-1.6.4/iRedMail.tips узнаю пути которые используются для внутреннего имени почтового сервера по части SSL сертификатов:

SSL cert keys (size: 4096):
    - /etc/ssl/certs/iRedMail.crt
    - /etc/ssl/private/iRedMail.key

Шаг №6: Смотрим настройки dovecot.conf по части использования сертификатов:

ekzorchik@mail2:~$ sudo bash -c "cat /etc/dovecot/dovecot.conf | grep ssl"
ssl_min_protocol = TLSv1.2
ssl = required
verbose_ssl = no
#ssl_ca = </path/to/ca
ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key
ssl_dh = </etc/ssl/dh2048_param.pem
ssl_cipher_list = EECDH+CHACHA20:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH
ssl_prefer_server_ciphers = yes
# With disable_plaintext_auth=yes AND ssl=required, STARTTLS is mandatory.
# Set disable_plaintext_auth=no AND ssl=yes to allow plain password transmitted
    #    ssl = yes
    #    ssl = yes
ekzorchik@mail2:~$

так мне нужно заменить ssl_cert & ssl_key с внутреннего сертификата mail2.polygon.local на внешний, т.е. mail.ekzorchik.ru

Шаг №7: Делаем бекап iRedMail.crt & iRedMail.key внутреннего сервера mail2.polygon.local

ekzorchik@mail2:~$ sudo mv /etc/ssl/certs/iRedMail.crt{,.bak}
ekzorchik@mail2:~$ sudo mv /etc/ssl/private/iRedMail.key{,.bak}

Шаг №8: Заменяем ssl_cert & ssl_key с внутреннего сертификата mail2.polygon.local на внешний, т.е. mail.ekzorchik.ru

ekzorchik@mail2:~$ sudo cp /etc/letsencrypt/live/mail.ekzorchik.ru/fullchain.pem /etc/ssl/certs/iRedMail.crt
ekzorchik@mail2:~$ sudo cp /etc/letsencrypt/live/mail.ekzorchik.ru/privkey.pem /etc/ssl/private/iRedMail.key
ekzorchik@mail2:~$ sudo systemctl restart dovecot.service && sudo systemctl status dovecot.service
● dovecot.service - Dovecot IMAP/POP3 email server
     Loaded: loaded (/lib/systemd/system/dovecot.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-12-20 09:31:24 MSK; 19ms ago
       Docs: man:dovecot(1)
             https://doc.dovecot.org/
   Main PID: 287163 (dovecot)
     Status: "v2.3.16 (7e2e900c1a) running"
      Tasks: 11 (limit: 4558)
     Memory: 6.2M
        CPU: 56ms
     CGroup: /system.slice/dovecot.service
             ├─287163 /usr/sbin/dovecot -F
             ├─287165 dovecot/lmtp -L
             ├─287166 dovecot/anvil
             ├─287167 /usr/sbin/dovecot -F
             ├─287168 /usr/sbin/dovecot -F
             ├─287169 /usr/sbin/dovecot -F
             ├─287170 /usr/sbin/dovecot -F
             ├─287171 dovecot/lmtp -L
             ├─287173 dovecot/config
             ├─287174 dovecot/stats
             └─287178 /usr/bin/doveconf -c /etc/dovecot/dovecot.conf -m managesieve -m ssl -e /usr/lib/dovecot/managesieve -k -c /etc/dovecot/dovecot.conf

Dec 20 09:31:24 mail2.polygon.local systemd[1]: Starting Dovecot IMAP/POP3 email server...
Dec 20 09:31:24 mail2.polygon.local dovecot[287163]: master: Dovecot v2.3.16 (7e2e900c1a) starting up for pop3, imap, sieve, lmtp (core dumps disabled)
Dec 20 09:31:24 mail2.polygon.local systemd[1]: Started Dovecot IMAP/POP3 email server.
ekzorchik@mail2:~$

Шаг №9: Проверяю почтовым клиентом Microsoft Outlook 2016 что при очередном запуске уже больше не будет появляться окно на тему, что используется сертификат безопасности, который не может быть проверен.

окна не появляется, ящик (support@ekzorchik.ru) успешно подключается к mail.ekzorchik.ru

почта отправляется/принимается.

Шаг №10: Теперь, когда подойдет срок обновлять бесплатный сертификат от Let's Encrypt нужно не забыть выполнить копирование файлов сертификата в каталоги, как указано в шаге выше.

Это хорошо, что я с этим столкнулся, решив составить себе пошаговую заметки и получив отворот поворот, тем самым еще глубже понял, как работает мой почтовый сервер и что для одних почтовых клиентов того что было достаточно, а для некоторых нужно чуть более.

Итого заметка работоспособна, на этом пока все, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik