Blackhold

Bloquear facebook con iptables

Posted on setembre 8th, 2013 by admin

Tenemos un proxy transparente con squidguard bloqueando algunas webs, pero sólo se bloquean las webs que no són https, ya que si le indicamos que las conexiones https se envien al proxy, nos encontramos que se modifica la cadena de verificación de las webs a las cuales accedemos por https y nos avisa de un “man in the middle”.

Para ello tenemos dos opciones, ssl-bump de squid3, con el que le pasamos un certificado intermedio o usamos reglas de iptables. La primera opción no se ha dejado, así que he pasado a la opción de bloquearlas con iptables.

Lo primero que tenemos que saber es que si pasan conexiones https a través de nuestro servidor proxy transparente, dichas conexiones van cifradas y no es posible distingir la url a la que se dirigen. Para ello tenemos que filtrar por IP, pero… si lo que queremos bloquear es un site con muchas ips y además de que pueden ir variando, la cosa se complica.

Por suerte tras buscar un poco he encontrado una solución realmente interesante. Con un poco de bash y una petición al AS de facebook, podemos sacar los rangos de IPs con los cuales trabaja esta empresa.

# BLOCK FACEBOOK
for i in $(/usr/bin/whois -h whois.radb.net '!gAS32934' | tr ' ' 'n' | sort -n -k1,1 -k2,2 -k3,3 -k4,4 |grep /)
do iptables -A FORWARD -d $i -j DROP
done

Luego si queremos ver como se ha aplicado la regla

# iptables -L -n 

Adicionalmente, aunque la dejo comentada, en muchas webs ofrecían esta otra línea para bloquear las webs, pero tal como he comentado al principio, al ser conexiones https no es posible saber la URL. Así que una de dos, me equivoco yo o se equivocan estas webs y foros :P

iptables -A INPUT -p tcp --dport 443 -m string --string 'facebook' --algo bm -j DROP

La muestro, porqué puede ser interesante para bloquear alguna otra web, aunque si tenemos el squidguardian es un poco absurdo, ya que podemos añadirlo ahí y que nos redireccione a la web informando que la web está bloqueada.

This entry was posted on diumenge, setembre 8th, 2013 at 17:42 and is filed under bash, proxy. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

« »

guy fawkes