[SOLUCIONADO] squidGuard - Cambio de i386 a amd64
-
Hola Bellera,
He seguido tus indicaciones pero no encuentro nada raro que me indique porqué no esta filtrando squidGuard, la lista de procesos es esta por si sirve de algo:
/root(3): ps -A | grep squid 9970 ?? I 0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd) 10262 ?? I 0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd) 10537 ?? I 0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd) 10758 ?? I 0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd) 10861 ?? I 0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd) 11192 ?? I 0:00.02 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 11295 ?? I 0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 11566 ?? I 0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 11753 ?? I 0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 11908 ?? I 0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 11981 ?? I 0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 12304 ?? I 0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 12467 ?? I 0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard) 39968 ?? Is 0:00.00 /usr/pbi/squid-amd64/sbin/squid -f /usr/pbi/squid-amd64/etc/squid/squid.conf 40238 ?? S 0:00.48 (squid-1) -f /usr/pbi/squid-amd64/etc/squid/squid.conf (squid) 76856 0 S+ 0:00.00 grep squid
Saludos.
-
Si los procesos squid y squidGuard están correctos postea:
32 bit –-> /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf
64 bit ---> /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf -
No me deja adjuntarlo ni insertarlo en el Post :-\
sale este error:
500 Internal Server Error
-
Aqui va el squidGuard.conf y squid.conf
-
Por de pronto llama la atención en squid.conf
acl unrestricted_hosts src "/var/squid/acl/unrestricted_hosts.acl" acl whitelist dstdom_regex -i "/var/squid/acl/whitelist.acl"
# These hosts do not have any restrictions http_access allow unrestricted_hosts # Always allow access to whitelist domains http_access allow whitelist
¿Eres consciente de tener esto activado? Lo digo porque puede estar interfiriendo en lo que supones hace squidGuard.
squidGuard puede testearse desde la línea de comandos. Te respondo más tarde diciéndote la sintaxis exacta para hacerlo.
-
Test squidGuard desde consola
32 bit
echo "http://www.facebook.com 192.168.1.2/ - - GET" | squidGuard -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf -d
64 bit
echo "http://www.facebook.com 192.168.1.2/ - - GET" | squidGuard -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf -d
siendo 192.168.1.2 la IP del cliente para el que simulas el filtrado.
Verás que se cargan todas las reglas y al final da:
-
nada antes de la línea squidGuard stopped si se autoriza el paso. Es decir, sin cambio de URL.
-
La URL de acceso denegado antes de la línea squidGuard stopped si NO se permite el paso.
http://www.squidguard.org/Doc/verify.html
-
-
Hola Bellera,
Esos ACL's que comentas son correctos, hay equipos que no deben ser filtrados y hay dominios que tampoco, por esto creo que salen esas lineas
La simulación funciona aparece el redirect a la URL de bloqueo. No se si puede ser importante, pero el cliente desde el que hago las pruebas se conecta a una LAN con un portal cautivo para autorizar el acceso.
-
Esto sale al final de la simulación:
2014-06-23 12:52:31 [50003] init expressionlist /var/db/squidGuard/Ext_prohibidas/expressions 2014-06-23 12:52:31 [50003] init domainlist /var/db/squidGuard/No_permitido/domains 2014-06-23 12:52:31 [50003] loading dbfile /var/db/squidGuard/No_permitido/domains.db 2014-06-23 12:52:31 [50003] logfile not allowed in acl other than default 2014-06-23 12:52:31 [50003] squidGuard 1.4 started (1403520751.457) 2014-06-23 12:52:31 [50003] squidGuard ready for requests (1403520751.490) 2014-06-23 12:52:31 [50003] source not found 2014-06-23 12:52:31 [50003] no ACL matching source, using default 2014-06-23 12:52:31 [50003] Request(default/Redes_Sociales/-) http://www.facebook.com 172.16.222.42/- - - REDIRECT http://192.168.4.200:2345/sgerror.php?url=403%20&a=172.16.222.42&n=&i=&s=default&t=Redes_Sociales&u=http://www.facebook.com 172.16.222.42/- - - 2014-06-23 12:52:31 [50003] squidGuard stopped (1403520751.490)
-
El cliente 172.16.222.42 debería experimentar el acceso denegado.
¿Y no es así?
-
No se si puede ser importante, pero el cliente desde el que hago las pruebas se conecta a una LAN con un portal cautivo para autorizar el acceso.
Prueba con un cliente que deba ser filtrado y que se conecte directamente a la interfase donde le espera squid.
-
Hasta el miércoles no podré probarlo, pero lo extraño es que esta configuración funciona en la versión i386. La red por la que se conecta este cliente tiene un portal cautivo con autentificación local y DHCP server. Según el usuario se aplican unas restricciones u otras en squidGuard. En amd64 la simulación funciona pero cuando lo pruebo en el cliente que tiene esta dirección veo en proxy server -> realtime que squid (squid logs) esta funcionando y es capturado por el proxy pero en squidGuard logs no sale nada, y el cliente navega sin ningún filtro.
Muchas gracias por el soporte
-
He probado conectando el cliente a una red sin portal cautivo en la que se aplica un ACL concreto pero pasa lo mismo, el proxy está trabajando, pero squidguard logs en blanco y no hay filtrado.
-
Sin embargo al hacer la simulación sale el redirect a la página de bloqueo para la dirección del cliente:
2014-06-25 11:33:02 [64694] loading dbfile /var/db/squidGuard/No_permitido/domains.db 2014-06-25 11:33:02 [64694] logfile not allowed in acl other than default 2014-06-25 11:33:02 [64694] squidGuard 1.4 started (1403688782.002) 2014-06-25 11:33:02 [64694] squidGuard ready for requests (1403688782.070) 2014-06-25 11:33:02 [64694] Request(Profesores/Redes_Sociales/-) http://www.facebook.com 192.168.4.51/- - - REDIRECT http://192.168.4.200:2345/sgerror.php?url=403%20&a=192.168.4.51&n=&i=&s=Profesores&t=Redes_Sociales&u=http://www.facebook.com 192.168.4.51/- - - 2014-06-25 11:33:02 [64694] squidGuard stopped (1403688782.071)
Es como si squid no se comunicase con squidguard, pero en custom options-> integrations está la linea que se genera al activar squidguard.
-
Acabo de comprobar que el modo transparente no esta funcionando aunque esta habilitado para la interfaz. Tengo creadas unas redirecciones al proxy que si las deshabilito no hay navegación:
[2.1.3-RELEASE][admin@firewall]/root(9): pfctl -s nat | grep re1 rdr on re1 inet proto tcp from 192.168.4.0/24 to ! <localhost>port = domain -> <frw_lan>round-robin rdr on re1 inet proto udp from 192.168.4.0/24 to ! <localhost>port = domain -> <frw_lan>round-robin rdr on re1 proto tcp from ! <localhost>to ! <localhost>port = http -> <frw_lan>port 3128 round-robin rdr on re1 proto tcp from ! <localhost>to ! <localhost>port = https -> <frw_lan>port 3129 round-robin</frw_lan></localhost></localhost></frw_lan></localhost></localhost></frw_lan></localhost></frw_lan></localhost>
Es muy extraño tampoco funciona si configuro el navegador para usar el proxy explicitamente y tampoco para navegar directamente sin proxy deshabilitando las redirecciones aúnque el acceso web esta permitido.(Esto era por error mio en la regla de la redirección) -
Por de pronto llama la atención en squid.conf
acl unrestricted_hosts src "/var/squid/acl/unrestricted_hosts.acl" acl whitelist dstdom_regex -i "/var/squid/acl/whitelist.acl"
# These hosts do not have any restrictions http_access allow unrestricted_hosts # Always allow access to whitelist domains http_access allow whitelist
¿Eres consciente de tener esto activado? Lo digo porque puede estar interfiriendo en lo que supones hace squidGuard.
Yo quitaría eso, para probar. Teniendo a squidGuard lo más lógico es que las autorizaciones o restricciones las gestione directamente squidGuard.
-
Acabo de comprobar que el modo transparente no esta funcionando aunque esta habilitado para la interfaz. Tengo creadas unas redirecciones al proxy que si las deshabilito no hay navegación:
[2.1.3-RELEASE][admin@firewall]/root(9): pfctl -s nat | grep re1 rdr on re1 inet proto tcp from 192.168.4.0/24 to ! <localhost>port = domain -> <frw_lan>round-robin rdr on re1 inet proto udp from 192.168.4.0/24 to ! <localhost>port = domain -> <frw_lan>round-robin rdr on re1 proto tcp from ! <localhost>to ! <localhost>port = http -> <frw_lan>port 3128 round-robin rdr on re1 proto tcp from ! <localhost>to ! <localhost>port = https -> <frw_lan>port 3129 round-robin</frw_lan></localhost></localhost></frw_lan></localhost></localhost></frw_lan></localhost></frw_lan></localhost>
Es muy extraño tampoco funciona si configuro el navegador para usar el proxy explicitamente y tampoco para navegar directamente sin proxy deshabilitando las redirecciones aúnque el acceso web esta permitido.(Esto era por error mio en la regla de la redirección)En una configuración transparente básica lo que se ve es:
rdr on em0 inet proto tcp from any to ! (em0) port = http -> 127.0.0.1 port 3128 rdr on em0 inet proto tcp from any to ! (em0) port = https -> 127.0.0.1 port 3129
Lo tuyo es algo distinto…
-
Las reglas que salen las creé yo para forzar el uso del proxy y el dns forwarder por si acaso. So borro las entradas NAT que he puesto sencillamente no sale nada, ni con el modo transparente activado. ¿Esas reglas que indicas se crean automáticamente al activar el modo transparente? porque si desactivo y activo el modo transparente en mi instalación no aparecen.
-
¿Esas reglas que indicas se crean automáticamente al activar el modo transparente?
Sí, eso y la cláusula intercept detrás de 127.0.0.1:3128 y de 127.0.0.1:3129 en squid.conf.
squid tiene que saber que está en modo intercept y el tráfico tiene que ir a squid mediante rdr (redirect).
-
https://github.com/pfsense/pfsense-packages/blob/master/config/squid3/33/squid.inc
foreach ($transparent_ifaces as $t_iface) { $pf_transparent_rule_port=(in_array($t_iface,$ssl_ifaces) ? "{80,443}" : "80"); $rules .= "rdr on $t_iface proto tcp from any to !($t_iface) port 80 -> 127.0.0.1 port {$port}\n"; if (in_array($t_iface,$ssl_ifaces)) $rules .= "rdr on $t_iface proto tcp from any to !($t_iface) port 443 -> 127.0.0.1 port {$ssl_port}\n"; }
Viendo este código REVISA qué interfases tienes marcadas para el modo transparente, Transparent Proxy interface(s)
-
re1 si esta incluido en en las redes del proxy transparente para http y https. He probado a arrancar la versión i386 para comprobar si aparecen las reglas básicas que dices que crea el modo transparente pero no las veo, y aquí si que funciona aunque también tengo creadas las redirecciones manualmente.
Por otro lado hoy al llegar me he encontrado el pfsense caído con un error de protección del kernel, como los que me aparecieron en la versión i386 y que estaba achacando a los errores de paridad que me aparecen con esta versión. Adjunto imagen del error.