Вообщем глянул в основном дропаются 25 и 445 и 135 как мне правельно банить атаки?
Помогите разобраться...
У меня в скрипте 25 445 и 135 фигурируют только в
$IPTABLES -A FORWARD -p TCP --dport 25 -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A local_in -p TCP -s $LAN_IP_RANGE --dport 445 -j ACCEPT
135 ваще нет.. т.е. все закрыты
Это же все мне не нужно?
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -p icmp -j ACCEPT
# Local network. A bit scary but generally safe to allow all things these pests could do.
-A INPUT ! -i eth0 -s 192.168.17.0/255.255.255.0 -m conntrack --ctstate NEW -j ACCEPT
# Flood/portscan check. Basically - aggregating all monitored ports into one rule, to make portscan looks like flood to the system.
-A INPUT -p tcp -m multiport --dports 9,22,25,110,4899 -m conntrack --ctstate NEW -j SSH_CHECK
# And now, we be dealin' with only connections that made it past the generic flood check.
-A INPUT -p tcp -m tcp --dport 9 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 110 -m conntrack --ctstate NEW -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 1723 -m conntrack --ctstate NEW -j ACCEPT
# Log everything that made it past the rules up there and didn't came from the wild.
-A INPUT ! -i eth0 -j LOG
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
-A FORWARD ! -i eth0 -s 192.168.17.0/255.255.255.0 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD ! -i eth0 -j LOG
# Here is the check.
# If we happen to have completely new client - create a new record for it. If it's exist already - it'll be updated.
-A SSH_CHECK -m conntrack --ctstate NEW -m recent --name SSH --rsource --set
# We first check, if there's existing record(s) for originating IP in the list, how old it is, and how many of them we have.
# If all limits are exceeded, the connection will be dropped.
-A SSH_CHECK -m conntrack --ctstate NEW -m recent --update --seconds 90 --hitcount 4 --name SSH --rsource -j REJECT --reject-with icmp-port-unreachable
COMMIT
Можете объяснить что мне нужно добавить и небольшое описание...
как я понимаю мне нужно:
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT Все новые соединения это мне не надо?
-A INPUT -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j REJECT --reject-with icmp-port-unreachable - говорим что порт недоступен?
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT - не понял, у меня есть -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A SSH_CHECK -m conntrack --ctstate NEW -m recent --name SSH --rsource --set - считаем кол подключений?
-A SSH_CHECK -m conntrack --ctstate NEW -m recent --update --seconds 90 --hitcount 4 --name SSH --rsource -j REJECT --reject-with icmp-port-unreachable если за 90 секунд 4 подключения бан?