1 | изначальная версия редактировать | |
Прежде чем начинать работать с iptables посоветую зайти на www.opennet.ru Там есть очень много примеров.
Сделайте следующее:
скопируйте следующее в этот фаил
# Generated by iptables-save v1.4.2 on Tue Nov 16 10:00:55 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:SCAMBLOCK - [0:0]
# Jump to SCAMBLOCK chain to check connection to 5060 udp port
-A INPUT -p udp —dport 5060 -j SCAMBLOCK
# Returning after SCAMBLOCK chain
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "SYN Not New:"
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "Packet died: " --log-level 7
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j LOG --log-prefix "ICMP Oversize:" --log-level 7
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 3/sec -j ACCEPT
-A INPUT -p icmp -f -j LOG --log-prefix "ICMP Fagment:"
-A INPUT -p icmp -f -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 3306 -j LOG --log-prefix "TCP Try connect MySQL server:"
-A INPUT -p tcp -m tcp --dport 3306 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p udp -m udp --dport 3306 -j LOG --log-prefix "UDP Try connect MySQL server:"
-A INPUT -p udp -m udp --dport 3306 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j DROP
#SCAMBLOCK chain for cheking udp 5060 port
-A SCAMBLOCK -p udp —dport 5060 -m recent —set —name SIP
-A SCAMBLOCK -p udp —dport 5060 -m recent —update —seconds 2 —hitcount 60 —name SIP -j LOG —log-prefix «SIP flood detected:»
-A SCAMBLOCK -p udp —dport 5060 -m recent —update —seconds 2 —hitcount 60 —name SIP -j REJECT --reject-with icmp-port-unreachable
#Return to INPUT chain
-A SCAMBLOCK -j RETURN
COMMIT
# Completed on Tue Nov 16 10:00:55 2010
потом iptables-restore < <имя файла>
я прописал это "iptables-restore < <имя файла>" в rc.local. У меня Дебиян.
Посмотрите в сторону fail2ban. Про него много написано и под разные Linux дистрибутивы
2 | No.2 Revision редактировать |
Прежде чем начинать работать с iptables посоветую зайти на www.opennet.ru Там есть очень много примеров.
Сделайте следующее:
скопируйте следующее в этот фаилфаил (может вам нужно видоизменить даный код)
# Generated by iptables-save v1.4.2 on Tue Nov 16 10:00:55 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:SCAMBLOCK - [0:0]
# Jump to SCAMBLOCK chain to check connection to 5060 udp port
-A INPUT -p udp —dport 5060 -j SCAMBLOCK
# Returning after SCAMBLOCK chain
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "SYN Not New:"
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "Packet died: " --log-level 7
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j LOG --log-prefix "ICMP Oversize:" --log-level 7
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 128:65535 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 3/sec -j ACCEPT
-A INPUT -p icmp -f -j LOG --log-prefix "ICMP Fagment:"
-A INPUT -p icmp -f -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 3306 -j LOG --log-prefix "TCP Try connect MySQL server:"
-A INPUT -p tcp -m tcp --dport 3306 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p udp -m udp --dport 3306 -j LOG --log-prefix "UDP Try connect MySQL server:"
-A INPUT -p udp -m udp --dport 3306 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j DROP
#SCAMBLOCK chain for cheking udp 5060 port
-A SCAMBLOCK -p udp —dport 5060 -m recent —set —name SIP
-A SCAMBLOCK -p udp —dport 5060 -m recent —update —seconds 2 —hitcount 60 —name SIP -j LOG —log-prefix «SIP flood detected:»
-A SCAMBLOCK -p udp —dport 5060 -m recent —update —seconds 2 —hitcount 60 —name SIP -j REJECT --reject-with icmp-port-unreachable
#Return to INPUT chain
-A SCAMBLOCK -j RETURN
COMMIT
# Completed on Tue Nov 16 10:00:55 2010
потом iptables-restore < <имя файла>
я прописал это "iptables-restore < <имя файла>" в rc.local. У меня Дебиян.
Посмотрите в сторону fail2ban. Про него много написано и под разные Linux дистрибутивы
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.