jueves, 26 de agosto de 2010

Bloquear Facebook por HTTPS con iptables en IpCop

Ultimamente en la oficina me encontre con que, a pesar que tengo filtro http para determinadas urls, me hacian un bypass del SquidGuard por el puerto 443 (HTTPS).

Actualmente estoy usando IpCop 1.4.21 + layer 7 + UrlFilter (SquidGuard) + AdvProxy (2.7 stable 9).

Para poder bloquear el trafico a determinados sitios por https use iptables.
Obviamente no es tan facil tocar las tablas que vienen por defecto, para agregar reglas personalizadas hay una cadena CUSTOMFORWARD

Editamos el archivo /etc/rc.d/rc.local

#bloqueo facebook
#primero HABILITO a la ip o las ips que esten permitidas acceder a la ip en cuestion (facebook)
/sbin/iptables -t filter -A CUSTOMFORWARD -s 192.168.10.11/24 -d 66.220.144.0/20 -p tcp --dport 443 -j ACCEPT
#DENIEGO a todas las demas
/sbin/iptables -t filter -A CUSTOMFORWARD -s 192.168.10.0/24 -d 69.63.189.0/24 -p tcp --dport 443 -j DROP
#DENIEGO otro rango de ips que a veces es usado por facebook
/sbin/iptables -t filter -A CUSTOMFORWARD -s 192.168.10.0/24 -d 69.63.190.0/24 -p tcp --dport 443 -j DROP

esta es otra manera de hacerlo, pero atentos ya que nuestro ipcop debe tener el modulo iprange (el mio si lo tiene, tal vez haya alguna version sin este modulo)


/sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.10.2-192.168.10.250 -d 204.74.0.0/16 -p tcp --dport 443 -j DROP
/sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.10.2-192.168.10.250 -d 66.220.144.0/20 -p tcp --dport 443 -j DROP
Otra forma de poder hacerlo es setear todos los browsers con proxy (ip del proxy puerto 81 o el puerto en el que apunten sus proxys), en mi caso preferi bloquear con tablas ya que son muchos clientes que deberia configurar y como no tengo uniformidad de browsers hay que hacelo a mano.

espero que les haya servido.

12 comentarios:

  1. Y te sale por algun lado la vigilateada! al menos te podes descargar por aca :P

    ResponderEliminar
  2. no hay mail que por bien no venga

    ResponderEliminar
  3. Gracias. me funciono la primera opción

    ResponderEliminar
  4. Hola, me pareció muy bueno tu artículo yo estoy haciendo algo similar. Pero además quiero controlar el ancho de banda. Vi un addon del ipcop para el QoSNG pero me pide el Layer7-filter para 1.4.21
    ¿Donde lo conseguiste?¿lo puedes compartir?

    Gracias de antemano

    ResponderEliminar
  5. ahora busco donde tengo el modulo y como instalarlo, me olvide la verdad, esta dificil de conseguir en la web, en mhaddons estaba pero dame unos dias que lo busco y publico como hacerlo

    ResponderEliminar
  6. Gracias carnal lo probé y al parecer funciono bien solo que tuve que bloquear otra dirección la 69.63.181.0 por que después de un tiempo me resolvía la dirección utilizando esta ip con un nslookup facebook.com me arrojo el rango de direcciones que utiliza facebook

    ResponderEliminar
  7. buenas estoy tranado de bloquearlo he intentado de las 2 maneras y no he podido :S

    ResponderEliminar
  8. no se si estare haciendo algo mal te muestro como lo puse

    /sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.3.2-192.168.3.250 -d 204.74.0.0/16 -p tcp --dport 443 -j DROP

    /sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.3.2-192.168.3.250 -d 66.220.144.0/20 -p tcp --dport 443 -j DROP

    ResponderEliminar
  9. Javier mira te cuento lo que me viene pasando a mi tambien es que facebook esta cambiando los rangos de ip muy seguido
    te paso lo que tengo yo en las tablas
    /sbin/iptables -t filter -A CUSTOMFORWARD -s 192.168.10.0/24 -d 69.63.189.0/24 -p tcp --dport 443 -j DROP
    /sbin/iptables -t filter -A CUSTOMFORWARD -s 192.168.10.0/24 -d 69.63.190.0/24 -p tcp --dport 443 -j DROP
    /sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.10.2-192.168.10.250 -d 66.220.156.0/24 -p tcp --dport 443 -j DROP
    /sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.10.2-192.168.10.250 -d 204.74.0.0/16 -p tcp --dport 443 -j DROP
    /sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.10.2-192.168.10.250 -d 66.220.144.0/24 -p tcp --dport 443 -j DROP
    /sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.10.2-192.168.10.250 -d 66.220.147.0/24 -p tcp --dport 443 -j DROP
    /sbin/iptables -t filter -A CUSTOMFORWARD -m iprange --src-range 192.168.10.2-192.168.10.250 -d 69.63.0.0/16 -p tcp --dport 443 -j DROP

    vos tendrias que cambiar el src-range

    Cuando no te bloquee hacete un ping facebook.com y el rango entero bloquealo con tables. Un abrazo y si no te funca avisame!

    ResponderEliminar
  10. tengo el mismo problemas pero yo estoy empezando desde cero, mi pregunta es la siguiente como instalaste Layer ?

    ResponderEliminar
  11. Gracias a todos por sus grandes aportes. Necesito me hagan el favor y me ayuden a solucionar un conflicto que tengo. Lo que pasa es que al momento de bloquear youtube por medio de las IPs, también se bloquea el Acceso a GMAIL. Agradezco inmensamente a quien pueda darme una mano, para crear una regla para habilitar el acceso a GMAIL. Muchas gracias

    ResponderEliminar