Я получаю особенно ужасный тип спама, который легко определить по текстовому имени в заголовке From.
В основном формат такой:
From: "foo" <some-random-address@example.com>
Я хотел бы написать условие данных ACL, которое проверяет, foo
находится в заголовке From. Как бы вы это сделали?
Я верю, что это войдет в DATA ACL часть.
Я думаю, что ответ Джима У может быть лучшим способом достижения моих целей, но для записи, вот как я это сделал в DATA ACL:
acl_check_data:
# Blacklist if friendly name matches any patterns.
drop
condition = ${if match{$h_from:}{"foo"}}
message = Blacklisted.
log_message = Blacklisted nasty.
Это приводит к 550 Blacklisted.
ошибка клиенту SMTP и немедленно закрывает соединение.
Условно отбрасывает почту на основе полей заголовка:
exim.conf
system_filter = /etc/exim/system_filter.conf
system_filter.conf
if $header_from matches "foo.*<"
or $header_from contains "@morespam.com"
or $h_subject contains "Viagra"
then
seen finish
endif
Первое условие будет соответствовать, только если foo появится в дружественной части заголовка From. Регулярное выражение не чувствительно к регистру.
Лучше всего протестировать файл фильтра после внесения каких-либо изменений. Синтаксические ошибки в system_filter.conf
сделает входящие сообщения временно недоступными.
Тест
exim -bF /etc/exim/system_filter.conf <spam.eml
spam.eml
Subject: This is Spam Viagra
From: Fred Foo Jones <someuser@example.com>
To: John Smith <someother@mydomain.com>
Date: Mon, 22 Aug 2016 07:26:20 -0500
This is the body of the e-mail.
Тест сообщит вам, будет ли сообщение доставлено, отброшено ("Seen finish") или есть ошибки в файле фильтра (вы получите сообщение вроде Filter error: unknown filtering command "asldkf" near line 75 of filter file
)
Не решение ACL, но мне легко его поддерживать. Мне нужно обновлять system_filter.conf` только при изменении условий.
Я ставлю system_filter
в верхней части файла exim.conf (Основные настройки конфигурации). seen finish
это черная дыра команда; он инструктирует exim о завершении обработки сообщения.
Ссылка: Файлы фильтров exim