Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » [решено] Fetchmail не может сделать TLS на одном компьютере, на другом - работает

Ответить
Настройки темы
[решено] Fetchmail не может сделать TLS на одном компьютере, на другом - работает

ИО Капитана Очевидности


Contributor


Сообщения: 5382
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Долгое время на одном компьютере с debian 10 программа fetchmail выполняла загрузку почты с внешнего сервера. Сейчас перестала

Попробовал установить и настроить fetchmail на другом компьютере - с Альт 9. При том же конфиге почему-то работает.

Код: Выделить весь код
### Файл ~/.fetchmailrc
poll poll2
        proto imap
        via сервер.ru
        port 143
        user "логин"
        pass "пароль"
        keep
        no fetchall
        no ssl
        sslcertpath /etc/ssl/certs
        sslfingerprint "BF:F0:D0:57:E2:31:B7:EB:B6:BB:24:9C:B7:9E:45:F7"
Первый компьютер
Цитата:
fetchmail -c -v pool2
fetchmail: влючен режим --check, выборка почты не выполняется
fetchmail: 6.4.0.beta4 запрашивает poll2 (протокол IMAP) на Вт 27 июл 2021 14:16:30: опрос начат
Попытка подключения к IP/143...соединение установлено.
fetchmail: IMAP< * OK The Microsoft Exchange IMAP4 service is ready.
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4 IMAP4rev1 LOGINDISABLED STARTTLS UIDPLUS MOVE ID CHILDREN IDLE NAMESPACE LITERAL+
fetchmail: IMAP< A0001 OK CAPABILITY completed.
fetchmail: IMAP> A0002 STARTTLS
fetchmail: IMAP< A0002 OK Begin TLS negotiation now.
fetchmail: сервер.ru: fetchmail: System error during SSL_connect(): handshake failed at protocol or connection level.
fetchmail: сервер.ru: сбой обновления до TLS.
fetchmail: Неизвестный логин или ошибка аутентификации для логин@сервер.ru
fetchmail: Ошибка сокет при выборке из логин@poll2
fetchmail: 6.4.0.beta4 запрашивает poll2 (протокол IMAP) на Вт 27 июл 2021 14:16:30: опрос завершен
fetchmail: нормальное завершение, статус 2
Второй компьютер
Цитата:
fetchmail -c -v poll2
fetchmail: --check mode enabled, not fetching mail
fetchmail: 6.3.26 querying poll2 (protocol IMAP) at Вт 27 июл 2021 14:22:14: poll started
Trying to connect to IP/143...connected.
fetchmail: IMAP< * OK The Microsoft Exchange IMAP4 service is ready.
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4 IMAP4rev1 LOGINDISABLED STARTTLS UIDPLUS MOVE ID CHILDREN IDLE NAMESPACE LITERAL+
fetchmail: IMAP< A0001 OK CAPABILITY completed.
fetchmail: IMAP> A0002 STARTTLS
fetchmail: IMAP< A0002 OK Begin TLS negotiation now.
fetchmail: Server certificate:
fetchmail: Unknown Organization
fetchmail: Issuer CommonName: XXXXX
fetchmail: Subject CommonName: XXXXXXXXXX
fetchmail: Subject Alternative Name: mail.XXXXXXX.ru
fetchmail: poll2 key fingerprint: BF:F0:D0:57:E2:31:B7:EB:B6:BB:24:9C:B7:9E:45:F7
fetchmail: poll2 fingerprints match.
fetchmail: SSL/TLS: using protocol TLSv1.2, cipher ECDHE-RSA-AES256-SHA384, 256/256 secret/processed bits
fetchmail: IMAP> A0003 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=NTLM AUTH=GSSAPI UIDPLUS MOVE ID CHILDREN IDLE NAMESPACE LITERAL+
fetchmail: IMAP< A0003 OK CAPABILITY completed.
fetchmail: сервер.ru: upgrade to TLS succeeded.
fetchmail: IMAP> A0004 AUTHENTICATE NTLM
fetchmail: IMAP< +
fetchmail: IMAP> TlRMTVNTUAABAAAAB7IAAAcABwAgAAAAAAAAAAcAAABhcmt0aWth
fetchmail: IMAP< + TlRMTVNTUAACAAAABgAGADgAAAAFgoECNeBWhaeRm1YAAAAAAAAAAHgAeAA+AAAABgLwIwAAAA9JAFIAUgACAAYASQBSAFIAAQAU AFYAUwAtAEkALQBNAEIAWAAwADEABAAMAEkAUgBSAC4AUgBVAAMAIgBWAFMALQBJAC0ATQBCAFgAMAAxAC4ASQBSAFIALgBSAFUA BQAMAEkAUgBSAC4AUgBVAAcACADX+uT6noLXAQAAAAA=
fetchmail: IMAP> TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAYABgBwAAAADgAOAHYAAAAOAA4AhAAAAAAAAABSAAAABYKBAvLDPYf02mf7ws0U O2eJmuXkZnunh68iTfFH9c7sqNxwaM9DT13FHYaisdG/j0Yr4EkAUgBSAGEAcgBrAHQAaQBrAGEAYQByAGsAdABpAGsAYQA=
fetchmail: IMAP< A0004 OK AUTHENTICATE completed.
fetchmail: IMAP> A0005 EXAMINE "INBOX"
fetchmail: IMAP< * 793 EXISTS
fetchmail: IMAP< * 0 RECENT
fetchmail: IMAP< * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
fetchmail: IMAP< * OK [PERMANENTFLAGS ()] Permanent flags
fetchmail: IMAP< * OK [UNSEEN 733] Is the first unseen message
fetchmail: IMAP< * OK [UIDVALIDITY 14] UIDVALIDITY value
fetchmail: IMAP< * OK [UIDNEXT 57199] The next unique identifier value
fetchmail: IMAP< A0005 OK [READ-ONLY] EXAMINE completed.
fetchmail: IMAP> A0006 SEARCH UNSEEN UNDELETED
fetchmail: IMAP< * SEARCH 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 770 771 772 773 774 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793
fetchmail: IMAP< A0006 OK SEARCH completed.
793 messages (737 seen) for логин at poll2.
fetchmail: IMAP> A0007 LOGOUT
fetchmail: IMAP< * BYE Microsoft Exchange Server 2013 IMAP4 server signing off.
fetchmail: IMAP< A0007 OK LOGOUT completed.
fetchmail: 6.3.26 querying poll2 (protocol IMAP) at Вт 27 июл 2021 14:22:16: poll completed
fetchmail: normal termination, status 0

Получается, что на первом компьютере программа по какой-то причине не может начать сеанс TLS с сервером
Конфиги программы ~/.fetchmailrc совпадают
При этом на первом компьютере с сервера яндекс.почты fetchmail загружает письма без проблем. То есть проблема возникает только с одним сервером.

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 07:32, 27-07-2021

 

Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Смотрите версии openssl и их поддерживаемые protocols and ciphers.
openssl version
openssl ciphers -v
openssl ciphers -v | grep ECDHE-RSA-AES256-SHA384 для проверки поддержки конкретного сайфера, который использует второй компьютер.
Также можно просканировать сервер на тему поддерживаемых протоколов и сайферов при помощи sslscan или аналогов.

Скорее всего вам просто нужно обновить версию openssl/libssl на первом компьютере. Или разрешить не сервере, если он под вашим управлением, доступные первому пк протоколы и сайферы. В общем, согласовать версии.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:04, 27-07-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


ИО Капитана Очевидности


Contributor


Сообщения: 5382
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Завтра напишу версию и параметры первого компьютера.

А пока вопрос - как добавить указанный cipher клиенту?

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 15:51, 27-07-2021 | #3


Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Цитата El Scorpio:
как добавить указанный cipher клиенту? »
Ну не обязательно конкретно этот. Обычно и сервер, и клиент поддерживают десятки сайферов, как раз чтоб не было проблем с хендшейками у разных клиентов с разными серверами на разных системах разной свежести. Нужно чтоб совпал хотя бы один. Если в дебиановской версии openssl/libssl по каким-то причинам вырезали все сайферы, предлагаемые данным сервером, то способ только один - пересобрать их вручную с поддержкой этих сайферов.

Кстати вот команда в помощь для теста совместимости openssl s_client -starttls imap -connect server.ru:143

Отправлено: 16:01, 27-07-2021 | #4


ИО Капитана Очевидности


Contributor


Сообщения: 5382
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Нужный сайфер оказался в списке доступных. Для его использования достаточно было закомментировать в конфиге /etc/ssl/openssl.cnf одну строку

Код: Выделить весь код
[system_default_sect]
MinProtocol = TLSv1.2
### CipherString = DEFAULT@SECLEVEL=2

Теперь возникла вторая проблема
Цитата:
fetchmail: Ошибка проверки сертификата сервера: unable to get local issuer certificate
fetchmail: Broken certification chain at: /DC=RU/DC=IRR/CN=IRR-CA-Root
fetchmail: This could mean that the server did not provide the intermediate CA's certificate(s), which is nothing fetchmail could do anything about. For details, please see the README.SSL-SERVER document that ships with fetchmail.
fetchmail: This could mean that the root CA's signing certificate is not in the trusted CA certificate location, or that c_rehash needs to be run on the certificate directory. For details, please see the documentation of --sslcertpath and --sslcertfile in the manual page.
fetchmail: OpenSSL reported: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Как я понимаю, клиент не может проверить цепочку центров выдачи сертификатов из-за отсутствия промежуточных
Увы, в самом сертификате ссылка на родительский центр выдачи сертификатов выглядит так
Цитата:
openssl x509 -in ./test.pem -noout -text | grep -i uri
URI:ldap:///CN=IRR-CA-Root,CN=VS-I-DC01,CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=IRR,DC=RU?certificateRevocati onList?base?objectClass=cRLDistributionPoint
CA Issuers - URI:ldap:///CN=IRR-CA-Root,CN=AIA,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=IRR,DC=RU?cACertificate?base? objectClass=certificationAuthority
Как я понимаю, цепочка центров выдачи сертификатов скрыта в внутри домена. Просто скачать их не получится. Почему же тогда второй компьютер открывает почтовый ящик?
Или можно в настройках SSL отключить проверку цепочки?

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 02:17, 28-07-2021 | #5


Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Цитата El Scorpio:
Как я понимаю, цепочка центров выдачи сертификатов скрыта в внутри домена. »
Просто CN=IRR-CA-Root не является trusted root CA. А так-то сервер должен отдавать всю цепочку (кроме необязательного "настоящего" root CA). Хотя конечно мало ли что там нарукожоплено, при таком-то подходе.
Что даёт openssl s_client -showcerts -starttls imap -connect server.ru:143 ?
Если у последнего в цепочке subject и issuer совпадают, то достаточно просто проинсталить этот сертификат на клиенте.
Админу того сервера пора пинка дать, серты стоят гроши или вообще ничего в случае летсенкрипт, за колхозинг с самоподписными сертами, которые не проинсталены сразу у клиентов нужно переводить в мойщики унитазов гг.
Цитата El Scorpio:
Почему же тогда второй компьютер открывает почтовый ящик? »
Насколько понял, у фетчмайла проверка сертификатов по умолчанию включена начиная с версии 6.4.
Цитата El Scorpio:
Или можно в настройках SSL отключить проверку цепочки? »
Можно, в настройках фетчмайла.
man fetchmail

--sslcertck
(Keyword: sslcertck, default enabled since v6.4.0)
--sslcertck causes fetchmail to require that SSL/TLS be used and disconnect if it can not successfully negotiate SSL or TLS, or if it cannot successfully verify and validate the certificate and follow it to a trust anchor (or trusted root certificate). The trust anchors are given as a set of local trusted certificates (see the sslcertfile and sslcertpath options). If the server certificate cannot be obtained or is not signed by one of the trusted ones (directly or indirectly), fetchmail will disconnect, regardless of the sslfingerprint option.
Note that CRL (certificate revocation lists) are only supported in OpenSSL 0.9.7 and newer! Your system clock should also be reasonably accurate when using this option.
--nosslcertck
(Keyword: no sslcertck, only in v6.4.X)
The opposite of --sslcertck, this is a discouraged option. It permits fetchmail to continue connecting even if the server certificate failed the verification checks. Should only be used together with --sslfingerprint.

Последний раз редактировалось Jula0071, 28-07-2021 в 14:34. Причина: опечатка в команде openssl

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:33, 28-07-2021 | #6


ИО Капитана Очевидности


Contributor


Сообщения: 5382
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Цитата Jula0071:
Насколько понял, у фетчмайла проверка сертификатов по умолчанию включена начиная с версии 6.4. »
АльтЛинукс пока использует версию 6.3.26+GSS+RPA+NTLM+SDPS+SSL-SSLv2-SSLv3+NLS+KRB5.
Получается, что здесь достаточно проверки отпечатка (fingerprint)

А debian - уже версию 6.4.0.beta4. Поэтому при одинаковых конфигах возникает ошибка проверки цепочки.
Завтра добавлю в конфиг параметр nosslcertck и посмотрю, что получится.

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 13:41, 28-07-2021 | #7


Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Цитата El Scorpio:
параметр nosslcertck »
Только no sslcertck раздельно, судя по ману.

Отправлено: 13:47, 28-07-2021 | #8


ИО Капитана Очевидности


Contributor


Сообщения: 5382
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Спасибо. Всё заработало!

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 01:03, 29-07-2021 | #9



Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » [решено] Fetchmail не может сделать TLS на одном компьютере, на другом - работает

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - 3g модем ZTE MF667 не работает на другом компьютере... Farrukhjon Сетевое оборудование 2 14-03-2013 14:48
скрипт не работает на другом компьютере trudmoy AutoIt 2 19-02-2011 15:15
Прочее - 2 АДСЛ на одном VPN, Интернет на другом вместе не работает Интернет gambit.rc Сетевые технологии 5 12-04-2010 05:48
Принтер - На одном компьютере принтер опознается, а на другом нет?! maximus87 Прочее железо 5 18-02-2009 10:08
HDD - HDD работает на одном компе и не работает на другом FMT Накопители (SSD, HDD, USB Flash) 2 25-11-2008 06:51




 
Переход