SquidNT – Restriccion por sitios
| 2,760 lecturas |
Enviar por correo
|
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…
Temas similares (lo mismo pero menos rollo)

(2 votos, porcentaje: 4.50 fuera de 5)
Loading...
Entradas (RSS)
Estoy utilizando el 2.7. Estable5 standar, es el ultimo que aparece en descarga
Hola Leo como estas, he instalado mi proxy squid bajo windows y el problema que tengo es que no he podido hacer que me restrinja las paginas que yo quiero, lo que hace es que me restrinje todo excepto las paginas que quiero. practicamente me esta funcionando al contrario y no se que hacer. GRACIAS
Buenos dias, despues de bloquear las paginas que quiero y poner a andar el squid me esta dando otro dolor de cabeza: resulta que el Disco Duro se me esta llenando y parece que es la cache, ya tengo cache en 1000 en el squid.conf pero no funciona, que puedo hacer?
hola, alguien me podria decir donde puedo descargar el squid 2.6.Stable13 Delay Pools para WINDOWS NT. GRACIAS
Hola a todos, me parece muy bien toda la información que comparten he estado merodeando por la red y recien encuentro un Foro que puede ayudar! Estoy montando el squid en linux, mi pregunta es como puedo hacer q las ips 192.168.1.20 al 192.168.1.25 solo tengan salida a 10 urls y las demás se restrinjan! porfavor necesito que me ayuden es muy importante para mi! aki mi correo: mejia_hidalgo@hotmail.com…desde ya muchas Gracias
Hola chicos buenas tardes, tengo un problema con squid 3.0, sigo sus pasos para generar un txt con las paginas para bloquear, le creo la regla acl, hasta ahi todo bien, el servicio de squid inicia perfecto, pero cuando le agrego http_access allow localnet !paginasbloqueadas el servivio no lo puedo iniciar,es obvio que no me toma el !paginasbloqueadas, por que cuando lo saco el servicio arranca bien. un salu2 y gracias, espero que me puedan ayudar…..ah perdon estoy usandolo en windows xp
Bueno…. despues de hacer pruebas en dos maquinas llege a la conclusion de que el error probablemente sean las diagonales…
cuando hice el manual me funciono asi “c:\squid\etc\bloqueados.txt”
Pero ayer me puse a probar ante la avalancha de configuraciones reportadas que no funcionaban y me di cuenta que tenia que usar la otra diagonal a la hora de definir la ruta del archivo con palabras bloqueadas.
“c:/squid/etc/bloqueados.txt”
Pienso que tal vez la configuracion regional que cada quien tenga en su windows puede estar influyendo en que requiera una diagonal o la otra, pero no me consta, es solo una idea de lo que puede estar pasando.
Claudia… Probalmemente el problema no sea la cache sino los logs, revisa cuanto miden.
Duo22… jugando un poco con las reglas Deny, allow podras hacer eso que quieres…
Luis… pues no sabria decirte si tiene algo que ver con que sea squid3 pero revisa lo de las diagonales que aclare mas arriva.
Leo_On : Gracias, no le preste atencion a ese detalle, cuando salga de trabajar te cuento. un abrazo
Amigo leonel necesito saber que programas pueden saltar al servidor squid, probe con la coexion a la red tor me resulto unos dias pero el administrador se percato, deseo saltar la politicas de la empresa, sabes alguna forma. gracias
Pues no deberia dar mucha informacion al respecto, pero si te tiene limitado cuestion de que uses algun proxy externo, si te tiene bloqueado, no creo que puedes hacer algo.
gracias leo peor mi administrador es muy eficiente y ya bloqueo muchos proxis externos gratis. si conoces algun programa te lo agradecira…
Les informo que el manual de restriccion por autenticacion ha sido actualizado.
SquidNT restricción por autenticación
Gracias de antemano por sus comentarios, dudas, criticas, mentadas, etc…
que onda ps solo quiero saber que mas se puede hacer con “_regex”, para que más lo puedo usar?
Para Caos url_regex
les juro qe he hecho tal cual y no me anda, aun sigo viendo todas las paginas las bloqueadas y las no bloqueadas
He realizado todo y no me ha funcionado. Deja navegar a cualquier sitio.
1a.- Ya asignaron la navegacion mediante el proxy?
2a.- Ya aplicaron los filtros de denegacion para los equipos respectivos?
http_access allow net !bansit o http_access deny bansit
Segun corresponda..
tengo en mi c:\squid\etc\prohibidos.txt la lista de sitios negados en:
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
aclnSafe_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 prohibidos url_regex “c:/squid/etc/prohibidos.txt
luego colque el control de acceso en:
#INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow net!prohibidos
# And finally deny all other access to this proxy
http_access deny all
y al arrancar squid me sale
\squid\sbin>squid -z
09/06/30 14:18:02| ACL name ‘net!prohibidos’ not defined
FATAL: Bungled squid.conf line 670: http_access allow net!
squid Cache (Version 2.7.STABLE6): Terminated abnormally.
HELP
“solucionado el tema anterior”
Pero pregunto y que pena ser tan alarmista leo, en todo mi archivo squid.conf existe una palabra LOCALNET, que hace referencia segun tu manual a mi nombre de red que desde el principio defini en tu manual de montar squidNT es cuando instale el squid coloque los pasos como lo dijiste osea LOCALNET , si yo cambio ahi porel nombre de mi red osea CARDENAS, debo cambiar en todos los LOCALNET ese nombre, lo digo porq si te fijas en la regla ( http_access allow net!prohibidos ) el NET lo cambie por LOCALHOST yme arranco squid?
Gracias
ok.. vamos por partes…
Es cuestion de logica…
cuando tu defines una ACL en squid es para generar una regla, ya sea de aceptacion y denegacion.
Cuando tu asignas la regla, en este caso…
http_access deny bansit
Donde:
http_access le avisa a squid que habra una regla de acceso
deny o en su defecto allow le dicen si sera una regla de aceptacion o denegacion sewgun sea el caso.
Por ulgimo bansit es e nombre de la ACL que contiene los argumentos a denegar o aceptar.
Cuando se usa el ! significa que es una regla contraria….
ANTERIORMENTE UTILIZABA EL SQUID-2.5.STABLE14 Y APLICABA EL PROCEDIMIENTO ANTERIOR NO TENIA PROBLEMAS, ES DECIR ME RESTRINGIA LO QUE YO QUERRIA, ACTUALMENTE ESTO PROBANDO EL SQUID-2.7.STABLE6 QUE ES LA ULTIMA VERSION, Y APLICO EL PROCEDIMIENTO ANTERIOR NO ME RESTRINGE NADA, NO SE SI ESTOY COMETIENDO AL GUN ERROR, ESTAS SON MIS CONFIGURACIONES:
#Recommended minimum configuration:
acl localnet src 192.168.1.0/24 # RFC1918 possible internal network
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 sitios url_regex “c:/squid/etc/sitios.txt”
acl extensiones urlpath_regex “c:/squid/etc/extensiones.txt”
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access allow !sitios !extensiones
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
#
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on “localhost” is a local user
#http_access deny to_localhost
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
# And finally deny all other access to this proxy
http_access deny all
PIENSO QUE POSIBLEMENTE ESTOY ACOMODANDO LAS LINEAS EN UN LUGAR INCORRECTO, SR. LEO ESPERO Y ME PUEDA AYUDAR.
MUCHAS GRACIAS!
“solucionado el tema anterior”
LA CONFIGURACION QUEDO DE LA SIGUIENTE MANERA:
#Recommended minimum configuration:
acl localnet src 192.168.1.0/24 # RFC1918 possible internal network
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 sitios url_regex “c:/squid/etc/sitios.txt”
acl extensiones urlpath_regex “c:/squid/etc/extensiones.txt”
#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
#
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on “localhost” is a local user
#http_access deny to_localhost
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet !sitios !extensiones
# And finally deny all other access to this proxy
http_access deny all
ESPERO QUE LE SEA UTIL A OTRA PERSONA!
Lo unico que veo es que tienes lo siguiente.
acl sitios url_regex “c:/squid/etc/sitios.txt”
acl extensiones urlpath_regex “c:/squid/etc/extensiones.txt”
Intenta sin comillas o poniendo la otra diagonal, me paso hace tiempo y el squid no funcionaba no porque la regla estubiera mal, sino porque no leia lo que habia adentro del archivo.
sigo con mis preguntas
:leo, los JEFES quieren que las restricciones no les apliquen a ellos , me podrias ayudar a ver como seria la regla ya que como estamos con dhcp las ip no son fijas pergunta Seria posible hacer una lista con el nombre de las pc? o tendria que colocar las ips fijas y a esas darles la salida? como seria ,,gracias por ru valioso tiempo en leer los mensajes y ayudarnos a todos
Hola Leo, te hago una consulta. Me podrias decir que tendria que tener para que me pueda conectar a un server FTP externo?. Estoy usando la version 2.6 stable 5 NT. Gracias
ale yo estoy en las mismas con la misma version estoy trantando de saber porque? antes tenia mi router adsl pegado a todos mis usuarios y decidi colocar squd con y aunq tengo la configuracin basica del mismo para pruebas no he podido salir a ftp mi correo es ugustavo@hotmail.com si lo haces me avisas???? igual para el guru de leo gracias
El problema es que squid no es un verdadero proxy FTP, traduce peticiones ftp a HTTP y es probable que los clientes FTP no funcionen bien de este modo. Asi que no hay mucho que hacer realmente.
Aqunque tal vez si le muevas aqui..
ftp_user proxy@su-dominio.net
Pueda resultarles.
leo pero siguiendo con lo de ftp colocar esa linea quedaria algo asi
ftp_user nombre_usuario password
o como quedaria, ya que como te dije me logeo atravez de Filezilla y alli solo escribo la ip del servidor externo ftp + el puerto + nombre usuario + password
E estado haciendo pruebas y nadamas no funciona, habra que buscar otra opcion.
hummm ok, entonces te cambio la pregunta, monto linux estacion o server (ubuntu o centos?) , instalo squid basico y colocalo la famosa linea de iptables que dice
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128
y configuro el squid mas menos como el nt?
si, la configuracion es muy similar, solamente a la hora de establecer las rutas hacia bloqueados y permitidos quitas las comillas.
buenoooo , siendo asi creo que mi busqueda en la solucion sobre winnt ha terminado, agradezco todo el tiempo que me dedicaste a solucionar mis dudas y exalto tu conocimiento en la materia , me metere en el mundo de linux que algo lo conozco pero la verdad no me he sentado a degustarlo, por ahi existe una posible solucion a esto la probare y comentare si no garcias por todo
Este dia prove el port maper de analogx y me fuciono a la primera con smtp, pop3 y ftp, pero solo puedes asignarle un sitio por puerto, no bstante me parecio una alternativa excelente para quienes aun no estan listos para dar el paso de Fe.
http://www.analogx.com/contents/download/Network/pmapper/Freeware.htm
leo has escuchado el Bandwith manager??? me pasaron este dato lo probare tan pronto llegue a la oficina miralo y hablamos , el unico problemas es que es $$$$ pero bueno ahi miramos
leo ya estoy en el montaje de linux pero una pregunta rapida, el analog como se configura en la web no me da yo direccione en donde dice configure mapping le dije el port 21 a la ip 172.16.0.3:3128 o como quedaria porq el log de eventos me dice que falla
luego publico un manualito.
bueno leo pero a todas estas, en linux existe la posibilidad de hacer lo que tanto estoy (amos) buscando, ya tengo mi ubuntu desktop 9.0 instalado , ahora procederea a correr y configurar el squid lo de iptables creo que es un comando desde consola y ahi voy
Te recomiendo Centos… ademas en alcance libra hay foro de soporte para esta distribucion.
Aprendi mucho