iptables está ignorando regras?

1

Eu encontrei algum tráfego estranho através de tcpdump (o tráfego está sempre em andamento):

13:00:13.203754 IP 1.2.3.4.1028 > 188.113.188.16.56881: UDP, length 103
13:00:13.204396 IP 1.2.3.4.1028 > 180.183.209.27.29546: UDP, length 103
13:00:13.204972 IP 1.2.3.4.1028 > 95.188.250.39.6881: UDP, length 103
13:00:13.205509 IP 1.2.3.4.1028 > 125.39.30.33.5493: UDP, length 103
13:00:13.206048 IP 1.2.3.4.1028 > 46.194.14.254.32232: UDP, length 103
13:00:13.206526 IP 1.2.3.4.1028 > 151.52.30.111.6881: UDP, length 103
13:00:13.207097 IP 1.2.3.4.1028 > 70.27.63.150.64389: UDP, length 103
13:00:13.207555 IP 1.2.3.4.1028 > 108.12.215.184.42880: UDP, length 103
13:00:13.208082 IP 1.2.3.4.1028 > 37.105.27.136.54752: UDP, length 103
13:00:13.209671 IP 1.2.3.4.1028 > 61.53.14.223.6881: UDP, length 106
13:00:13.266142 IP 46.35.235.75.10995 > 1.2.3.4.1028: UDP, length 289
13:00:13.276353 IP 86.162.78.254.20206 > 1.2.3.4.1028: UDP, length 289
13:00:13.345021 IP 108.12.215.184.42880 > 1.2.3.4.1028: UDP, length 289
13:00:13.349955 IP 46.194.14.254.32232 > 1.2.3.4.1028: UDP, length 289
13:00:13.357145 IP 70.27.63.150.64389 > 1.2.3.4.1028: UDP, length 289
13:00:13.373275 IP 37.105.27.136.54752 > 1.2.3.4.1028: UDP, length 289
13:00:13.785877 IP 61.53.14.223.6881 > 1.2.3.4.1028: UDP, length 311
13:00:13.880421 IP 1.2.3.4.1028 > 86.38.202.92.63287: UDP, length 1438
13:00:13.913168 IP 122.174.79.84.34858 > 1.2.3.4.1028: UDP, length 289
13:00:14.057212 IP 86.38.202.92.63287 > 1.2.3.4.1028: UDP, length 20
... many more lines with same or different hosts

1.2.3.4 é o meu endereço WAN (mudou para não torná-lo publicamente disponível). A porta 1028 nunca está aberta no meu firewall, eu até tentei DROP:

$IPT -I INPUT -p udp --sport 1028 -j DROP
$IPT -I INPUT -p udp --dport 1028 -j DROP
$IPT -I FORWARD -p udp --sport 1028 -j DROP
$IPT -I FORWARD -p udp --dport 1028 -j DROP
$IPT -I OUTPUT -p udp --sport 1028 -j DROP
$IPT -I OUTPUT -p udp --dport 1028 -j DROP

$IPT -A INPUT -p udp --sport 1028 -j DROP
$IPT -A INPUT -p udp --dport 1028 -j DROP
$IPT -A FORWARD -p udp --sport 1028 -j DROP
$IPT -A FORWARD -p udp --dport 1028 -j DROP
$IPT -A OUTPUT -p udp --sport 1028 -j DROP
$IPT -A OUTPUT -p udp --dport 1028 -j DROP

As regras são assim:

root@server-14:/# iptables -n -L
Chain INPUT (policy DROP)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
ACCEPT     all  --  127.0.0.1            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 67,68
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:221 state NEW,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21 state ESTABLISHED
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp spt:1028
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:1028

lsof -p 1028 não mostra nada, netstat -antlpu também não mostra.

Tentei com -A , com -I , mesmo (como você pode ver) com os dois. Isso simplesmente não funciona, o tráfego continua a fluir. Às vezes, a essas taxas, a conexão com a Internet está se tornando instável. Estou até começando a pensar que fui colocado em algum tipo de botnet ou algo assim ...

    
por YOhan 10.12.2014 / 12:30

2 respostas

1

lsof -p 1028 filtros para a ID do processo 1028 .

Você deve tentar:

# lsof -Pnl +M -i4

para uma lista de portas IPv4 abertas e seus processos proprietários. O -Pnl é opcional, mas torna-o um pouco mais rápido, pois não faz pesquisas de nome, etc., para você.

Ou:

# lsof -i :1028

para listar tudo que está escutando na porta 1028.

Se houver algo estranho acontecendo, você precisará chegar ao fim, em vez de simplesmente bloquear o tráfego com as regras iptables .

    
por 10.12.2014 / 13:05
1

tcpdump mostra o que a interface vê. Obviamente, os pacotes precisam chegar primeiro à interface antes que o Netfilter ( iptables ) possa eliminá-los. Assim, iptables nunca pode impedir que você veja o tráfego de entrada. Isso pode impedir que esse tráfego tenha um efeito (além de desperdiçar sua largura de banda ...).

Mas não deve haver mais pacotes de saída.

Talvez o seu Firewall seja reiniciado de tempos em tempos?

Antes de ver seu conjunto de regras, achei que o problema é que as conexões já estão estabelecidas. Mas suas regras DROP são anteriores. Em geral, pode ajudar a liberar as conexões conhecidas após fazer alterações no firewall: conntrack flush

    
por 10.12.2014 / 13:30