хочу посоветоваться по поводу уменьшения нагрузки на почтовый сервер с помощью фаервола.
вот такие правила :
Код: Выделить всё
iptables -N SMTP
iptables -N SMTP_REJECT_1
iptables -N SMTP_REJECT_2
iptables -N SMTP_REJECT_3
iptables -N SMTP_REJECT_4
iptables -A INPUT -p tcp --dport 25 -m state --state NEW -j SMTP
iptables -A SMTP -m recent --update --name SMTP_REJECT_1 --seconds 600 --hitcount 1 -j DROP
iptables -A SMTP -m recent --update --name SMTP_REJECT_2 --seconds 3600 --hitcount 1 -j DROP
iptables -A SMTP -m recent --update --name SMTP_REJECT_3 --seconds 86400 --hitcount 1 -j DROP
iptables -A SMTP -m recent --update --name SMTP_REJECT_4 --seconds 604800 --hitcount 1 -j DROP
iptables -A SMTP -m recent --set --name smtp_c1
iptables -A SMTP -m recent --set --name smtp_c2
iptables -A SMTP -m recent --set --name smtp_c3
iptables -A SMTP -m recent --set --name smtp_c4
iptables -A SMTP -m recent --update --name smtp_c1 --seconds 60 --hitcount 10 -j SMTP_REJECT_1
iptables -A SMTP -m recent --update --name smtp_c2 --seconds 600 --hitcount 20 -j SMTP_REJECT_2
iptables -A SMTP -m recent --update --name smtp_c3 --seconds 3600 --hitcount 40 -j SMTP_REJECT_3
iptables -A SMTP -m recent --update --name smtp_c4 --seconds 86400 --hitcount 100 -j SMTP_REJECT_4
iptables -A SMTP -m limit --limit 1/sec --limit-burst 3 -j ACCEPT
iptables -A SMTP -j REJECT
iptables -A SMTP_REJECT_1 -m recent --set --name SMTP_REJECT_1
iptables -A SMTP_REJECT_1 -j LOG --log-prefix "INPUT smtp REJECT: (10min)"
iptables -A SMTP_REJECT_1 -j REJECT
iptables -A SMTP_REJECT_2 -m recent --set --name SMTP_REJECT_2
iptables -A SMTP_REJECT_2 -j LOG --log-prefix "INPUT smtp REJECT: (1h)"
iptables -A SMTP_REJECT_2 -j REJECT
iptables -A SMTP_REJECT_3 -m recent --set --name SMTP_REJECT_3
iptables -A SMTP_REJECT_3 -j LOG --log-prefix "INPUT smtp REJECT: (1day)"
iptables -A SMTP_REJECT_3 -j REJECT
iptables -A SMTP_REJECT_4 -m recent --set --name SMTP_REJECT_4
iptables -A SMTP_REJECT_4 -j LOG --log-prefix "INPUT smtp REJECT: (7day)"
iptables -A SMTP_REJECT_4 -j REJECT
1. все новые входящие соединения на 25 порт заворачиваем в цепочку SMTP
2. подготавливаем счетчики, блокируем уже папавших в списки и ограничиваем скорость входящих коннектов до 1 входа в секунду
3. считаем счётчики и отправляем в забвение если они превышины:
10 писем в минуту - бан на 10 мин
20 писем в 10 мин - бан на час
40 писем в час - бан на сутки
100 писем в день - бан на неделю
примерно так, ну и логим действия с соответствующим временем бана.
ввел такие правила в проверку, собираю статистику, просматривая логи.
пока хуже не стало посмотрим что дальше будет
P.S. в спам листах сейчас 714 ip проверял их по доменным именам, выборочно смотрел логи - в основном это хосты отлупленные из за присутствия в блек листах внешних (spamhaus.org)