Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2012-09-06 23:46:13 +0400

varnar Gravatar varnar

Прежде чем начинать работать с iptables посоветую зайти на www.opennet.ru Там есть очень много примеров.

Сделайте следующее:

  1. создайте фаил с именем iptables.ok
  2. скопируйте следующее в этот фаил

        # 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
    
  3. потом iptables-restore < <имя файла>

  4. я прописал это "iptables-restore < <имя файла>" в rc.local. У меня Дебиян.

Посмотрите в сторону fail2ban. Про него много написано и под разные Linux дистрибутивы

Прежде чем начинать работать с iptables посоветую зайти на www.opennet.ru Там есть очень много примеров.

Сделайте следующее:

  1. создайте фаил с именем iptables.ok
  2. скопируйте следующее в этот фаилфаил (может вам нужно видоизменить даный код)

        # 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
    
  3. потом iptables-restore < <имя файла>

  4. я прописал это "iptables-restore < <имя файла>" в rc.local. У меня Дебиян.

Посмотрите в сторону fail2ban. Про него много написано и под разные Linux дистрибутивы

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.