iptables: Permitir intervalo de portas, mas negar a determinado IP

2

Estou executando um servidor que precisa de portas UDP 1000: 11000 abertas, assim como TCP 10011 e 30033 abertas para funcionar.

Eu tenho um conjunto de regras iptables definido para permitir SSH e essas portas, e intencionalmente deixei de fora 2010 como eu estou sendo atacado nessa porta. O servidor não bloqueia o IP recebido mesmo quando solicitado. O IP que precisa ser negado é: 194.97.114.3.

Meu script do iptables:

service iptables restart
iptables --flush

iptables -P INPUT DROP

iptables -A INPUT -i lo -p all -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 10011 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 30033 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT


iptables -A INPUT -s 194.97.114.3 -j DROP
iptables -I INPUT -p udp --destination-port 1000:2009 -j ACCEPT
iptables -I INPUT -p udp --destination-port 2011:11000 -j ACCEPT
service iptables save

Com isso, 194.97.114.3 ainda é capaz de se conectar na porta 2010. Por favor me ajude.

EDIT , saída iptables -L -v -N:

Chain INPUT (policy DROP 2833 packets, 412K bytes)
 pkts bytes target     prot opt in     out     source               destination
 305K   26M ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:2011:11000
 2910  128K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:1000:2009
  145 19881 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
  303 17915 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:10011
   41  1816 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:30033
  393 28420 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
    6   216 DROP       all  --  *      *       194.97.114.3         0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 415K packets, 37M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22

Chain RH-Firewall-1-INPUT (0 references)
 pkts bytes target     prot opt in     out     source               destination
    
por Collin Biedenkapp 04.08.2012 / 04:22

2 respostas

1

Você pode tentar me seguir

echo > /etc/sysconfig/iptables
service iptables restart
iptables -I INPUT -p tcp -m state --state NEW -m multiport ! --dports 30033,10011,22 -j DROP
iptables -I INPUT -p udp -m multiport --dports 1000:2009,2011:11000 -j ACCEPT
iptables -I INPUT -p udp -m multiport -s 194.97.114.3 --dports 1000:2009,2011:11000 -j DROP
    
por 04.08.2012 / 04:43
3

Mova sua linha DROP para antes das linhas ACCEPT.

    
por 04.08.2012 / 05:35