Почтовый шлюз: задание со звёздочкой (Вступление)
В этой серии заметок я попытаюсь обобщить свой опыт построения почтовых шлюзов на базе exim'а (с замечаниями как это делается в posfix'е). Сразу отмечу, что здесь не рассматриваются вопросы взаимодействия с юзерами, т.е. шлюз выполняет роль исключительно MTA (См общую схему здесь).
Материал большой, поэтому разбит на несколько частей, выходит по мере оформления. Примерное оглавление:
- Вступление
- общие сведения о сети
- литература и ссылки
- Статистика и мониторинг
- Настройки средств самого exim'а
- Усиливаем защиту внешними средствами
- отстрел ботов
- грейлистинг
- DKIM
- антиспам
- антивирус
- Обратная связь и переобучение системы
- переобучение антиспама
- репутация доменов
- Базовая настройка rspamd
- Донастройка антиспама на основе конкретных писем
Общая схема сети довольно проста:
relay
-- это наш почтовый шлюз, полное имя relay.example.com
, одним интерфейсом смотрит в локалку, вторым - наружу.
mail
-- это сервер, где почта принимается, хранится и раздаётся юзерам; смотрит только в локалку.
Задача простая - пропускать минимум спама, доставлять максимум почты, в минимальные сроки.
В качестве MTA используется exim, т.к. он всё-таки лучше подходит для шлюза со сложной логикой маршрутизации: конфиг проще воспринимать.
Если конфигурация достаточно простая -- берите postfix и не заморачивайтесь, там можно настроить всё то же самое, но с гораздо меньшим количеством ручной писанины. Например вам не придётся руками реализовывать общение с сокетом sqlgrey или другого подобного сервера политик. То же самое с большинством проверок helo/rev-hostname/domain -- правила естественным образом выносятся в отдельные файлы.
Литература и ссылки
Подборка ссылок, где можно скачить используемый софт и почитать документацию.
Оффсайты:
Документация: