Рейтинг:1

IMAP и SMTP по-прежнему используют самоподписанный SSL, даже если я выпустил SSL для почтового сервера в Cyberpanel.

флаг iq

Я использую киберпанель на CentOS 7 и настраиваю SSL для своего postfix и dovecot. Но я все еще получаю «SSL Invalid», вызывающий самоподписанный SSL, даже если я настроил SSL с помощью Lets Encrypt.

Это /etc/postfix/main.cf

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.domain.net/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.domain.net/privkey.pem

Это файл /etc/dovecot/dovecot.conf.

ssl_cert = </etc/letsencrypt/live/mail.domain.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.domain.net/privkey.pem
....
local_name mail.domain.net {
        ssl_cert = </etc/letsencrypt/live/mail.domain.net/fullchain.pem
        ssl_key = </etc/letsencrypt/live/mail.domain.net/privkey.pem
}

local_name mail.sub.domain.net {
        ssl_cert = </etc/letsencrypt/live/mail.sub.domain.net/fullchain.pem
        ssl_key = </etc/letsencrypt/live/mail.sub.domain.net/privkey.pem
}

Это файл /etc/dovecot/conf.d/10-ssl.conf.

SSL = требуется
ssl_cert = </etc/letsencrypt/live/mail.domain.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.domain.net/privkey.pem

Весь файл указывает на правильный файл SSL. Однако, когда я пытался войти в систему IMAP и SMTP с использованием SSL, я получил сообщение об ошибке: Неверный SSL вызвал самозаверяющий сертификат www.example.com (не mail.domain.net).

Когда я проверяю с помощью команды: openssl s_client -servername mail.domain.net -connect mail.domain.net:993

ПОДКЛЮЧЕН(00000003)
depth=0 C = US, ST = отрицание, L = Springfield, O = Dis, CN = www.example.com
ошибка подтверждения: num = 18: самоподписанный сертификат
проверить возврат: 1
depth=0 C = US, ST = отрицание, L = Springfield, O = Dis, CN = www.example.com
проверить возврат: 1
---
Цепочка сертификатов
 0 s:/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com
   i:/C=US/ST=Отказ/L=Springfield/O=Dis/CN=www.example.com
---
Сертификат сервера
-----НАЧАТЬ СЕРТИФИКАТ-----
MIIDizCCAnOgAwIBAgIJAJDbjRXJistMMA0GCSqGSIb3DQEBCwUAMFwxCzAJBgNV
BAYTALVTMQ8wDQYDVQQIDAZEZW5pYWwxFDASBgNVBAcMC1NwcmluZ2ZpZWxkMQww
CgYDVQQKDANeaXMxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTAeFw0yMTA2Mjcx
NzI0MDBaFw0zMTA2MjUxNzI0MDBaMFwxCzAJBgNVBAYTALVTMQ8wDQYDVQQIDAZE
ZW5pYWwxFDASBgNVBAcMC1NwcmluZ2ZpZWxkMQwwCgYDVQQKDANEaXMxGDAWBgNV
BAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMlprp3IA+Hbl43gIyiv0VQ/8DGKI3hH1E2GnVCuZKHbiwQr/j1vtnJIsFUt
r6AVwW+LAvDVT723CgivZMiXtrO1ItsOoU9ifV6w+nak8cFsFJZKaprXgU6dlQk8
K0xVMvqTEJa29v1igusmpl9Kv80cPjUCEMfcIjxvo51Ob0rV3Eyale+yXImj9Va/
YU7aICSvuLlHkPGf8VRtu+HZOyhzBerROikUN6p2hqMIjK2SUh0uUzbBFRwZHL6O
e2E9Bq2QQ0Cr5Fpid/XPwDPdxnGdnGcjNWv14vqeRDwErGpjGzn3FyiXQdAoB3wG
jJauwCAM680NMuH/mTVvUcal1CcCAwEAAaNQME4wHQYDVR0OBBYEFLAfEGhJad43
w9Pf90yeZg3i/AYtMB8GA1UdIwQYMBaAFLAfEGhJad43w9Pf90yeZg3i/AYtMAwG
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJifYgBsDverQjQ+3x8GWbmz
T4qw4uxlPLal8+wZrmuFxkTdXBixtd7xT3J7NPpXK1I/i9SUMsT9EqwMpvtz8Ybi
409QvsCb/LyADPI4eorbGIByYZa+wTHNbLtMa+PybwoHsLANGvwVf35tuXWhV2u7
/PxxvwZwPRXyDiNZYl6CXm282eqUu2iVU7j5+Mon5OCWN82Z5rUU67DFKyhyE6MC
j4tsWO5ylBKhhZ7A5EJd0gqSSIo495XnaNazXr2KeTOfwrBPOj2dHO1CnMnkubJm
wd31QwGht2wX/yGBtRNk+fxrA4ObKgva/bRLYpcZr6axva+vMFmJ2bVC1W3pUmU=
-----КОНЕЦ СЕРТИФИКАТА-----
subject=/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com
issuer=/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com
---
Имена ЦС сертификата клиента не отправлены
Дайджест одноранговой подписи: SHA512
Временный ключ сервера: ECDH, P-256, 256 бит
---
Рукопожатие SSL прочитало 1590 байт и записало 441 байт
---
Новый, TLSv1/SSLv3, шифр ECDHE-RSA-AES256-GCM-SHA384.
Открытый ключ сервера 2048 бит.
Поддерживается безопасное повторное согласование IS
Сжатие: НЕТ
Расширение: НЕТ
ALPN не согласован
SSL-сессия:
    Протокол: TLSv1.2
    Шифр: ECDHE-RSA-AES256-GCM-SHA384
    Идентификатор сеанса: 88F2CCFDE63FE391E9824F596E0C8300E44CB306F969E2A1C0AFE3B75E5A4D74.
    Идентификатор сеанса-ctx: 
    Мастер-ключ: E22198E25F15AA193B9E73446CB934276DF90987DFC75B1B74DDAF3247CA8436CDB93B3274102188B3470DF1A4EFB0D1
    Key-Arg : Нет
    Krb5 Принципал: Нет
    Идентификация PSK: нет
    Подсказка идентификации PSK: нет
    Подсказка срока действия билета сеанса TLS: 300 (секунд)
    Билет сеанса TLS:
    0000 - e6 78 ae 14 e1 04 0d b4-64 82 65 9e 14 ad 32 9c .x......d.e...2.
    0010 - f3 f0 c2 fd f9 12 5b bf-0f 50 75 79 64 5c bb ba ......[..Puyd\..
    0020 - 31 f6 37 бд 1c b2 e7 dc-d9 02 c7 53 f4 f9 0c a6 1.7........S....
    0030 - d4 51 6a 60 6b 34 04 41-fd b3 7d 53 14 ff 1d b4 .Qj`k4.A..}S....
    0040 - a2 82 67 6e da d7 80 02-b0 9f 6d 82 b4 17 72 ср ..gn......m...r.
    0050 - 30 05 54 fc 8c be 60 6d-e5 0f b8 25 04 f3 43 6d 0.T...`m...%..Cm
    0060 - 7e 13 f1 85 02 03 90 a2-50 82 64 43 aa 79 b8 ee ~.......P.dC.y..
    0070 - 86 08 ef 7a ac 4b c7 86-57 bc 09 a4 9a bb 23 92 ...z.K..W.....#.
    0080 - cb 18 74 a4 90 c5 b1 8b-39 3c cc 69 ee e8 fb 08 ..t.....9<.i....
    0090 - 60 93 ea 17 35 d5 58 0d-ee 1b 68 c2 98 d0 e9 9c `...5.X...h.....
    00a0 - f5 a7 24 9b 29 0a 48 6b-70 f8 a5 9a 7c e5 e8 88 ...$.).Hkp...|...

    Время начала: 1624855926
    Время ожидания: 300 (сек)
    Подтвердите код возврата: 18 (самоподписанный сертификат)
---
+OK Голубятня готова.

Это вход на почтовый сервер. постфикс состояния systemctl -l

230, квитирование TLS: SSL_accept() не удалось: ошибка: 14094416: подпрограммы SSL: ssl3_read_bytes: сертификат предупреждения sslv3 неизвестен: номер предупреждения SSL 46, сеанс = <RLYR5sLFeh62/Xx7>
28 июня 00:42:37 mail-domain-net dovecot[574952]: imap-login: Отключено (нет попыток аутентификации за 0 секунд): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, Квитирование TLS: SSL_accept() не удалось: ошибка: 14094416: подпрограммы SSL: ssl3_read_bytes: сертификат предупреждения sslv3 неизвестен: номер предупреждения SSL 46, сеанс = <WF4U5sLFlym2/Xx7>
28 июня 00:42:38 mail-domain-net dovecot[574952]: imap-login: Отключено (нет попыток аутентификации за 0 секунд): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, Квитирование TLS: SSL_accept() не удалось: ошибка: 14094416: подпрограммы SSL: ssl3_read_bytes: сертификат предупреждения sslv3 неизвестен: номер предупреждения SSL 46, сеанс = <nasX5sLFoim2/Xx7>
28 июня 00:42:38 mail-domain-net dovecot[574952]: imap-login: Отключено (нет попыток аутентификации за 0 секунд): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, Квитирование TLS: SSL_accept() не удалось: ошибка: 14094416: подпрограммы SSL: ssl3_read_bytes: сертификат предупреждения sslv3 неизвестен: номер предупреждения SSL 46, сеанс = <BFYY5sLFrCm2/Xx7>
28 июня 00:42:38 mail-domain-net dovecot[574952]: imap-login: Отключено (нет попыток аутентификации за 0 секунд): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, Квитирование TLS: SSL_accept() не удалось: ошибка: 14094416: подпрограммы SSL: ssl3_read_bytes: сертификат предупреждения sslv3 неизвестен: номер предупреждения SSL 46, сеанс = <YQkZ5sLFrSm2/Xx7>

Пожалуйста, помогите мне, какой файл или конфиг я должен проверить.

флаг jp
Dom
Где вы видите в логах самоподписанную проблему? Вижу клиент в SSLv3, который надо запретить как устаревшую технологию
vidarlo avatar
флаг ar
Вы перезапускали dovecot и postfix после обновления сертификата? Что выводит `openssl s_client -starttls smtp -showcerts -connect mail.domain.net:25`? Если вы не редактируете домены, люди здесь могут сделать такие проверки для вас и дать ответ...
djdomi avatar
флаг za
ssl_cert =
xdnroot avatar
флаг iq
@Dom Я видел эту ошибку в приложениях GMAIL и в библиотеке python imaplib.
xdnroot avatar
флаг iq
@vidarlo да, я перезапустил dovecot и postfix после обновления конфигурации и сертификата. Однако вывод openssl s_client -starttls smtp -showcerts -connect mail.domain.net:25 по-прежнему использует www.example.com (самозаверяющий сертификат).
xdnroot avatar
флаг iq
@djdomi да, что в этом плохого?
djdomi avatar
флаг za
@xdnroot `ssl_cert = *
xdnroot avatar
флаг iq
@djdomi Я просто следую формату конфигурации по умолчанию, и это подтверждено в этих документах: https://doc.dovecot.org/configuration_manual/dovecot_ssl_configuration/
djdomi avatar
флаг za
странное поведение, никогда такого не видел
Paul avatar
флаг cn
Вы пробовали какую-либо поддержку CyberPanel?
Рейтинг:0
флаг iq

Я решил эту проблему, выполнив следующие действия:

1. Настройте запись PTR Я прошу провайдера сервера добавить запись PTR для моего IP-адреса. Итак, когда вы ищете свой IP, он вернет это:

$ nslookup 116.193.250.253 130 ₽
253.250.193.116.in-addr.arpa name = mail.yourprimarymailserverdomain.com.
253.250.193.116.in-addr.arpa name = mail.yoursecondarymailserverdomain.com.

Хорошо, я использовал два домена для своего почтового сервера. Если вы по-прежнему получаете самозаверяющий SSL, перейдите ко 2-му шагу.

2. Настройте Postfix и Dovecot вручную.

Допустим, вы используете одну из старых версий CyberPanel или уже создали веб-сайт перед обновлением до версии 1.9.4. Вы можете создать mail.domain.com в качестве дочернего домена для своего главного домена, а также обязательно выдать SSL для этого домена.

Шаг 1: Откройте файл /etc/postfix/main.cf с помощью любого редактора.

судо нано /etc/postfix/main.cf

Шаг 2: Прокомментируйте следующие две строки в этом файле, добавив в начале знак #.

# smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem 
# smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem

Шаг 3: Добавьте следующие строки после изменения. Не забудьте заменить YourPrimaryMailServerDomain на свой собственный домен.

# предоставить основной сертификат для сервера, который будет использоваться для исходящих соединений 
smtpd_tls_chain_files = /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem, /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem

Шаг 4: Для поддержки SNI вам необходимо добавить следующие строки в конце

# предоставить карту, которая будет использоваться, когда включена поддержка SNI 
tls_server_sni_maps = хеш:/etc/postfix/vmail_ssl.map

После всех вышеперечисленных шагов ваши файлы должны выглядеть так

# smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
# smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
# предоставить основной сертификат для сервера, который будет использоваться для исходящих соединений
smtpd_tls_chain_files = /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem, /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem
# предоставить карту, которая будет использоваться, когда включена поддержка SNI
tls_server_sni_maps = хеш:/etc/postfix/vmail_ssl.map

Шаг 5: Создайте новый файл в /etc/postfix с именем vmail_ssl.map.

sudo touch /etc/postfix/vmail_ssl.map

Шаг 6. Отредактируйте файл, чтобы добавить SSL-сертификаты вашего домена в список, как показано ниже.

mail.yourprimarymailserverdomain.com /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem

Шаг 7 (необязательно): Если у вас есть несколько поддерживаемых доменов, добавьте их все по одному в каждой строке. Полученный файл должен выглядеть так

# Компилируем с хэшем postmap -F:/etc/postfix/vmail_ssl.map при обновлении
# Один хост на линию
mail.yourprimarymailserverdomain.com /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem
mail.yoursecondarymailserverdomain.com /etc/letsencrypt/live/mail.yoursecondarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yoursecondarymailserverdomain.com/fullchain.pem
# добавить больше доменов с ключами и сертификатами по мере необходимости

Шаг 8: Откройте /etc/dovecot/dovecot.conf

судо нано /etc/dovecot/dovecot.conf

Шаг 9: Добавьте следующее в конец файла, заменив domain.com своим собственным доменом.

local_name mail.domain.com {
  ssl_cert = </etc/letsencrypt/live/mail.domain.com/fullchain.pem
  ssl_key = </etc/letsencrypt/live/mail.domain.com/privkey.pem
}

Шаг 10: Перекомпилируйте postmap с помощью SNI, используя следующую команду

postmap -F хеш:/etc/postfix/vmail_ssl.map

Шаг 11: Перезапустите Postfix.

systemctl перезапустить постфикс

Шаг 12: Перезапустите Dovecot

systemctl перезапустить голубятню

Подключитесь снова с помощью почтового клиента, и вы не должны увидеть ошибку.

Справка: https://cyberpanel.net/docs/6-self-signed-ssl-error-on-outlook-thunderbird/

Удачи. :)

Ответить или комментировать

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