SquidNT – Restriccion por sitios

| 2,760 lecturas | Enviar por correo Enviar por correo | Ver para imprimir Ver para imprimir |

Actualizado el dia 14 de Octubre de 2008

Esta obra está bajo una licencia de Creative Commons.
Autor: Francisco Leonel Rubio Quintanilla (rubioq)

Este documento es una adecuación de el manual: Cómo configurar Squid: Restricción de acceso a Sitio de Red de: Joel Barrios Dueñas.

Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra
para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.

Haciendo caso a la petición de Andrés Sarmiento, me puse a investigar como hacer restricciones por sitio en Squid para Windows (SquidNT), el procedimiento es muy similar al usado dentro de la versión Linux.

Partiendo del principio que se necesita restringir nuestra red para que los usuarios puedan salir solo a ciertas direcciones y de este modo optimizar el ancho de banda. Respecto a lo ético del asunto se puede debatir ampliamente sobre esto, pero la realidad es que aun en mi red personal (la de mi casa) yo haría esto para evitar que entren en sitios que les llenarían de spyware sus PCs. Dejo este procedimiento para que
lo use quien lo considere conveniente.

Requerimientos:

1.- SquidNT ya funcionando. (Si aun no lo tienes lee, mi HOWTO)

2.- Lista de lo que queremos evitar que visiten nuestros usuarios.

El primer paso es hacer un archivo de texto con las direcciones que no queremos que visiten nuestros usuarios. Recomiendo poner este archivo dentro de la carpeta etc. de Squid, ponle un nombre descriptivo al
archivo, para este caso use bansit.txt.

El archivo quedaría algo así: “C:\squid\etc\bansit.txt”.

www.elchat.com
www.amigos.com
www.astalavista.com
www.bride.ru
www.playboy.com

Ahora, si lo que quieres es restringir determinadas palabras la semantica es la misma, solo que en lugar de dominios pondras palabras: “C:\squid\etc\banwords.txt”.

xxx
porn
lolitas
teens
xxx
amateur
swinger

Abre el archivo squid.conf, localizado en “c:\squid\etc” y buscas estas líneas.

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl net src 192.168.0.0/255.255.255.0

Al final agregas la siguiente ACL (regla).

acl bansit url_regex “C:/squid/etc/bansit.txt”

Y/O para palabras.

acl banwords url_regex “C:/squid/etc/banwords.txt”

Al hacer esto estas agregando una regla para los sitios comprendidos dentro del archivo de texto que creamos.

Después de esto modificaremos la regla de control de acceso para nuestra RED, así que busca la línea:

http_access allow net

Y le agregas el !bansit, quedando de este modo.

http_access allow net !bansit

O en su caso…

http_access allow net !banwords

Cuando agregas un símbolo de ! (admiración) antes de poner el nombre de una regla ACL previamente creada estas negando la regla, es decir permites que tus red acceda a Internet siempre y cuando lo que quiera hacer no coincida con la regla negada.

Dicho lo siguiente tal vez puedas navegar tú localmente si tener la restricción, pero quisieras
que no pase esto entonces buscas la línea:

http_access allow manager localhost

Cuando o termines de configurar estos parámetros será necesario reiniciar el servicio de squidNT. Echo esto a disfrutar del tiempo libre que te dan las restricciones.

Este manual es una migración del manual original de Cómo configurar Squid: Restricción de acceso a Sitio de Red, de Linux Para Todos. Aplicado a Squid Para Windows (SquidNT)

NOTA: En mis pruebas el comando me funciona con la siguiente semantica: acl bansit url_regex “C:/squid/etc/bansit.txt”, pienso que tiene que ver con la configuracion regional de windows el que funcione con diagonal / o la otra diagonal \, pero no puedo asegurarlo, si a ti no te funciona informalo…

Ha HaOucha darle atomosmmm RosquillasExcelente! (2 votos, porcentaje: 4.50 fuera de 5)
Loading ... Loading ...
91 Respuestas a “SquidNT – Restriccion por sitios”
  1. klahgr dice:

    Hola Ing Sandra, FLORECITAYLUNA

    Me puedes ayudar con lo siguiente:

    descargue y configure el squid los pasos basicos, compilo y no me sale ningun error. Pero el problema que tengo es al restringir paginas o frases, creo la acl pero no la bloquea o me bloquea todo. entonces:

    tengo mi archivo .txt llamado restirngidos en la carpeta etc del squid

    creo la acl
    acl restringidos url_regex “c:/squid/etc/restringidos.txt”

    luego debajo de esta linea
    http_access allow manager localhost
    pongo
    http_access allow net !restringidos
    http_access deny manager
    Y NO ME BLOQUEA NADA

    y ahora,
    debajo de esta linea
    http_access allow manager localhost
    pongo
    http_access allow localhost !restringidos
    http_access deny manager
    http_access deny all
    Y ME BLOQUEA TODO

    Me podrias ayudar como hago para que me bloquee lo que yo quiero.

    Muchas gracias

  2. Leo_On dice:

    Corre Squid -z tal vez necesites poner la ruta de restringidos sin comillas…

  3. Master, tienes reglas mal configuradas. Me imagino que la regla acl “net” es tu red IP interna.
    Me imagino que “restringidos.txt” es el archivo donde estan los sitios que quieres denegar, si es así, en el primer ejemplo de permisos, la última línea esta mala, debe estar así:
    ——INICIO——
    http_access allow manager localhost
    http_access allow net !restringidos
    http_access deny all
    ——–FIN——–

    Así niegas “restringidos” a tu red “net”

    Saludos
    Fabian Donoso C.

  4. galabr dice:

    hola a todos necesito me ayudes

    creo primero

    acl bansit url_regex “c:/squid/etc/bansit.txt”

    luego

    #Default:
    # http_access deny all
    #
    #Recommended minimum configuration:
    #
    # Only allow cachemgr access from localhost
    http_access allow manager localhost
    http_access deny manager
    # Deny requests to unknown ports
    http_access deny !Safe_ports
    # Deny CONNECT to other than SSL ports
    http_access deny CONNECT !SSL_ports

    con esta configuracion empiesa la modifico asi

    #Recommended minimum configuration:
    #
    # Only allow cachemgr access from localhost
    http_access allow manager localhost
    http_access allow net !bansit
    http_access deny all
    http_access deny manager
    # Deny requests to unknown ports
    http_access deny !Safe_ports
    # Deny CONNECT to other than SSL ports
    http_access deny CONNECT !SSL_ports

    y no me deja salir a ninguna pagina, me gustariq me ayudaran para dejar solo las paginas que hayan en el bansit.txt.

  5. Leo_On dice:

    galabr aparentemente tienes todo bien, no te deja salir desde la maquina donde pusiste el squid o desde las otras, o desde TODAs..?

    P.D. Quieres bloquear las paginas que escibiste en bansit.txt o solo permitir las que escribiste alli?

  6. galabr dice:

    El squid esta en el server de la empresa que es un server 2003 ya esta instalado y trato de ingresar desde uno de los clientes

    Entonces me deja ingresar entonces le cambio a las segunda linea para que bloquie y no me deja salir a ninguna pagina web y lo que quiero es que me restrinja los que estan el txt banlist

  7. galabr dice:

    algo que si no he visto es la linea de

    http_access allow net

    para ingresar la linea

    http_access allow net !bansit

  8. galabr dice:

    quiero bloquear las que ahi estan

  9. galabr dice:

    en el txt banlist

  10. Leo_On dice:

    Una pregunta, galabr que pagina de error te sale a la hora de intentar navegar?

    Si intentas navegar con el proxy en la Pc donde instalaste el sistema te sale el mismo problema?

    Subbe una imagen a imageshack con el error y pegas el link aqui para verlo…

  11. galabr dice:

    Pasa lo siguiente, si coloco

    http_access allow manager localhost
    http_access allow net !bansit
    http_access deny all
    http_access deny manager

    No me deja salir ningun pc a internet, pero si lo dejo como estaba salen todos los pcs, con el proxy instalado, no se que modificarle para que me tome la lista de direcciones web prohibidas… el servicio inicia normalmente no me reporta error ninguno.

  12. Leo_On dice:

    Eso ya me lo explicaste, pon la imagen con el error de navegacion que te sale.

  13. Omar dice:

    Aber Leo, quiero hacer esto con Squid NT.
    Quiero restringir Internet a todos los usuarios de la red en mi empresa y solo permitires acceder a solo tres paginas WEB, obio los gerentes deben tener libre acceso a internet. como harias tu esas reglas???. Gracias

  14. galabr dice:

    omar buenos dias me podrias enviar a mi correo esa instalacion de tu squid… mi email es abjagagu@yahoo.es
    te agradesco

  15. Omar dice:

    Buenos Dias Galabr, te he mandado el Squid.conf a tu E-Mail, te comento que he logrado hacer lo que pregunte, osea restringir a todos los usuarios el internet excepto a los gerentes.
    el punto es que lo logre a medias, por que a los usuarios que estan restringidos si acceden a las paginas permitidas pero el problema es que estas paginas no se muestran correctamente ya que no aparecen e ellas ninguna imagen, solo aparecen las letras y binculos. a que se debera esto???. a los usuarios gerentes si pueden acceder a todo sin ningun problema

    Gracias.

  16. Leo_On dice:

    Se debe a que las paginas a su vez tienen ligas a otras paginas donde guardan imagenes, videos, flashs, etc…

    Tienes que ir investigando cuales son esas subpaginas e irlas desbloqueando, claro suponiendo que quieras que las vean.

  17. Omar dice:

    MMM, Pues ese punto ya lo habia contemplado y si desbloquie las ligas. pero por ejemplo la pagina http://www.msn.com/ esta permitida para que la vean, esta dada de alta en el archivo de Texto “sitiosPermitidos.txt” en el cual tengo una lista de paginas web que los usuarios pueden acceder. pero resulta que la pagina de msn.com aun desbloqueando las ligas no muestra las imagenes. no se si tenga que ver con el cache de Squid???.

    gracias por tu ayuda

  18. galabr dice:

    dale espero tu correo, si te lo rebota si no es mucha molestia enviarmelo a galabr@hotmail.com para ver si puedo restringir.

  19. Omar Moreno dice:

    Hola GalaBR, una pregunta,
    Puedo usar comodines (*) en Squid como los que usan los filtros web como los de microsoft osea si yo quiero que squid no bloquee una URL muy grande como por ejemplo:
    https://login.live.com/wa=wsignin1.0&rpsnv=10&ct=1218602115&rver=4.5.2130.0&wp=MBI&wreply=h
    yo lo que quiero es que Squid interprete la misma direccion arriba escrita abrebiandola con un comodin (asterisco) quedaria de la siguiente manera:

    https://login.live.com/*
    se puede hacer eso???
    gracias

  20. HeinricH dice:

    http_access allow net !bansit
    en esta linea fijense que el nombre net, representa una declaracion en una ACL, que esta mas abajo de .conf, Pero me di cuenta que muchos no usan net, yo usaba nuestra_red, y con eso el squid podra inciar sin error de configuracion!

  21. Leo_On dice:

    Graxias por tu aportachion Heinrich…

  22. Alvas dice:

    Es capaz de filtrar squid en windows contenidos , escribiendo una palabra catalogada como porn, xxx,adult….

    GRacias

  23. Leo_On dice:

    Sip… aunque es una arma de dos filos…

  24. Alvas dice:

    Lo he probado y no me filtra nada , no se si no reconoce bien la ruta en windows :
    acl sitios url_regex “C:\squid\etc\denegados.txt”
    en denegados.txt tengo palabras clave xxx,adult…
    pero no me hace nada, no se que necesita para reconocer esto , aparte pq es un arma de doble filo??

    GRacias

  25. Leo_On dice:

    Manual Actualizado al dia de hoy…

  26. galabr dice:

    Hola Omar me pudes volver a enviar el squid.conf con las restricciones, estaba algo desentendido del tema por otras razones mi correo es abjagagu@yahoo.es o este otro galabr@hotmail.com

    Es que no me llego al parecer.

    te agradesco mucho

  27. Danilo dice:

    Hola! gracias por tu gran ayuda, te comento que tengo instalado squid en un 2003 server y funciona bien, pero tengo las siguientes dudas, para dejarlo filtrando todo debo dejarlo como puerta de enlace, para eso requiero dos tarjetas de red? una saliendo a internet y la otra hacia la red local?
    Lo otro, quiero hacer tres grupos, organizados por sus ip, uno sin restricciones, otro con restricciones y uno sólo con acceso a una sola página, me ayudan a armar eso please?
    Gracias de antemano

  28. Leo_On dice:

    Si quieres que nadie se brinque las restricciones necesitas ponerlo como puerta de enlace, con la desventaja de que todos los puertos que no funcionen por proxy dejaran de funcionar (smtp, pop3, imap entre otros), el detalles es que si no lo pones como puerta de enlace solo como proxy cualquier usuario con ciertos conocimientos podra desactivar el proxy y al cuerno las restricciones.

    Y si.. para hacer esto necesitarias dos tarjetas de red.

  29. Danilo dice:

    Gracias por tu respuesta, ahora, es factible que pop3 y smtp puedan funcionar por proxy?

    Saludos,
    D.-

  30. Leo_On dice:

    No que yo sepa.

  31. Fabian Donoso dice:

    Tengo una consulta.

    Mira en estos momentos la configuracion a Internet es así:

    Firewall Cisco 1800 -> Red LAN

    Eso quiere decir que todos los equipo tienen acceso a Internet sin restricción de navegación a sitios.

    Si pongo este equipo como proxy solo para filtrar paginas de internet entre la LAN y el Firewall Cisco, tendré problemas con la entrada y salida de correos (puertos 25 y 110)? (Usamos MS-Outlook )

  32. Leo_On dice:

    No tendras problemas, los problemas pueden resolverse, aca no funcionaran por mas que hagas y desagas a no ser que quites el proxy de en medio.

    Ahora, si usas un Cisco, tal vez puedas hacer una redireccion para que las peticiones al puerto 80 salgan por otro lado, en este caso por el proxy, esto para que el mismo no este en medio de tu router y Lan.

    En Linux se hace algo como esto…

    REDIRECT loc 3128 tcp 80

    Oviamente considerando que el Iptables y el squid estan en la misma maquina, habrias de ver si puedes hacer algo parecido para que tu cisco mande estas peticiones al puerto del proxy pero en la otra maquina.

  33. Parey dice:

    Hola Omar, seria posible que me envies el archivo .conf, ya que, necesito bloquear todos los sitios excepto algunos de trabajo. vitalsignos@gmail.com

    Saludos y Gracias

  34. Katherine dice:

    Hola Leonel, desde Colombia una consultica medio urgente. Configuré squid en mi red win 2003 server con restricción de contenido, lo detuve y lo inicié nuevamente y ya no me hace dicha restricción. lo volví a configurar desde cero y aún me falla, cómo desinstalo squid totalmente de la máquina ? y otra pregunta, cómo instalo sarg ? reporteador para squid, ya que en la web no hay info para hacerlo en win. Gracias anticipadas, saludos !! ;)

  35. Leo_On dice:

    Esa info no la tengo.

  36. Alberto dice:

    Buenas Leonel,
    Ante de nada felicitarte por tu gran trabajo y decirte que gracias a el estoy aprendiendo muchisimo. Mi duda es la siguiente:
    Al crear la linea
    acl bansit url_regex “C:\squid\etc\bansit.txt” en el archivo squid.confg. Para restringir las paginas que quiero a la hora de lanzar el squid me aparece lo siguiente…

    C:\squid\sbin>squid -z
    2008/12/30 12:24:07| ACL name ‘bansite’ not defined!
    FATAL: Bungled squid.conf line 650: http_access allow net !bansite
    Squid Cache (Version 2.7.STABLE5): Terminated abnormally.

    C:\squid\sbin>
    tambien tengo creada la linea

    http_access allow net !bansite

    todo segun tu manual, pero se me han agotado ya las ideas de que peude estar pasando…
    ¿que es lo que puede estar pasando?
    Gracias y Feliz Navidad!

  37. Leo_On dice:

    Te estas comiendo una letra.

    acl bansit url_regex “C:\squid\etc\bansit.txt”

    ——————-
    C:\squid\sbin>squid -z
    2008/12/30 12:24:07| ACL name ‘bansite’ not defined!
    FATAL: Bungled squid.conf line 650: http_access allow net !bansite
    Squid Cache (Version 2.7.STABLE5): Terminated abnormally.
    ——————-

    http_access allow net !bansite

  38. Alberto dice:

    Gracias, con el tiempo llegue a darme cuenta… Ahora tengo otro problemilla. A hora de permitir con,
    http_access allow bansite si permito la direccion http://www.elmundo.es bloquea todos los posibles accesos a los links y muchas de las imagenes. ¿es posible que desbloquee todo el entorno de dicha pagina?
    He probado con http://www.elmundo.es/* pero no funciona
    Un saludo y gracias

  39. Leo_On dice:

    Normalmente cuando pasa eso es porque la pagina en cuestion llama imagenes, flashs, baners, etc.. de otras paginas, no queda mas que ir bloqueando direccion por direccion.

  40. IHCk dice:

    muy buen articulo funsiona 100%
    thans

  41. claudia dice:

    hola leo, mcuhas gracias por el articulo, les cuento que no podido bloquear paginas, ya hice todo el procedimiento y aun no me bloquea nada,
    tengo las lineas de la siguiente forma
    acl red src 192.168.10.0/255.255.255.0
    acl restringidos url_regex c:\squid\etc\restringidos.txt
    y luego cree el acceso asi:
    http_access allow red !restringidos.
    si me pueden ayudar les agradezco

  42. Leo_On dice:

    Claudia, te sale algun error a la hora de registrar el servicio?

    Estas completamente segura de que la navegacion se esta haciendo atravez del proxy?

  43. fonsi dice:

    Hola como estas, mi problema es que tengo el siguiente codigo.
    acl net src 192.168.0.0/255.255.255.0
    acl bloqueados url_regex “c:\squid\etc\bloqueados.txt”
    http_access allow manager localhost
    http_access allow net !bloqueados
    http_access deny all

    y lo que hace es que me bloquea todas las paginas excepto las bloqueadas, y la idea es que me haga lo contrario.

  44. claudia dice:

    gracias leo por responder, te cuento que no me salen errores,esto es lo que me sale
    c:/squid/sbin>squid-z
    2009/01/17 12:23:29 parceconfigfile: squid.conf:1 unrecognized:”
    2009/01/17 12:23:29 creating swap directories
    y si estoy segura de que estoy navegando por el proxy, ya lo tengo configurado en un equipo y aun no

  45. fonsi dice:

    Hola como estas, mi problema es que tengo el siguiente codigo.
    acl net src 192.168.0.0/255.255.255.0
    acl bloqueados url_regex “c:\squid\etc\bloqueados.txt”
    http_access allow manager localhost
    http_access allow net !bloqueados
    http_access deny all

    y lo que hace es que me bloquea todas las paginas excepto las bloqueadas, y la idea es que me haga lo contrario.
    GRACIAS

  46. claudia dice:

    hola, les cuento que ya resolvi mi problema porque tengo un compañerito que me ayuda mucho, ya me funciona el bloqueo de las paginas, lo unico que tuve que hacer fue comentarias los siguientes acl:
    #acl localnet src 172.16.0.0/12
    #acl localnet src 192.168.0.0/16
    y abriendo un acl con el rango de direccion propio, ya lo tenemos restringido
    les agradezco mucho la ayuda

  47. Leo_On dice:

    Fonsi pon esto…

    http_access deny bloqueados
    http_access deny net

  48. Leo_On dice:

    ups..

    era al final

    http_access allow net

  49. fonsi dice:

    Leo_On como estas, sigo con el problema, solamente me abren las paginas que quiero bloquear y deberia ser al reves. He probado de muchas formas pero nada. agradezco tu ayuda. si quieres te envio mi el codigo que estoy utilizando. GRACIAS

  50.  
Deja una Respuesta

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of follow-up comments via email.