Ошибка в postfix – certificate verification failed

Ошибка в postfix - certificate verification failed Сертификаты
Содержание
  1. Почему необходимо усиливать безопасность postfix?
  2. Начальная настройка
  3. For the email delivery part (smtp client):
  4. For the email reception part (smtp server):
  5. Install an ssl certificate on postfix
  6. Note: you can place all three files in a single directory. for example, /etc/postfix.
  7. Postfix history and versions
  8. Prepare your ssl files
  9. Test your ssl installation
  10. Where to buy the best ssl certificate for postfix?
  11. Авторизация с использованием tls
  12. Ведение журнала tls
  13. Версия postfix
  14. Включение helo
  15. Домены
  16. Настройка ретрансляции с аутентификацией с помощью smarthost
  17. Настройки входящей электронной почты
  18. Настройки исходящей электронной почты
  19. Отключение vrfy (verify)
  20. Отправка почты через релей
  21. Пересылка с использованием tls
  22. Подготовка
  23. Помогла статья? подписывайся на telegram канал автора
  24. Предотвращение нежелательной пересылки электронной почты
  25. Проверка существующей конфигурации postfix
  26. Проксирование через tor
  27. Сетевые интерфейсы (inet_interfaces)
  28. Создание резервной копии конфигурации postfix
  29. Тестирование ключей
  30. Тестирование настроек ретрансляции postfix
  31. Усиление безопасности postfix
  32. Устанавливаем и настраиваем dovecot
  33. Устанавливаем и настраиваем postfix

Почему необходимо усиливать безопасность postfix?

Каждый сервис, подключенный к сети Интернет, рано или поздно подвергается атаке автоматизированными скриптами. Например, некорректно сконфигурированный Postfix может отправлять сообщения любой сетевой системе. Этот тип конфигурации называется open-relay.

Другой причиной для усиления защиты Postfix является растущая потребность в сохранении личной информации. Безопасность и сохранность конфиденциальных данных стоят не на первых местах в списке приоритетов большинства действующих протоколов, включая SMTP.

Поэтому важно самостоятельно усилить защиту Postfix, и данная статья поможет вам в этом.

Начальная настройка

В простейшем случае, пересылка всей почты доверенному (на сколько в данном контексте вообще можно говорить о доверии) посреднику конфигурируется на клиенте следующим образом:

For the email delivery part (smtp client):

smtp_tls_security_level = may
# recommended for having log details
smtp_tls_loglevel = 1
smtp_tls_exclude_ciphers = NULL, aNULL, RC4, 3DES, eNULL, DHE_EXPORT
smtp_tls_mandatory_ciphers = high
smtp_tls_ciphers = medium
smtp_tls_protocols = !SSLv2, !SSLv3

Edit the master.cf file and ensure the follow instruction is uncommented

tlsmgr    unix  -       -       n       1000?   1       tlsmgr

Congratulations, you’ve successfully installed an SSL Certificate on Postfix.

For the email reception part (smtp server):

smtpd_tls_cert_file = /path/to/your/server.crt
smtpd_tls_key_file = /path/to/your/privatekey.key
# TLS activation
smtpd_tls_security_level = may	
# recommanded for log details
smtpd_tls_loglevel = 1
# recommanded for tracing TLS headers
smtpd_tls_received_header = yes
smtpd_tls_exclude_ciphers = NULL, aNULL, RC4, 3DES, eNULL, DHE_EXPORT
smtpd_tls_mandatory_ciphers = high
smtpd_tls_ciphers = medium
smtpd_tls_protocols = !SSLv2, !SSLv3

Install an ssl certificate on postfix

After your CA validates your SSL request and sends the necessary SSL files to your inbox, you can begin the SSL installation. Please, perform the following:

Note: you can place all three files in a single directory. for example, /etc/postfix.

To add the SSL Certificate to Postfix, follow the steps below:

Merge the SS Certificate and intermediate CA in a single file by running the following command:cat ssl.crt intca.crt > server.crt

Postfix history and versions

Postfix is a free and open-source MTA (mail transfer agent) that routes and delivers electronic mail. Developed by Wietse Venema in 1997, Postfix is currently released under the IBM Public License 1.0 and Eclipse Public License 2.0.

Listed below are the latest supported Postfix releases:

  • Postfix 3.2
  • Postfix 3.1
  • Postfix 3.0
  • Postfix 2.11

Prepare your ssl files

Postfix supports SSL Certificates in X.509 format. A correct installation requires the following files:

  • Your private key file: you’ve generated the key file along with the CSR code on your server
  • Your primary SSL Certificate: it resides in the ZIP archived folder you’ve received from the CA. Check your email and download, then extract your SSL Certificate. For the purpose of this demonstration, we’ll name the primary SSL certificate file .crt
  • The intermediate CA: this is the CA bundle (.ca-bundle) file from the same ZIP folder as your SSL Certificate. In our case, we’ll name the file intca.crt
Про сертификаты:  Когда бесплатное дороже платного. Почему лучше заплатить за SSL-сертификат

Test your ssl installation

After you install an SSL Certificate on Postfix, it’s always wise to scan your new installation for potential errors or vulnerabilities, just to be on the safe side of things. With these powerful SSL tools, you can get instant reports on all aspects of your SSL Certificate and its configuration.

Where to buy the best ssl certificate for postfix?

You’ve already reached the destination! Here, at SSL Dragon, we offer the widest range of SSL products at incredibly low prices. All our certificates are compatible with Postfix mail transfer agent. Browse the list below to find the SSL type you need:

If you don’t know what certificate to choose, or struggling to find the perfect product for your site, our quick, and intuitive SSL Wizard and Advanced Certificate Filter tools will make the search more efficient and enjoyable.

If you find any inaccuracies, or you have details to add to these SSL installation instructions, please feel free to send us your feedback at [email protected]. Your input would be greatly appreciated! Thank you.

Авторизация с использованием tls

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

На клиентской стороне подключение сертификата для авторизации на релее осуществляется следующим образом:

Ведение журнала tls

Чтобы увидеть подробную информацию из TLS, необходимо повысить уровень журналирования Postfix. Установите для smtp_tls_loglevel (исходящий трафик) или smtpd_tls_loglevel (входящий трафик) значение «1».

postconf -e smtp_tls_loglevel=1

Версия postfix

Проверить версию Postfix можно следующей командой:

postconf mail_version | awk -F" = " '{print $2}'

Или воспользуйтесь менеджером пакетов. Пользователи Debian и Ubuntu могут использовать команду dpkg.

dpkg -l postfix

Включение helo

Диалог клиента и сервера, как правило, начинается с приветствия. Люди, приветствуя друг друга, говорят «привет» или «hello» . Почтовые серверы делают это с помощью команды HELO или расширенной версии EHLO. Серверы, которые этого не делают, обычно неверно настроены или просто рассылают спам.

postconf -e smtpd_helo_required=yes

Домены

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

Настройка ретрансляции с аутентификацией с помощью smarthost

Сперва необходимо определить, какая система будет принимать электронную почту. В терминах Postfix эта система является так называемым smarthost или relayhost. Используйте команду postconf, чтобы задать настройки из командной строки, или отредактируйте файл main.cf.

relayhost = [hostname.example.org]:587

Используйте скобки для имени хоста или IP-адреса, чтобы запретить поиск MX-записей. В зависимости от требуемой конфигурации номер порта можно изменить. Некоторые провайдеры используют альтернативный порт SMTP.

Следующим шагом является включение аутентификации SASL.

# Включаем аутентификацию SASL
smtp_sasl_auth_enable = yes
# Запрещаем любые методы, которые разрешают анонимную аутентификацию
smtp_sasl_security_options = noanonymous
# Определяем местоположение файла sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd

Теперь отредактируем файл /etc/postfix/sasl/sasl_passwd.

Настройки входящей электронной почты

Параметры конфигурации, начинающиеся с smtpd, ссылаются на демон SMTP, который обрабатывает входящие запросы.

Настройки исходящей электронной почты

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

Про сертификаты:  Сброс сертификатов windows 10

Отключение vrfy (verify)

С помощью команды VRFY (сокращение от «verify») можно проверить, существует ли адрес электронной почты на почтовом сервере. Она позволяет другим делать предположения о существовании запрашиваемой учетной записи и доставлять сообщения, возможно, спам. Для пересылки данных между двумя почтовыми серверами команда VRFY обычно не требуется.

postconf -e disable_vrfy_command=yes

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

Отправка почты через релей

На данном этапе конфигурации сторонние наблюдатели могут предположить куда и сколько писем мы отправляем, однако, они не могут узнать содержимое посланий. Но что будет, если они установят на пути прохождения соединения «блок-пост», подобный описанному в предисловии, или будут совершать «набеги» время от времени? Вариантов не много:

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

Использование обходных путей возможно только до тех пор, пока они не будут раскрыты и перекрыты противником (т.н. security through obscurity или «безопасность через сокрытие»), однако, в случае наличия постоянного блок-поста, эта мера является единственно возможной альтернативой полному раскрытию содержимого сообщения

Пересылка с использованием tls

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

Подготовка

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

Помогла статья? подписывайся на telegram канал автора


Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Предотвращение нежелательной пересылки электронной почты

Первое правило при настройке почтового сервера — избегайте open-relay. Сервер open-relay — это почтовый сервер, позволяющий отправлять электронную почту от произвольного отправителя произвольному получателю. Такие серверы не ограничивают доступ к себе, то есть не производят проверку того, является ли отправитель письма собственным клиентом-пользователем или является ли получатель письма локальным пользователем такого сервера. Благодаря чему такой сервер легко используется для рассылки спама.

Проверка существующей конфигурации postfix

Текущая конфигурация Postfix может иметь ошибки, о которых вы можете не знать. Итак, запустим первый тест, чтобы проверить это.

postconf 1> /dev/null

Команду postconf можно использовать для отображения конфигурации Postfix или внесения изменений. В этом случае весь стандартный вывод (stdout) перенаправляется в цифровую корзину (/dev/null). Если в конфигурации есть ошибки или предупреждения, они отобразятся, как показано на примере ниже:

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

Проксирование через tor

Одним из способов обхода постоянного блок-поста является использование TOR — «сети луковой маршрутизации». TOR может использоваться только в паре с доверенным релеем — собственным или публичным почтовым сервером, т.к. попытка прямой отправки почты через TOR, скорее всего, окончится неудачей — подавляющее большинство выходов SMTP из сети TOR находится под санкциями крупных почтовых систем.

Для запуска SOCKS-прокси достаточно в файле конфигурации TOR (/etc/tor/torrc или /usr/local/etc/tor/torrc для FreeBSD) установить адрес и порт для принятия входящих соединений (документация по опциям):

SocksPort 9050SocksListenAddress 127.0.0.1

Для проксирования трафика Postfix в SOCKS-прокси потребуется ввести дополнительный транспорт, который бы поддерживал данный тип проксирования. Наиболее простым способом является загрузка приложения с библиотекой, которая прозрачно перенаправляет все TCP соединения в прокси. Такой библиотекой, например, является tsocks

Про сертификаты:  Работа с КриптоПро на linux сервере

Конфигурация параметров работы библиотеки tsocks задается в файле /etc/tsocks.conf (или /usr/local/etc/tsocks.conf для FreeBSD):

local = 127.0.0.1/255.255.255.255server = 127.0.0.1server_ENGINE= 5server_port = 9050

Здесь параметр local является списком хостов, которые достижимы без использования прокси, остальные параметры указывают на адрес и порт SOCKS-5 прокси TOR

Для создания транспорта Postfix необходимо создать скрипт с именем /usr/lib/postfix/smtp_socks вида:

#!/bin/shexport LD_PRELOAD=/usr/lib/libtsocks.soexec /usr/lib/postfix/smtp $@

и дать ему права на выполнение (chmod 0755 smtp_socks). Во FreeBSD исполняемые файлы транспортов находятся в директории /usr/local/libexec/postfix, а библиотека в /usr/local/lib

Далее необходимо включить новый транспорт непосредственно в самой конфигурации Postfix в файле master.cf исправив соответствующую строку:

smtp unix - - n - - smtp_socks

Здесь следует обратить внимание на значение n в поле chroot — в Debian оно по умолчанию установлено в значение — (или yes), что будет препятствовать загрузке библиотеки libtsocks.so без дополнительных настроек chroot-окружения

Часть 1, Часть 3

Сетевые интерфейсы (inet_interfaces)

Первый параметр настройки, который нужно проверить — это inet_interfaces или интерфейсы, которые прослушивает Postfix. По умолчанию он имеет значение all. Если вы просто хотите передавать сообщения другим системам, например отправлять исходящие электронные письма, не нужно прослушивать все сетевые интерфейсы.

postconf -e inet_interfaces=loopback-only

Проверьте конфигурацию после перезапуска Postfix. Можно использовать вывод netstat или ss:

ss -pant | grep ":25"

Важно:

  • Некоторые изменения требуют перезапуска Postfix.
  • При изменении параметра inet_interfaces обновления настроек (reload) недостаточно, делайте restart службы.
  • Если вы настраиваете систему, которая пересылает почтовые сообщения от других систем, то, вам необходимо настроить прослушивание всех сетевых интерфейсов, откуда поступают запросы.

Создание резервной копии конфигурации postfix

Перед внесением изменений в настройки системы рекомендуется сделать резервную копию настроек. Создадим копию каталога /etc/postfix.

tar czf /root/postfix-$(date " %F").tar.gz /etc/postfix

Также, целесообразно сохранить копию настроек с помощью postconf для последующего устранения неполадок или сравнения конфигураций. Позже к ней можно будет легко применить diff.

postconf > /root/postconf-$(date " %F")

Тестирование ключей

Конфигурацию SMTP и настройки шифрования можно легко проверить с помощью OpenSSL. В частности, следует проверить криптографическую стойкость протокола установки соединения. Обычно это делается с помощью алгоритма Диффи-Хеллмана (DH), который осуществляет обмен криптографическими ключами.

Тестирование настроек ретрансляции postfix

Вы можете проверить правильность настройки конфигурации, установив соединение с другой системой с помощью Telnet. Подключитесь к другой системе и выполните следующие команды:

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

Если все настроено так, чтобы избежать open-relay, вернется сообщение об отказе в доступе к ретранслятору.

Relay access denied (in reply to RCPT TO command)

Усиление безопасности postfix

После подготовительного этапа можно приступать к усилению безопасности Postfix. На каждом шаге мы будем изменять определенную группу настроек сервиса. Некоторые из них предназначены для предотвращения раскрытия информации, другие — для улучшения стабильности или усиления защиты конфиденциальности пересылаемого контента.

Устанавливаем и настраиваем dovecot

Centos:

yum install dovecot dovecot-mysql -y

Debian/Ubuntu:

apt install dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql -y

Активируем службу и добавляем в автозапуск:

systemctl start dovecot
systemctl enable dovecot

Создаём локальный файл настроек:

touch /etc/dovecot/local.conf

Открываем файл текстовым редактором и указываем в нём следующие настройки:

Устанавливаем и настраиваем postfix

Устанавливаем postfix на сервер:

Для Centos (обычно в Centos 7 он уже установлен):

yum install postfix -y

Для Debian/Ubuntu:

apt install postfix postfix-mysql -y

Далее отобразится окно, где нужно выбрать Internet Site:

И в следующем окне указать ваш домен, с которого будет отправляться почта:

Запускаем и добавляем в автозагрузку службу postfix:

systemctl start postfix
systemctl enable postfix

Вносим изменения в настройку postfix, в консоли вводим следующие команды:

Оцените статью
Мой сертификат
Добавить комментарий