Один из моих клиентов только что обновил Thunderbird до версии 78, и теперь он не может получать электронные письма, поскольку он считает, что соединение IMAP не соответствует TLS 1.2... но когда я проверяю с помощью инструментов в Интернете, он сообщает мне, что это версия 1.2.
Что я могу сделать, чтобы все заработало снова?
Вот некоторые настройки imapd-ssl:
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL="TLS1_1:TLS1"
TLS_PRIORITY="SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2"
TLS_STARTTLS_PROTOCOL=TLS1
TLS_CIPHER_LIST=HIGH:MEDIUM:!ADH:!MD5:!aNULL:!eNULL:!LOW:!EXP:!RC4
Есть ли что-то явно неправильное в этих настройках?
Обратите внимание, что я видел этот пост:Thunderbird 78 не подключается к учетной записи IMAP, поддерживаемой Exchangeно мне не интересен взлом. Я хочу, чтобы сервер использовал TLS 1.2 как минимум.
Я сейчас протестировал с помощью openssl и вот результат:
openssl s_client -connect mail.example.com:143 -tls1_2
CONNECTED(00000003)
140310946449048:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:362:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1604626110
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
Ясно видно, что поддерживается версия 1.2. Я не совсем уверен, что означают сообщения сертификата одноранговой/клиентской сети. Может ли это быть причиной?
Вывод обновления с правильной openssl
командой
Как указал @, тест выше неверен, мне нужно, чтобы openssl отправил сообщение STARTTLS
, иначе он не начнет шифрование. Я хотел бы знать, почему выше написано TLS 1.2, хотя...
$ openssl s_client -connect mail.example.com:143 -starttls imap
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = *.example.com
verify return:1
---
Certificate chain
0 s:/CN=*.example.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
...snip...
-----END CERTIFICATE-----
subject=/CN=*.example.com
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
---
SSL handshake has read 3307 bytes and written 617 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID: B2...FA
Session-ID-ctx:
Master-Key: FB...AB
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - a9 ... 6f ...}.,.........o
0010 - 17 ... 2f .....&..YX.M.8n/
0020 - a9 ... 7f ......Q....Y..*.
0030 - c9 ... a9 .!'f>06Q...z../.
0040 - ff ... 1f .SZ...Z...;X....
0050 - 94 ... f0 .Se[[email protected]...
0060 - c9 ... 44 [email protected]
0070 - b3 ... 3d .......`.'.....=
0080 - a2 ... bf ..=2.Z....^.):..
0090 - 64 ... 42 d.>B....&.+.!..B
Start Time: 1604637492
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
. OK CAPABILITY completed
Теперь это выглядит намного лучше... за исключением того факта, что там написано TLSv1. Так что настройка неверна, так как я хотел бы, чтобы там было написано TLSv1.2.
Разрешение
После многих попыток мне не удалось заставить TLS v1.2 работать с coorier. Это странно, так как онтольконастраивает OpenSSL, так что я не совсем уверен, почему он должен был как-то помешать этой версии. Но каковы бы ни были настройки, он никогда не проходил через TLS v1.
Итак, как и было предложено в комментарии, я просто переключился наdovecot, в котором даже есть скрипт миграции, специфичный для курьера. Это сработало. Thunderbird перезагрузил все письма один раз, но теперь все работает как надо, и я не потерял ни одну из своих папок.