¿Las reglas de iptables tienen control sobre los paquetes de sockets sin formato?

¿Las reglas de iptables tienen control sobre los paquetes de sockets sin formato?

Un programa que uso genera algunas conexiones TCP usando el modo de paquetes sin formato. Digamos que ejecuté esos dos comandos:

/sbin/iptables -A INPUT -s 8.0.0.0/8 -j DROP
/sbin/iptables -A OUTPUT -d 8.0.0.0/8 -j DROP

¿Es seguro asumir que no se enviarán paquetes a esa red?

Respuesta1

Parece que lamentablemente no funciona. Así es como lo comprobé. Usemos dos servidores: 1.1.1.1 y 2.2.2.2. 1.1.1.1 enviará paquetes, 2.2.2.2 escuchará.

Primero, configuremos el rastreo en 2.2.2.2:

➜  ~ sudo tcpdump -vv 'src 1.1.1.1'
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

Ahora, enviemos un paquete por el puerto 995 a esa IP:

$ zmap --whitelist-file=<( echo 2.2.2.2 ) -p 995 -n 1

Como era de esperar, estamos viendo tráfico desde 1.1.1.1 a 2.2.2.2:

11:18:49.330632 IP (tos 0x0, ttl 250, id 54321, offset 0, flags [none], proto TCP (6), length 40)
    1.1.1.1.47495 > 2.2.2.2.pop3s: Flags [S], cksum 0x5e8a (correct), seq 4248475135, win 65535, length 0
11:18:49.331688 IP (tos 0x0, ttl 59, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    1.1.1.1.47495 > 2.2.2.2.pop3s: Flags [R], cksum 0x5e87 (correct), seq 4248475136, win 0, length 0

Ahora, intentemos bloquear eso en 1.1.1.1 y repetir la prueba:

$ /sbin/iptables -A OUTPUT -d 2.2.2.2  -j DROP
$ zmap --whitelist-file=<( echo 2.2.2.2 ) -p 995 -n 1

Desafortunadamente, estamos viendo más datos de tcpdump. Esto significa que no funcionó.

Finalmente resolví el problema en una capa diferente, utilizando la funcionalidad de firewall de mi proveedor de nube.

información relacionada