[SOLUCIONADO] squidGuard - Cambio de i386 a amd64
-
Hola a todos,
He preparado un pfsense 2.1.3-i386 con squid3-dev + squidguard + snort + pfbloquer como proxy transparente (http y https). Siguiendo las indicaciones y recomendaciones de los foros conseguí pornerlo a punto y me funcionaba todo correctamente salvo un grave problema que me ha hecho inútil todo. Hace no mucho puse un hilo en el foro sobre un problema que parecía de hardware, pero creo que se trata de una incompatibilidad de la versión i386 con procesadores intel Haswell, pues he visto en otros foros (también de freebsd) problemas similares siempre con estos procesadores, incluso en maquinas virtuales corriendo bajo estos procesadores. El problema era este:
https://forum.pfsense.org/index.php?topic=75099.msg415457#msg415457
A pesar del error el firewall parecía en pruebas que funcionaba correctamente, pero al ponerlo en servicio los errores aumentaban y terminaba cayendo. He probado la misma máquina con la versión amd64 y estos errores no aparecen nunca por lo que decidí migrarlo a esta versión.
El problema que me ha surgido es que restaurando exactamente la misma configuración que me funcionaba bien con la i386, en la amd64 me pasa lo siguiente:
-el servicio c-icap no arranca (clamd si va y esta actualizado)
-el proxy va (con el antivirus desactivado por lo anterior), squidguard esta arrancado, pero no filtra nada, en los logs squidguard no bloquea nada.¿Alguien puede orientarme con este problema?
Muchas gracias.
P.D.
Recuerdo que ya me dijo Bellera que el antivirus no funcionaba en amd64 pero pregunto por si se ha solucionado el problema y alguien consiguió hacerlo funcionar. -
He probado el tutorial de Bellera:
https://forum.pfsense.org/index.php?topic=73740.0
Pero nada. Squidguard esta activo y configurado con las listas de Shalla y ACL personalizados que me funcionaban con la versión i386, en amd64 sencillamente pasa todo, no filtra. Puedo prescindir del antivirus hasta que haya solución, pero no del filtro, ¿alguien sabe algo?
-
He encontrado el problema de porque no levanta el servicio c-icap. La configuración para i386 no vale para amd64 porque hace referencia a rutas especificas para las librerías y otras cosas. Borrando la configuración en proxy server-> antivirus se crea automáticamente una valida y el servicio arranca. Aún así no funciona correctamente porque sale 'Error de protocolo ICAP' al intentar abrir cualquier página.
-
en el log aparece esto:
kernel: pid 98555 (c-icap), uid 9595: exited on signal 11
y por lo que he visto en los foros no parece resuelto aún por lo que no se puede contar con el antivirus en amd64:
https://forum.pfsense.org/index.php?topic=73921.msg403988#msg403988
-
Efectivamente, es un problema del port (paquete) c-icap para FreeBSD.
Google c-icap kernel exit freebsd
Google c-icap freebsd port
-
¿Y el hecho de que squidGuard no filtre nada esta relacionado con esto también o es problema aparte?. He seguido este tutorial:
https://forum.pfsense.org/index.php?topic=73640.0
y las custom options -> integrations de proxy server salen correctamente, pero no consigo que filtre los contenidos.
-
No tiene que ver. Tengo instalaciones amd64 con c-icap y clamd parados.
Arriba, en Documentación o Últimas aportaciones a Documentación tienes una entrada que dice:
squidGuard con squid3
Ahí tienes cómo configurar y diagnosticar tu squidGuard, paso a paso.
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 -
También…
squidGuard.conf es lo que sale en:
Proxy filter SquidGuard: Log page: Filter config
squid.conf es lo que sale en:
Proxy filter SquidGuard: Log page: Proxy config
-
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.