[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.



  • @bellera:

    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

    squidGuard.TXT
    squid.txt



  • 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í?



  • @gromero:

    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)



  • @bellera:

    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.



  • @gromero:

    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.



  • @gromero:

    ¿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.




  • @gromero:

    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.

    pfctl -s nat

    Si no salen, no entiendo nada. Tengo en casa squid3-dev en modo transparente con SSL Bump para pruebas, en 32 bit. Y funciona así.

    Y en producción tengo uno con 64 bit, pero en modo no transparente.

    Intentaré probar con 64 bit la misma configuración de casa, a ver qué. Pero no ando muy bien de tiempo. A ver cuando lo puedo hacer.



  • @gromero:

    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.

    Con FreeBSD cuando aparecen cosas de estas algo le pasó al hardware.

    Intenta buscar en Google parte del mensaje de error, añadiendo FreeBSD.



  • A veces me parece que el comportamiento del configurador es totalmente arbitrario. En la instalación con la versión i386 que funcionaba, eliminé las redirecciones que cree yo manualmene hacia el proxy y dejó de funcionar. Después de probar a activar y desactivar revisar reglas de acceso al proxy y demás, funciona pero solo para el tráfico http, aunque tengo activado el modo transparente para https y seleccionada la interface, este tráfico pasa directo y sin filtrar, mientras que el http si pasa por el proxy y se filtra.



  • A ver…

    1. Copié en lugar seguro mi config.xml para 32 bit con squid3-dev + squidGuard-squid3

    2. Bajé la 2.1.4 de 64 bit

    3. Instalé en VirtualBox la 2.1.4

    4. Cargué el config.xml. Instaló paquetes. squid3-dev no arrancó.

    5. Tuve que modificar la sintaxis de la integración de squidGuard a squid3, como siempre.

    6. Tuve que decirle a squid que arrancara. En este punto:

    [2.1.4-RELEASE][admin@pfsense.localdomain]/usr/local/pkg(9): pfctl -s nat
    no nat proto carp all
    nat-anchor "natearly/*" all
    nat-anchor "natrules/*" all
    nat on em1 inet from 192.168.1.0/24 port = isakmp to any port = isakmp -> 192.168.125.208 port 500
    nat on em1 inet from 127.0.0.0/8 port = isakmp to any port = isakmp -> 192.168.125.208 port 500
    nat on em1 inet from 192.168.1.0/24 to any -> 192.168.125.208 port 1024:65535
    nat on em1 inet from 127.0.0.0/8 to any -> 192.168.125.208 port 1024:65535
    no rdr proto carp all
    rdr-anchor "relayd/*" all
    rdr-anchor "tftp-proxy/*" all
    rdr-anchor "miniupnpd" all
    

    O sea que mal para mi em0. Hice reboot y tras él:

    [2.1.4-RELEASE][admin@pfsense.localdomain]/root(1): pfctl -s nat
    no nat proto carp all
    nat-anchor "natearly/*" all
    nat-anchor "natrules/*" all
    nat on em1 inet from 192.168.1.0/24 port = isakmp to any port = isakmp -> 192.168.125.208 port 500
    nat on em1 inet from 127.0.0.0/8 port = isakmp to any port = isakmp -> 192.168.125.208 port 500
    nat on em1 inet from 192.168.1.0/24 to any -> 192.168.125.208 port 1024:65535
    nat on em1 inet from 127.0.0.0/8 to any -> 192.168.125.208 port 1024:65535
    no rdr proto carp all
    rdr-anchor "relayd/*" all
    rdr-anchor "tftp-proxy/*" all
    no rdr on em0 proto tcp from any to <dropbox> port = http
    no rdr on em0 proto tcp from any to <dropbox> port = https
    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
    rdr-anchor "miniupnpd" all</dropbox></dropbox>
    

    O sea que bien para em0. En Services: Proxy server: Real time veo perfectamente como estoy pasando por el proxy en modo transparente. Incluído SSL Bump.

    Sin embargo, a pesar de tener squidGuard arrancado NO filtro.

    [2.1.4-RELEASE][admin@pfsense.localdomain]/root(2): ps aux | grep squid
    root   58606  0.0  1.0 34312 10672  ??  INs   8:16PM   0:00.00 /usr/pbi/squid-amd64/sbin/squid -f /usr/pbi/squid-amd64/etc/squid/squid.conf
    proxy  59056  0.0  2.6 56840 26488  ??  SN    8:16PM   0:04.61 (squid-1) -f /usr/pbi/squid-amd64/etc/squid/squid.conf (squid)
    proxy  59388  0.0  0.4 15312  4408  ??  IN    8:16PM   0:00.16 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
    proxy  59399  0.0  0.4 15312  4396  ??  IN    8:16PM   0:00.02 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
    proxy  59617  0.0  0.4 15312  3600  ??  IN    8:16PM   0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
    proxy  59746  0.0  0.4 15312  3600  ??  IN    8:16PM   0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
    proxy  59769  0.0  0.4 15312  3600  ??  IN    8:16PM   0:00.00 (ssl_crtd) -s /var/squid/lib/ssl_db -M 4MB -b 2048 (ssl_crtd)
    proxy  60003  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.02 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  60036  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  60304  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  60517  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  60696  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  61009  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  61149  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  61307  0.0  0.7 38020  7256  ??  IN    8:16PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  62115  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  62401  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  62683  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  62952  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  63269  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  63322  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  63642  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    proxy  63711  0.0  0.7 38020  7280  ??  IN    8:33PM   0:00.01 (squidGuard) -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf (squidGuard)
    

    Miro por qué…



  • Me lo temía. Mis blacklists externas no están descargadas, con lo que squidGuard entra en modo de emergencia (deja pasar):

    [2.1.4-RELEASE][admin@pfsense.localdomain]/root(4): echo "http://www.facebook.com 192.168.1.2/ - - GET" | squidGuard -c /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf -d
    ...
    ...
    ...
    2014-06-26 20:41:17 [45245] New setting: logdir: /var/squidGuard/log
    2014-06-26 20:41:17 [45245] New setting: dbhome: /var/db/squidGuard
    2014-06-26 20:41:17 [45245] /usr/pbi/squidguard-squid3-amd64/bin/squidGuard: ACL destination blk_blacklists_adult is not defined in configfile /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf
    2014-06-26 20:41:17 [45245] Going into emergency mode
    
    2014-06-26 20:41:17 [45245] ending emergency mode, stdin empty
    


  • Descargué las listas externas, Services: Proxy filter: Blacklist

    Fuí a Services: Proxy filter: General Settings y le dí al botón Apply.

    Funcionando. Migrado de 32 bit a 64 bit sin más problemas… Más upgrade de pfSense (de pruebas) 2.1 a 2.1.4 así como de los paquetes.

    pfSense 2.1.4 64 bit (pfSense-LiveCD-2.1.4-RELEASE-amd64-20140620-1259.iso)
    squid3-dev 3.3.10 pkg 2.2.6
    squidGuard-squid3 1.4_4 pkg v.1.9.5



  • No habia probado a reiniciar la maquina despues del cambio. Lo he probado en casa en una maquina virtual y efectivamente se crean las redirecciones, sin embargo en esta instalación no. Hice una instalación nueva en otro disco y restaure la configuración de nuevo, quite todos los ajustes que tenia especificos para trabajar con un disco ssd, etc para dejarlo lo más parecido a la instalación base. Despues de configurar squid y squidGuard y reiniciar un par de veces parece que si están:

    
    $ pfctl -s nat | grep re1
    no nat on re1 inet proto tcp from (re1) to 192.168.4.0/24
    nat on re1 inet proto tcp from 192.168.4.0/24 to <localhost>port = domain -> (re1) round-robin
    no nat on re1 inet proto tcp from (re1) to 192.168.4.0/24
    nat on re1 inet proto tcp from 192.168.4.0/24 to <localhost>port = domain -> (re1) round-robin
    no nat on re1 inet proto tcp from (re1) to 192.168.4.0/24
    nat on re1 inet proto tcp from 192.168.4.0/24 to <localhost>port = domain -> (re1) round-robin
    no nat on re1 inet proto tcp from (re1) to 192.168.4.0/24
    nat on re1 inet proto tcp from 192.168.4.0/24 to <localhost>port = domain -> (re1) round-robin
    rdr on re1 inet proto tcp from 192.168.4.0/24 to any port = domain -> <localhost>round-robin
    rdr on re1 inet proto udp from 192.168.4.0/24 to any port = domain -> <localhost>round-robin
    rdr on re1 inet proto tcp from 192.168.0.0/24 to any port = domain -> <localhost>round-robin
    rdr on re1 inet proto udp from 192.168.0.0/24 to any port = domain -> <localhost>round-robin
    rdr on re1 inet proto tcp from 192.168.2.0/24 to any port = domain -> <localhost>round-robin
    rdr on re1 inet proto udp from 192.168.2.0/24 to any port = domain -> <localhost>round-robin
    rdr on re1 inet proto tcp from 172.16.0.0/16 to any port = domain -> <localhost>round-robin
    rdr on re1 inet proto udp from 172.16.0.0/16 to any port = domain -> <localhost>round-robin
    no rdr on re1 inet proto tcp from any to 192.168.0.0/16 port = http
    no rdr on re1 inet proto tcp from any to 192.168.0.0/16 port = https
    no rdr on re1 inet proto tcp from any to 172.16.0.0/12 port = http
    no rdr on re1 inet proto tcp from any to 172.16.0.0/12 port = https
    no rdr on re1 inet proto tcp from any to 10.0.0.0/8 port = http
    no rdr on re1 inet proto tcp from any to 10.0.0.0/8 port = https
    no rdr on re1 proto tcp from <localhost>to any port = http
    no rdr on re1 proto tcp from <localhost>to any port = https
    no rdr on re1 proto tcp from <sin_control>to any port = http
    no rdr on re1 proto tcp from <sin_control>to any port = https
    rdr on re1 inet proto tcp from any to ! (re1) port = http -> 127.0.0.1 port 3128
    rdr on re1 inet proto tcp from any to ! (re1) port = https -> 127.0.0.1 port 3129</sin_control></sin_control></localhost></localhost></localhost></localhost></localhost></localhost></localhost></localhost></localhost></localhost></localhost></localhost></localhost></localhost> 
    

    Pero ahora me está pasando lo mismo que en las últimas pruebas que  hice con la version i386, squidguard esta filtrando el trafico http pero no el https.  ¿Alguna idea?



  • Me sale esto en system logs:

    
    Jun 27 13:45:00	squid[60937]: Squid Parent: (squid-1) process 61318 started
    Jun 27 13:45:00	squid[60937]: Squid Parent: will start 1 kids
    Jun 27 13:44:53	squid[41631]: Squid Parent: (squid-1) process 41920 started
    Jun 27 13:44:53	squid[41631]: Squid Parent: will start 1 kids
    Jun 27 13:42:40	squid[57868]: Squid Parent: (squid-1) process 58105 exited with status 0
    Jun 27 13:39:07	php: rc.filter_configure_sync: There was an error while parsing the package filter rules for /usr/local/pkg/squid.inc.
    Jun 27 13:38:51	php: rc.filter_configure_sync: There was an error while parsing the package filter rules for /usr/local/pkg/squid.inc.
    Jun 27 13:37:56	php: rc.filter_configure_sync: There was an error while parsing the package filter rules for /usr/local/pkg/squid.inc.
    Jun 27 13:30:46	php: rc.filter_configure_sync: There was an error while parsing the package filter rules for /usr/local/pkg/squid.inc.
    Jun 27 13:30:19	php: rc.filter_configure_sync: There was an error while parsing the package filter rules for /usr/local/pkg/squid.inc.
    Jun 27 13:29:49	php: rc.filter_configure_sync: There was an error while parsing the package filter rules for /usr/local/pkg/squid.inc.
    


  • Eso lo que dice es que tienes alguna opción que le da error al procesarla.

    Postea el squid.conf actual, a ver si vemos algo.



  • Aquí va el squid.conf

    squid.conf.txt



  • Te falta…

    # Custom options before auth
    always_direct allow all
    ssl_bump server-first all
    

    Es un bug, https://forum.pfsense.org/index.php?topic=73007.msg402538#msg402538

    Donde dice Bug en squid3-dev 3.3.10 pkg 2.2.2 envía a un post mío en inglés. Por lo que veo, parece que el bug persiste en 2.2.6.



  • Esto lo tenia puesto pero lo quité en la nueva instalación, pues había probado con esto y sin el en la versión i386 y no noté diferencia. Pensé que en las actualizaciones que salieron se habría corregido. Probaré el lunes a ver como va, y gracias por tu dedicación.