Tiro monedas al aire, pero hasta ahora nunca las pude agarrar.

Muchas veces queremos bloquear dominios cómo Facebook y debemos de crear reglas en iptables. Cómo no tenía ninguna regla en mi firewall, creamos un archivo /etc/network/if-up.d/firewall con nano. Escribimos en la consola:
nano /etc/network/if-up.d/firewall

Les dejo un ejemplo de mi archivo:
#!/bin/sh
## Es un breve ejemplo para mostrar el bloqueo de un dominio.
## En este caso www.facebook.com.
## Este script no es para replicar en un server, es solo una muestra.
echo -n Aplicando Reglas de Firewall...


## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos politica por defecto: ACCEPT
## Aceptamos todo.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

## Debemos decir de manera explicita qué es lo que queremos filtrar
## En este caso filtramos el acceso a www.facebook.com
iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 80 -j DROP
iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 443 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 80 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 443 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 80 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 66.220.144.0-66.220.159.255 --dport 443 -j DROP

iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 80 -j DROP
iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 443 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 80 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 443 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 80 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 69.63.176.0-69.63.191.255 --dport 443 -j DROP

iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 80 -j DROP
iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 443 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 80 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 443 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 80 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 204.15.20.0-204.15.23.255 --dport 443 -j DROP

iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 69.171.224.0-69.171.255.255 --dport 80 -j DROP
iptables -A INPUT -m tcp -p tcp -m iprange --dst-range 69.171.224.0-69.171.255.255 --dport 443 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 69.171.224.0-69.171.255.255 --dport 80 -j DROP
iptables -A FORWARD -m tcp -p tcp -m iprange --dst-range 69.171.224.0-69.171.255.255 --dport 443 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 69.171.224.0-69.171.255.255 --dport 80 -j DROP
iptables -A OUTPUT -m tcp -p tcp -m iprange --dst-range 69.171.224.0-69.171.255.255 --dport 443 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

# Fin del script

Luego lo guardamos (Control + o), y lo cerramos (Control + x). Ahora tenemos que darle permisos de ejecución a /etc/network/if-up.d/firewall. Escribimos en la consola:
chmod 755 /etc/network/if-up.d/firewall

Ahora reiniciamos la interfaz de red (eth0). Escribimos en la consola:
/etc/init.d/networking stop && /etc/init.d/networking start && ifup eth0

Y debería de funcionar.
Para verificar. Entramos a la consola y escribimos:
iptables -L -n

Nos saldría esto por pantalla:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 66.220.144.0-66.220.159.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 66.220.144.0-66.220.159.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 69.63.176.0-69.63.191.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 69.63.176.0-69.63.191.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 204.15.20.0-204.15.23.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 204.15.20.0-204.15.23.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 69.171.224.0-69.171.255.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 69.171.224.0-69.171.255.255


Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 66.220.144.0-66.220.159.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 66.220.144.0-66.220.159.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 69.63.176.0-69.63.191.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 69.63.176.0-69.63.191.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 204.15.20.0-204.15.23.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 204.15.20.0-204.15.23.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 69.171.224.0-69.171.255.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 69.171.224.0-69.171.255.255

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 66.220.144.0-66.220.159.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 66.220.144.0-66.220.159.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 69.63.176.0-69.63.191.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 69.63.176.0-69.63.191.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 204.15.20.0-204.15.23.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 204.15.20.0-204.15.23.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 destination IP range 69.171.224.0-69.171.255.255
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 destination IP range 69.171.224.0-69.171.255.255

Y ahora probamos con un navegador para verificar que no nos podemos conectar a Facebook.
Pueden hacer lo mismo con cualquier dominio.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *