--- title: Почтовый шлюз: задание со звёздочкой (Вступление) tags: mail, spam, exim, zabbix, rspamd, репост --- В этой серии заметок я попытаюсь обобщить свой опыт построения почтовых шлюзов на базе exim'а (с замечаниями как это делается в posfix'е). Сразу отмечу, что здесь не рассматриваются вопросы взаимодействия с юзерами, т.е. шлюз выполняет роль исключительно MTA (См общую схему [здесь](https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D1%87%D1%82%D0%B0)). Материал большой, поэтому разбит на несколько частей, выходит по мере оформления. Примерное оглавление: - [Вступление](/articles/2016/04/10/hardcore-mail-relay-1/) * общие сведения о сети * литература и ссылки - [Статистика и мониторинг](/articles/2016/04/10/hardcore-mail-relay-2/) - Настройки средств самого exim'а - Усиливаем защиту внешними средствами * отстрел ботов * грейлистинг * DKIM * антиспам * антивирус * заметки на полях по поводу платных антивирусов под *nix - Обратная связь и переобучение системы * переобучение антиспама * репутация доменов - Базовая настройка rspamd - Донастройка антиспама на основе конкретных писем --- Общая схема сети довольно проста: [![](overview_tn.jpg)](overview.png) ``relay`` -- это наш почтовый шлюз, полное имя ``relay.example.com``, одним интерфейсом смотрит в локалку, вторым - наружу. ``mail`` -- это сервер, где почта принимается, хранится и раздаётся юзерам; смотрит только в локалку. Задача простая - пропускать минимум спама, доставлять максимум почты, в минимальные сроки. В качестве MTA используется exim, т.к. он всё-таки лучше подходит для шлюза со сложной логикой маршрутизации: конфиг проще воспринимать. Если конфигурация достаточно простая -- берите postfix и не заморачивайтесь, там можно настроить всё то же самое, но с гораздо меньшим количеством ручной писанины. Например вам не придётся руками реализовывать общение с сокетом sqlgrey или другого подобного сервера политик. То же самое с большинством проверок helo/rev-hostname/domain -- правила естественным образом выносятся в отдельные файлы. Литература и ссылки ------------------- Подборка ссылок, где можно скачить используемый софт и почитать документацию. Оффсайты: * [exim](http://www.exim.org) * [sqlgrey](http://sqlgrey.sourceforge.net/) * [clamav](http://www.clamav.net) * [rspamd](http://rspamd.com) * [fail2ban](http://www.fail2ban.org), [f2b](http://linuxdv.org/articles/2016/03/17/f2b/) * [redis](http://redis.io) Документация: * [официальный талмуд по exim'у](http://www.exim.org/exim-html-current/doc/html/spec_html/index.html) * [rspamd, документация на оффсайте](http://rspamd.com/doc/index.html) * [rspamd, более читабельная версия доков](https://bitbucket.org/vstakhov/rspamd/wiki/Documentation_single)