SA Exim и белый список IP-адресов

()

При организации простого почтового сервера достаточно популярным решением является MTA Exim, к которому для фильтрации спама подключают SpamAssassin. В качестве промежуточного звена, упрощающего подключение одного сервиса к другому часто используют плагин для exim под названием "sa-exim".

Автор этих строк так же использует связку exim+sa-exim+spamassassin и в какой-то момент появилась небольшая задача: завести "белый" список адресов и сетей, почта с которых должна приниматься без проверки. Задача была быстро и успешно решена, а описание решения приведено ниже.

Exim+SpamAssassin

Все настройки sa-exim находятся в файле "sa-exim.conf", который в Debian и Ubuntu расположен в директории "/etc/exim4", а на FreeBSD - в "/usr/local/etc/exim". Интересной особенностью sa-exim является то что на каждое письмо файл настроек перечитывается заново, а ещё в нём поддерживаются те же функции что и в основном файле настроек exim.

По умолчанию условие включения проверки выглядит так:

SAEximRunCond: ${if and {{def:sender_host_address} {!eq {$sender_host_address}{127.0.0.1}} {!eq {$sender_host_address}{::1}}}}

Здесь вычисляется логическое выражение: проверяется что определён IP-адрес отправителя и что он не является адресом петлевого интерфейса. Вобщем-то можно начать "расширять" это выражение. Но оно быстро станет громоздким и неудобным. Гораздо удобнее иметь список разрешённых адресов в отдельном файле да ещё и с возможностью указывать целые подсети. В итоге строка была приведена к виду:

SAEximRunCond: ${if and {{def:sender_host_address} {!eq {$sender_host_address}{127.0.0.1}} {!eq {$sender_host_address}{::1}} {!match_ip{$sender_host_address}{iplsearch;/etc/exim4/sa-sender-host-whitelist}} }}

А так же был создан файл "/etc/exim4/sa-sender-host-whitelist", в котором и описываются адреса и подсети, которым мы доверяем. Выглядит он примерно так:

# Локальная сеть
192.168.12.0/24

# Дружественные сервера
1.2.5.4
5.4.7.8

Здесь мы добавляем ещё одно условие, в котором требуем чтобы IP-адрес сервера отправителя не был перечислен в файле "/etc/exim4/sa-sender-host-whitelist". Если же IP-адрес там упомянут то проверка почты запускаться не будет.

После этого нужно перезапустить exim:

service exim4 restart

Перезапуск нужен чтобы применить новые настройки sa-exim. После этого можно добавлять и удалять записи в список уже без перезапуска.

Приятной работы!

Ключевые слова: exim, sa-exim, spamassassin, whitelist.

Подписаться на обновления: RSS-лента Telegram канал Twitter

Комментарии:

Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2018 Вадим Калинников aka MooSE