Bloquear navegacion con iptables

noviembre 10, 2011

Supongamos que tenemos una red en la que tenemos permitida la navegación en todas las maquinas y a todos los sitios. Supongamos también que no disponemos de ningún dispositivo con filtrado. Ni es viable usar algun proxy tipo squid.

Bien, en ultima instancia disponemos de una herramienta MUY poderosa: iptables.

Asumiendo que sabemos el manejo basico de iptables, podemos hacer un script como:

#! /bin/bash

## Flusheamos todas las reglas

iptables -F
iptables -X

Con esto limpiamos todas las reglas, antes de definir las nuestras.

## Lista de dominios permitidos

iptables -A INPUT -d google.com -p tcp –dport 80 -j ACCEPT
iptables -A OUTPUT -d google.com -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -d google.com -p tcp –dport 443 -j ACCEPT
iptables -A OUTPUT -d google.com -p tcp –dport 443 -j ACCEPT

Con esto permitimos el paso de los dominios que queremos que SI funcionen, teniendo en cuenta los puertos http (80) y https (443)
Nota: acá estamos permitiendo el tráfico entrante (INPUT) y saliente (OUTPUT) a dicho dominio, a los puertos 80 y 443

## Por ultimo
## bloqueamos TODO (entrante y saliente) con destino al puerto 80 (http)

iptables -A INPUT -p tcp –dport 80 -j REJECT
iptables -A OUTPUT -p tcp –dport 80 -j REJECT

Con esto bloqueamos el trafico saliente y entrante a todos los dominios/IPs/MAC adress que tenga como destino el puerto 80
Nota: con solo usar la cadena OUTPUT debería bastar, pero soy desconfiado..

## Y por las dudas tambien
## bloqueamos TODO (entrante y saliente) con destino al puerto 443 (https)

iptables -A INPUT -p tcp –dport 443 -j REJECT
iptables -A OUTPUT -p tcp –dport 443 -j REJECT

Lo mismo que lo anterior pero al puerto 443 (https)

Todo lo anterior lo copiamos y lo pegamos en un fichero de texto, lo nombramos, lo metemos en /usr/bin/ y le damos permisos de ejecución [chmod +x fichero]

editamos el fichero /etc/rc.local y agregamos la ejecución de nuestro script para que en cada inicio de sistema cargue las reglas de iptables.

Posts relacionados

  • No hay posts relacionados

posted in GNU/Linux, Internet, Sysadmin, Tips by Administrador

Follow comments via the RSS Feed | Deja un comentario | Trackback URL

Leave Your Comment

*

 
Powered by Wordpress and MySQL. | Theme inspired by Shlomi Noach, openark.org. | Modified by Fernando Ramirez
CODE IS POETRY