Назад | Перейти на главную страницу

Отправка почты из Postfix через Gmail: невозможно получить сертификат местного эмитента, сертификат недоверенный, достойных механизмов не найдено

Системные характеристики

Сценарий

Я слежу Настройте Postfix для отправки / ретрансляции писем Gmail (smtp.gmail.com) через порт 587 чтобы попытаться заставить соединение между Postfix и Gmail работать правильно. Инструкции понятны. После того, как выбранный ответ говорит, я получаю эту ошибку в своем почтовом журнале:

Dec 12 08:45:00 stiltify postfix/smtp[21745]: certificate verification failed for smtp.gmail.com: num=20:unable to get local issuer certificate
Dec 12 08:45:00 stiltify postfix/smtp[21745]: certificate verification failed for smtp.gmail.com: num=27:certificate not trusted
Dec 12 08:45:00 stiltify postfix/smtp[21745]: warning: SASL authentication failure: No worthy mechs found
Dec 12 08:45:00 stiltify postfix/smtp[21745]: 6BC962B58006: to=<some.address@yahoo.com>, relay=smtp.gmail.com[74.125.93.109]:587, delay=0.27, delays=0.05/0.01/0.21/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server smtp.gmail.com[74.125.93.109]: no mechanism available)

Похожие проблемы там

В поисках подобного сценария я обнаружил Постфикс «Ошибка аутентификации SASL: достойных мехов не найдено», но, глядя на детали выбранного ответа, он немного отличался, и я думаю, это означает, что отправляющий сервер не доверяет сертификату Gmail:

untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority

Но увы...

Итак, я снова столкнулся с проблемой рассылки и мне нужна ваша помощь.

Заранее спасибо!

Похоже, что потенциально под рукой две разные проблемы. Теперь я тот, кто дал ответ на вопрос о пересылке через Gmail, и мой был сделан на конфигурации ноутбука Ubuntu, а не на CentOS, и у меня, к сожалению, нет машины CentOS, на которой можно это проверить.

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

  1. Убедитесь, что установлены двоичные файлы и библиотеки SASL. На моих машинах Ubuntu / Debian это будет включать libsasl2-2 и libsasl2-modules пакеты. Последний фактически предоставляет модули SO SASL, тогда как первый предоставляет библиотеки SASL DB.

  2. Проверьте, установлен ли у вас доверенный сертификат корневой цепочки ЦС. На своих машинах Ubuntu / Debian я устанавливаю ca-certificate пакет, который устанавливает известные сертификаты ЦС корневого уровня и позволяет мне установить цепочку сертификатов ЦС, которая проверяет сертификаты, подписанные известными ЦС.

Обновление для добавления после проверки моего ноутбука с Ubuntu ... Проблема с сертификатом на самом деле не является критической проблемой, поэтому элемент № 2, вероятно, не виноват, поскольку я сам получаю те же записи, но почта отправляется успешно, что больше склоняется к элементу № 1 быть причиной сбоев при отправке.

Dec 12 07:51:56 solitare postfix/smtp[17525]: setting up TLS connection to smtp.gmail.com[74.125.67.109]:587
Dec 12 07:51:56 solitare postfix/smtp[17525]: certificate verification failed for smtp.gmail.com[74.125.67.109]:587: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
Dec 12 07:51:56 solitare postfix/smtp[17525]: Untrusted TLS connection established to smtp.gmail.com[74.125.67.109]:587: TLSv1 with cipher RC4-MD5 (128/128 bits)
Dec 12 07:51:58 solitare postfix/smtp[17525]: 41C7212823B: to=<root@****>, orig_to=<root>, relay=smtp.gmail.com[74.125.67.109]:587, delay=2.4, delays=0.22/0.01/0.62/1.5, dsn=2.0.0, status=sent (250 2.0.0 OK 1292158318 b27sm3067589ana.28)

Запустил экземпляр CentOS 5.4 на Amazon EC2 и осмотрелся ... В сочетании с пунктом 1 на CentOS я бы посмотрел, установлены ли у вас как минимум следующие пакеты: cyrus-sasl-lib, cyrus-sasl-plain и cyrus-sasl... Есть другие cyrus-sasl-* пакеты, предоставляющие отдельные модули SASL, если они вам понадобятся, но -lib и -plain должны быть самые необходимые основы.

Моя установка CentOS имела ту же проблему, и я решил ее, установив cyrus-sasl-plain.

Я не думаю, что с сертификатом Gmail что-то не так, потому что, как вы сказали выше, он выдается Equifax1.

Я не сторонник постфиксов, но обычно причиной этого является то, что инструмент, выполняющий проверку (в данном случае постфикс), не имеет «пакета сертификатов» - набора аксиоматически доверенных сертификатов, которые инструмент использует для проверьте предоставленную ему цепочку сертификатов. Sendmail (который я использую) имеет следующую строку конфигурации m4, чтобы указать его на пакет:

define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl

Поищите что-нибудь подобное для postfix.

1 Хорошо, хорошо, он утверждает, что выпущен Equifax; но это действительно так, согласно моему пакету сертификатов:

[madhatta@risby ~]$ openssl s_client -starttls smtp -connect smtp.gmail.com:587
CONNECTED(00000003)
depth=2 C = US, O = Equifax, OU = Equifax Secure Certificate Authority
verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = smtp.gmail.com
verify return:1
[...]