Тут занимаясь антиспам фильтром spamassassin немного добавил правил в exim и был удивлен, тем что новые правила стали пропускать намного меньше спама. сейчас в день приходит порядка 50 писем спама, которые помечаются spamassassin, до этого их количество переваливало за 100.
Вот хочу поделиться своими правилами и выслушать критику.
Код: Выделить всё
# Запретить ip адрес отправителя в HELO
# Deny if IP address in HELO
deny message = "Your IP in HELO - access denied!"
hosts = *:!+relay_from_hosts:!+local_network:!127.0.0.1:!localhost
condition = ${if eq{$sender_helo_name} {$sender_host_address}{true}{false}}
# Запретить IP адрес сетевого интерфейса в HELO
# Deny if IP address in HELO
deny message = "main IP in your HELO! Access denied!"
hosts = *:!+relay_from_hosts:!+local_network:!127.0.0.1:!localhost
condition = ${if eq {$sender_helo_name} {$interface_address}{yes}{no}}
# Запретить если в HELO только цифры (Попадается мало)
# Deny number in HELO
deny message = "can not be only number in HELO"
hosts = !127.0.0.1:!localhost:*
condition = ${if match{$sender_helo_name} {\N^\d+$\N}{yes}{no}}
# Запретить если в HELO только буквы (Попадается довольно много, в основном отрубается порно спам)
# Deny only literals in HELO
deny message = "can not be only literals in HELO"
hosts = !127.0.0.1:!localhost:*
condition = ${if match{$sender_helo_name} {\N^\w+$\N}{yes}{no}}
# Запретить если в HELO только символы пробелов или табуляций (Пока не заметил много срабатываний)
# Deny only space in HELO
deny message = "can not be only spaces in HELO"
hosts = !127.0.0.1:!localhost:*
condition = ${if match{$sender_helo_name} {\N^\s+$\N}{yes}{no}}
# Запретить в HELO использование имени моего почтового сервера
# Deny if my name in HELO
deny message = "It's my name - access denied (HELO is not accept)"
hosts = !127.0.0.1:!localhost:*
condition = ${if match{$sender_helo_name} {my_mx}{yes}{no}}
# Запретить в HELO использование имени моего почтового сервера
# Deny if my name in HELO
deny message = "It's my name - access denied (HELO is not accept)"
hosts = !127.0.0.1:!localhost:*
condition = ${if match{$sender_helo_name} {my_mx2}{yes}{no}}
# Запретить в HELO символ подчеркивания (Поправьте меня если не правильно понял регекс)
deny condition = ${if match{$sender_helo_name}{\N_\N}{yes}{no}}
message = "This is not HELO name"
hosts = *:!127.0.0.1:!localhost:!+relay_from_hosts:!+local_network
На двух серверах проверка на одни буквы находится в пятерке самых используемых, после этого кстати почти нет спама с порно
Отчет existats
39259 Rejected RCPT: dnsbl
25309 Rejected RCPT: "can not be only literals in HELO"
14119 Rejected RCPT: Sorry, we dont accept mail from dialup and so on. Please, use mail server of Your ISP
5763 Rejected RCPT: Sender verify failed
5386 Rejected RCPT: User unknown (my.domain)
Хотелось бы что бы данная тема не умерла и по мере возможности Уважаемые посетители форума тоже оставляли свои фильтры для отсеивания спама.
Заранее всем спасибо!