Mensaje que muestra URL Filter cuando una dirección ha sido bloqueada.

Bloquear facebook con IPCop + iptables

Se que bloquear facebook no me hace el administrador de redes más popular, pero yo solo soy la mano ejecutora, no el que dicta la sentencia.

Bloquear facebook no es sencillo, algunos usan la estrategia de squid, otros usando iptables, creo que lo mejor es usar varias estrategias.

Bloqueo mediante el proxy (squidGuard).

El bloqueo de proxy se logra usando el addon URL Filter, en la configuración del addon marque varias categorías, incluyendo socialnet.

categoría socialnet en URL Filter

Con esto será más que suficiente para bloquear el dominio de facebook y disuadir a algunos usuarios.

Mensaje que muestra URL Filter cuando una dirección ha sido bloqueada.

Si la vida fuera sencilla, con esto sería más que suficiente, pero los facebuadictos encuentran la forma de brincarse este bloqueo. Y es que tampoco es muy díficil, con entrar usando el protocolo https es más que suficiente debido a que el proxy no funciona en conexiones seguras. Por eso es necesario poner en acción algunos bloqueos con iptables.

¿Qué dirección IP Bloquear?

Lo primero es averiguar que dirección IP esta usando facebook, para eso use el comando nslookup

 

nslookup facebook.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: facebook.com
Address: 173.252.110.27

Ahi nos dice que la dirección es la 173.252.110.27, pero como esa no es la única que usa facebook, tendré que bloquear todo un rango de ips.

Modificar el archivo rc.firewall.local

IpCop es un poco sensible en cuanto a las configuraciones personalizadas, si no se hace en el archivo correcto, cualquier modificación que se haga desde la página de administración las eliminará.

Para agregar reglas personalizadas se edita el archivo /etc/rc.d/rc.firewall.local y agregar las líneas de bloqueo con iptables.

La regla es muy sencilla, sólo hay que saber la dirección ip del cliente que se quiere bloquear, ejemplo:

iptables -I FORWARD -s direccion.ip.del.sentenciado -p tcp -d 173.252.110.0/18 -j DROP

Si se fijan usamos la dirección IP que nos da el comando nslookup hasta la tercera cantidad, al final se agrega un cero y la máscara de red /18 para bloquear todo un rango de direcciones ip.

Llegó el momento de agregar esta regla justo despues de donde dice ## add your ‘start’ rules here.

Archivo: rc.firewall.local

De esa manera se aplicarán las reglas cada vez que se reinicie IPCop.

El resultado será el siguiente:

El resultado de bloquear facebook con iptables

Este consejo se puede aplicar a una gran variedad de sitios y firewalls basados en iptables, espero que les sea de utilidad.

BOFH Foreveeer !!!!

114 thoughts on “Bloquear facebook con IPCop + iptables

  1. Buenos dias , intereresante , una consulta en la opcion del sentenciado en ves de colocar toda la ip del sentenciado se podria colocar la ip de todo el segmento ?? si es asi oviamente nadie saldra pero si del segmento haya alguien a quien queramos habilitar cual seria la regla..

  2. linux man.. yo lo trate de bloquear de esta manera:

    iptables -I FORWARD -s 172.16.1.0/24 tcp -d 173.252.110.0/18 -j DROP
    

    la ip 172.16.1.0./24 es mi red local.. pero igual salta.. que hice mal… podrías darme unos tips..

  3. jajajaj que loco..soy…estuver apurado por eso lo coloque sin la p… esta claro en el comentario que puse falta una -p , pero en mi reglas del firewall si coloque jejej

    • Mejor pega tus reglas en paste.linuxmanr4.com y comparte el enlace, este sistema de comentarios no sabe como tratar el código.

      Por cierto voy a editar tu comentario anterior 🙂

  4. Que te parece si primero bloqueas una sola IP una sola para hacer la prueba de la regla y veamos si funciona… ok?

    Si lo hace, entonces ya veremos como hacer los ajustes a todo el rango de ips que quieres.

  5. es lo que hice primero bloquear………….una sola ip en ves de todo el rango de la red. pero no me funciona alguna otra idea maeestro..¡¡¡

  6. mmmmm si comprendes que en realidad estamos bloqueando el rango IP’s de facebook , no el puerto que ocupa https..

    que te dice el comando

    nslookup facebook.com ??

  7. no pues si bloqueo el puerto https me estaria colocando.. la soga al cuello debido a que mis usuarios utilixzan las paginas de los bancos… lo que estamos haciendo contigo es bloquear la salida a face denegando la salida en destinos a sus ips cuando hago nslookup ne da esto 173.252.110.27
    Espero tus comentarios amigo. ¡¡

  8. no puedo adjuntar imagen pero tengo log filter habilitado en advance proxy ,tengo dominios bloqueado y urls bloqueados con sus checks activados.. doctor….que puede estar pasando .. doctor..

  9. Acabo de aplicarme las reglas, y si no es por el proxy no sale…me marca error de conexión, Vamos que conmigo funcionan.

    Estamos usando la misma versión de ipcop? yo tengo la 1.4.21 ¿Cuál tienes tu?

    • Pues se me agotaron las ideas 🙂

      Comprobé las opciones por mi mismo y como puedes ver en este screenshot, el bloqueo funciona tanto en una conexión normal (http)

      bloque de facebook http

      Ya que me muestra un error del proxy.

      Y cuando lo intento por una conexión segura (https) simplemente no puede cargar la página porque agota el tiempo de conexión.

      bloqueo de facebook en conexiones seguras https

      Creo que estas cerca, pero no se que esta fallando, ¿No estará cargando facebook por el caché del navegador? …

  10. Para que tengas un alcance te comento.. actualmente , mi re local es de clase C : 192.168.1.0, el ipcop tiene los addons como urlfilter, advproxy, calmaris y blackouf traffic 3.0 y su direccion del ipcop 192.168.1.1 ,dentro de esta red mi PC tiene asiganda por dhcp 192.168.1.169 .. en el cual estoy virtualizando con Wmware 2 mquinas virtuales el ipcop y un xp , dentro del ipcop tendo 2 redes .. green y red.. la red tiene la siguiente ip 192.168.1.174 y mi green tiene el segement de .172.16.1.0 .. en este segmento mi ipcop la siguiente direccion ip 172.16.1.254 con sub red 255.255.255.0 y mi xp virtual tiene la siguiente direccion ip 172.16.1.90 la cual he colocado la siguiente regla…..iptables -I FORWARD -s 172.16.1.90/24 tcp -d 173.252.110.0/18 -j DROP

    no estare cometiendo algun error te lo comento para descartar.. ..
    saludos desde ya…

  11. ok linux man sabes he estado probando miles de formas y no m bloquean tu crees que lo salta porque el servidor principal no lo esta bloqueando ..???

  12. Pues por algún lado se esta colando, igual y puedes desactivar todos los proxys (supongo que tienes un proxy transparente).

    Yo tengo la ventaja de que sólo tengo un ipcop y es el que resuelve todo el tráfico. Tu mezcla de equipos es muy rara,

  13. bueno no era una mezcla sino que el ipcop virtual que esta dentro de mi pc…solo es una virtualizacion que stoy realizando y probando el ipcop en una maquina virtual .. para probar bloqqueando el facebook..
    ..

  14. Hola Linuxman gran aportación lo del face.. En mi trabajo años atrás, el principal distractor en el trabajo era el messenger, el buscaminas, solitario etc. Hoy en día es básico controlar algunas redes sociales, ya que se han vuelto un distractor mayor; secretarias, jefes de oficinas, jefes de depto en lugar de trabajar sus 8hrs, trabajan 7 o menos tiempo por estar posteando o revisando su faceee… 😀 yo encontré esta forma de bloqueo esperando que sea de utilidad para ti y los amigos que seguidores tu página
    Saludos

    iptables -I FORWARD -p tcp --dport 443 -m string --string 'facebook' --algo bm -j DROP
    

    Con esta línea dejas libre todos los accesos https, y el uno que marca page not found es el Facebook
    Para twitter :

    iptables -I FORWARD -p tcp --dport 443 -m string --string 'twitter' --algo bm -j DROP
    
  15. Tienes toda la razón, pero por alguna razón no lo puedo aplicar en la versión de iptables que tengo instalada actualmente en mi ipCop. Y por el momento no lo pienso actualizar a la versión 2 (si no esta roto, no lo arregles).

  16. Linuxman una pregunta, para aplicar lo que comentas en IPtables, tendría que desactivar el proxy y el urlfilter ?
    Gracias.

  17. del navegador o del ipcop , disculpa la ignorancia y si fuera del proxy al desactivar el web proxy todos se quedarian sin internet ??

  18. De ipcop y podrás navegar, pero ya no tendrás los beneficios de tener un proxy, todas las peticiones de páginas las hará a internet en lugar del proxy local.

  19. linuxman acabo de desactivar el web proxy… me fui a estado del sistema y aun sigo saliendo doctor.
    otra indicacion doctor.

  20. jaja solamente le he instalado su url filter su adv proxy , calamaris lo estoy haciendo funcionar como dns y dhcp este ipcop tiene una ip publica , luego ejecute lo que dice en tu blog spot y y desactive el adv proxy. pero igual sale.

  21. linuxman , averigue estas ip de facebook te las pasoo doctor.

    31.13.64.1/20
    66.220.144.0/20
    69.63.176.0/20
    69.171.239.12
    69.171.255.12
    204.15.20.0/20
    173.252.100.27
    173.252.110.27
    173.252.112.23
    173.252.112.24

    Saludos

  22. Funciona!!! jaja, gracias de verdad, todos aqui estan locos sin FB, yo tambien había probado la instruccion q publico Linixman pero no consideré que tengo iPCop v2.0.6, por lo tanto la sintaxis de iptables no funcionaba :S, de verdad te agradezco, saludos desde Mexico!!!!

  23. Linux man , Lo probare recie he estador recargado de trabajo docto , sobre las ip he averiguado compartiendo con el blog , lo probare la ultima instruccion que me diste doc y te dejo mis comentarios Saludos desde Peru

  24. bueno linux man acabo de probarlo desactive el adv proxy copie las reglas que me diste y sigue saliendo el otro addon que tengo es el calamaris. , he borrado la cache de mi navegador y nada.
    Estoy pensando.

  25. disculpa , pero las unicas reglas que he aplicado son las de tu blog. llendo a la carpeta etc r.d firewall.local copie las dos reglas tal como lo muestra tu paste. luego guarde , limpie mi navegador y sigo saliendo. .. que otras reglas te refieres amigos linux man

  26. gracias me sirvio de mucho los comentarios ya logre bloquear el facebook. ahora tengo una duda yo aplique esta regla

    iptables -I FORWARD -s 192.168.10.100 -p tcp -d 31.13.73.0/18 -j DROP

    y funciona a las mil maravillas la ip . 100 abre facebook ahora bien tengo un server dhcp que da rangos de 192.168.10.100 al 150 como puedo hacer para que esas 51 ip en la regla sin tener que hacer 51 reglas para cada ip.. puesto que necesito bloquear youtube, twitter y algunas que otras eso ya representaria hacer mas 200 reglas .. ayuda..

    • Se que es engorroso, pero para este tipo de casos hago una hoja de cálculo en Libreoffice, en donde una celda es la que voy cambiando la dirección IP del cliente, luego arrastro lo demás hasta generar el número de reglas que deseo.. el resto es copiar y pegar.

      Este es un tema que ha habíamos tocado en comentarios anteriores, pero una vez que tienes estructurada la regla, hacer una hoja de cálculo y copiar los resultados no te lleva más de 10 minutos. ( http://paste.linuxmanr4.com/view/918f2560 )

  27. Doc. Excelente informacion, he aprendido bastante; pero, como hago lo que mencionas “ejecutar el script rc.firewall.local”. He puesto todo lo que ha indicado, pero no se como iniciar los comandos. No puedo reiniciar ipcop 1.4.21 por que dejo sin conexion a toda la red XD Saludos

    • Hola Fransois !!!

      Es muy sencillo, primero tienes que habilitar el acceso a ssh de tu servidor IPCop, esta opción esta en el menú Sistema.

      Luego, desde cualquier distribución de linux entras a tu servidor con el comando:

      ssh root@ip.de.tu.servidor -p 222

      Te pedirá la contraseña de root de tu servidor. Si estás usando windows entonces puedes usar el programa PuTTY sólo tienes que configurar la conexión (no se te olvide usar el puerto 222).

      Ya conectado a tu servidor solo tienes que teclear:

      /etc/rc.d/rc.firewall restart
      

      Para aplicar los cambios que has hecho al archivo, y eso es todo. 🙂

      Saludos !!!

  28. Despues de semanas estudiando, ERES UN DIOS!!! Muchisimas gracias, imprimi manuales, lei foros, me queme las pestañas pues… Y en ningun lado me decia el “restart”…
    Si no es mucho pedir, bloquear toda la red excepto tales ip’s???
    Saludos

  29. Tendrías que aplicar reglas a todas las ip’s menos a las que quieres privilegiar.

    Hay otro enfoque, pero es más complicado. Verás aquí le das permisos a todos y luego bloqueas a los que no quieres que tengas acceso a facebook.

    Hay otro plugin para ipcop que se llama Blockout Traffic que hace lo opuesto, primero bloquea todo y luego tu vas asignando grupos de permisos. Es como una especie de firewall para el exterior, es muy útil para asegurar instalaciones, pero también se lleva su tiempo para configurar los grupos y esas cosas. Te lo comento solo como una opción.

  30. Ok, gracias doc, de todos modos somos 20 pc con ip fija, entonces no llevara mucho tiempo 😉
    Con respecto de lo de que se reinicie el server que tiene ipcop y se borre todo lo de iptables, es cierto?

  31. El script rc.firewall se ejecuta durante el arranque, así que todas las modificaciones que hagas se cargarán en el próximo reinicio.

    Claro, a menos que se te olvide guardar el archivo 🙂

  32. El restart funciona de maravilla DOC!!! Pruebas superadas, auto bloqueos, cambios de ip’s, inalambrico, alambrico, todo SUPERADO!!! De verdad muchisimas gracias, nadie como tu 😉

    • Hola Buenas tardes.
      Tengo la versión 2.1.4 y no logro bloquear el facebook https: NO me ha funcionado lo que comenta el Doc. algún otro tip se los agradeceré a todos.
      Saludos..

  33. Hola Hector, creo que la nueva versión de IPCop es más sencillo, yo nunca lo he hecho porque no tengo esa versión. Pero creo que ya soporta layer 7 (o L7) que hará un filtro por contenido. Busca algo por el estilo.

    • Puede ser algo muy similar a bloquear facebook, con el URL filter bloqueas la conexión http y con iptables bloqueas los servidores para evitar una conexión https.

  34. solo con iptables es posible bloquear facebook (https) o existe algun servidor linux que pueda realizar esa función de bloqueo.de manera rápida. Hago la pregunta ya que eso es facil para uno o 5 cmputadoras pero para un mediana empresa?

  35. Hola Linuxman:

    Es un excelente tuto.

    Una consulta, se pueden leer/filtrar conversaciones de facebook con IPCop?

    De antemano gracias.

    Salu2…

  36. Tengo una red con ipcop, pero no podía bloquear la pagina de facebook, pero gracias a este blog, he logrado conseguir la solución leyendo los comentarios de los que han consultados, por lo que observo el urlfilter no sirve de mucho con las paginas https. Gracias Saludos José Alberto desde Venezuela

  37. este aporte e sirvió para bloquear, solo tenia la duda con el signo -‘- pero igualmente con el signo -“- funciona impecable, no tube ningun problema, sólo quedo con la duda, porque colocaste “- – algo bm” ??? es lo unico que me gustaría saber que me dejó inquietante… saludos!

  38. hola master yo tengo el ipcop 1.4.21 y pongo las siguientes lineas
    iptables -I FORWARD -s 172.30.11.0/24 -p tcp -d 173.252.110.0/18 -j DROP iptables -I FORWARD -s 172.30.11.0/24 -p tcp -d 173.252.120.0/24 -j DROP
    iptables -I FORWARD -s 172.30.11.0/24 -p tcp -d 31.13.70.0/24 -j DROP

    esto es para bloquear el facebook , pero al iniciar el server ipcop muestra esas lineas con error desde la consola dice que no reconoce el command

    me podrias ayudar

  39. Hola JBarrón,

    No es necesario reiniciar el servidor para aplicar los cambios.

    Podrías pegar el mensaje de error exacto ?

    Si gustas, puedes pegar el código en paste.linuxmanr4.com y luego pegar aquí el enlace para revisarlo.

    Saludos.

  40. En realidad le agradezco pues esta linea si bloqueo el facebook, definitivamente, muchas gracias!!! Excelente aporte

  41. Hola, soy del Brazil, yo use:
    iptables -I FORWARD -p tcp –dport 443 -m string –string ‘facebook’ –algo bm -j DROP

    How open in lunch time???

    • iptables -I FORWARD -p tcp –dport 443 -m string –string ‘facebook’ –algo bm -m time –timestart 13:00 –timestop 17:00 -j DROP

      Con esta ya lo puedes dejar abrir a la hora de almuerzo

  42. Hola, buenas tardes, como seria la sintaxis para que una ip si pueda accesar a facebook, tengo un equipo que es de uso de mercadotecnia y lleva el face de la empresa solo a esa ip quiero que tenga acceso al facebook

  43. tengo una pregunta, que he buscado por todos lados, tengo a cargo cierta cantidad de PC, las cuales algunos tienen restringido ciertas paginas a otras no, como puedo bloquear un determinado rango de mac address paginas como facebook y mega ?

  44. Que buen aporte Linuxman realmente logre bloquear facebook y youtube cosa que no podias. Aunque ahora esta de moda spotify me puedes ayudar para bloquear!!

¡Me encantaría saber que opinas!

%d bloggers like this: