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

Избегайте ненужных отказов с OpenSMTPD на OpenBSD

Я использую OpenSMTPD на OpenBSD вместе со spamd, spampd и spamassassin, DKIMproxy и dovecot. Моя установка заключается в обработке как локальной электронной почты на сервере, так и (внешней) электронной почты для моего домена. Кажется, моя установка работает (все еще на стадии тестирования). Я счастлив, что смог реализовать свою настройку с файлом opensmtpd.conf из 17 строк, исключая комментарии и пробелы. Однако есть несколько вещей, которые меня не устраивают. Я надеюсь, что кто-то может подсказать, как их решить:

При создании установки у меня изначально не было spampd / spamassessin. В этой конфигурации была ровно одна команда accept, которая забирала электронное письмо и доставляла его голубятню. Сервер OpenSMTPD проверяет наличие адреса получателя и, если он не существует, возвращает ошибку 550 и не разрешает отправку электронного письма. Это хорошо.

После того, как я включил spampd и spamassassin, команда accept принимает входящее электронное письмо и пересылает его на spampd (который запускает spamassassin). После обработки spampd / spamassasin сообщение перехватывается другой командой OpenSMTP accept, которая доставляет dovecot. Хотя это работает, есть некоторые нежелательные побочные эффекты, которые, если их не исправить, могут привести к уязвимостям:

1) spampd / spamassassin будет обрабатывать все входящие сообщения для моего домена, а также сообщения для несуществующих получателей в этом домене. Spampd / spamassassion не совсем «легкие» задачи. Вместе это увеличивает возможности для DOS-атаки.

2) Сначала принимаются все входящие сообщения для моего домена. В случае неизвестных получателей это будет обнаружено только после обработки spampd / spamassassin. Как только неизвестный получатель будет обнаружен, почтовым агентом deamon будет отправлено электронное письмо о статусе доставки, в котором указано, что получатель неизвестен. Это позволяет злоумышленнику использовать мой сервер для отправки электронной почты, похожей на спам, любому действительному получателю, отправив электронное письмо на мой сервер, указав в качестве отправителя любой действительный адрес электронной почты, а в качестве получателя - любой недопустимый получатель в моем домене.

Вопросы:

С уважением,