Squid + squidguard bloquea algunas ip's y otras no (SOLUCIONADO)



  • Que tal a todos en el foro, tengo un problema ultimamente.  Tengo un pfsense + squid + squidguard modo no transparente o explícito con 4 grupos de usuarios, cada uno con reglas o bloqueo de sitios mediante shallalist y con categorías para aquellos sitios que no están en shallalist.

    A cada usuario le asigno ip mediante mac address, actualmente tengo aprox como 80 usuarios y va a crecer al parecer hasta 180.

    Lo curioso es que cuando hice la instalación nueva, y configuré todo mediante el tutorial que tiene el amigo @periko pfsense modo no transparente, los primeros días funciona correctamente y sin problemas.

    Con el paso de los días o meses, hago actualizaciones del pfsense conforme van saliendo, etc  y veo que a algunos usuarios que pertenecen a algun grupo con ciertas páginas bloqueadas, los deja cargar esas páginas.  Al principio creí que la ip estaba dentro de algún grupo sin restricciones y en el grupo de bloqueados, pero no es así, el usuario se encuentra en el grupo de bloqueados y navega con singular alegría por los sitios bloqueados.
    Lo curioso es que si le quito la configuración del proxy, no navega, tiene que estar explícito.  Pero al estar configurado lo deja navegar sin bloqueos.

    Es desesperante tratar de averiguar lo que está sucediendo y porque.  Alguien tendrá alguna idea sobre lo que está sucediendo, porqué sucede y cómo se puede evitar o reparar?  >:(

    Quedo en espera de alguna sugerencia.

    Saludos

    RESUMEN DE LA SOLUCIÓN

    RESUMEN

    Tengo PfSense 2.3.1_2 con squid3 en modo explícito (no transparente) + squidGuard.  Aproximadamente son 90 usuarios, y tengo grupos con diferentes políticas de acceso.

    El Pfsense no lo administro yo unicamente, sino que en mi ausencia hay compañeros que pueden entrar al webgui, pero son nuevos en el tema freeBSD, pfsense.

    El problema era que pfsense no estaba bloqueando adecuadamente algunos sitios como debe hacerlo y me dí a la tarea de averiguar por qué y escribi este post para pedir apoyo a la comunidad.

    En uno de mis grupos de usuarios de squidGuard, aparecía un rango de esta forma:  192.168.2.10-192.168.2.20-192.168.2.35, esto lo ví después de leer uno de los links que me proporcionó Bellera y trae unos comandos para ejecutar en el shell.  Me arrojó error en el squidGuard.conf en una línea determinada, fui y edité el archivo y encontré ese error.  Una vez corregido, pfsense volvió a bloquear como debe, y esto lo pude constatar porque mis usuarios comenzaron a llamar que ya no les dejaba entrar a ciertas páginas que están prohibidas en horario de oficina…  ;D

    Gracias a la comunidad de usuarios PfSense!!



  • Recomiendan ver los logs de squid para ver cómo se comporta alguna de las ip que no son bloqueadas?

    Digo, se me ocurre hacer eso, porque no encuentro otra manera…

    Quién dice otra posible causa?



  • Tú mismo te respondiste. Tienes que ver los logs de squidGuard y también los de squid.

    squid llama a varias instancias de squidGuard. Revisa el número de instancias y como tienes la cláusula de bypass para squidGuard:

    http://www.squid-cache.org/Doc/config/redirector_bypass/ < 3.x

    http://www.squid-cache.org/Doc/config/url_rewrite_bypass/ >= 3.x



  • Gracias por responder Bellera!

    Algúna frase que deba buscar, porque no me aparece nada raro en los logs del squid…A menos claro no esté buscando bien.



  • Insisto. ¿Cómo está tu cláusula de bypass?

    https://forum.pfsense.org/index.php?topic=73740.msg402942#msg402942



  • Para bloquear por ejemplo Facebook
    Lo haces desde target en squidguard y en url list. Creas el nombre completo se la página de Facebook, es decir www.facebook.com/ , para usuarios de Latinoamérica también es-la.facebook.com/ y para móviles m.facebook.com/ si bloqueas todas las páginas entonces funcionara. Si solo bloqueas el dominio Facebook.com te funcionara a medias



  • @bellera:

    Insisto. ¿Cómo está tu cláusula de bypass?

    Gracias por responder Bellera, mi clausula de bypass lo tengo de la sig manera:

    # squid config options
    # ------------------------------------------------------------------------------
    
    define('REDIRECTOR_OPTIONS_REM',   '# squidGuard options');
    define('REDIRECT_CHILDREN_OPT',    'url_rewrite_children');
    define('REDIRECTOR_PROGRAM_OPT',   'url_rewrite_program');
    define('REDIRECT_BYPASS_OPT',      'url_rewrite_bypass');
    define('REDIRECTOR_PROCESS_COUNT', '16 startup=8 idle=4 concurrency=0');
    

    No he movido nada de la configuración, según leí en el post que amablemente me sugeriste, es como debe estar?

    Saludos!!



  • Lo que citas forma parte del código PHP de pfSense, no del fichero squid.conf generado por pfSense.

    https://forum.pfsense.org/index.php?topic=73740.msg402942#msg402942

    
    url_rewrite_program /usr/pbi/squidguard-squid3-i386/bin/squidGuard -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf;url_rewrite_bypass off;url_rewrite_children 16 startup=8 idle=4 concurrency=0
    

    ¿ url_rewrite_bypass está off o on ?

    Debe estar a off porque, de lo contrario, si se llegan a usar todos los procesos de squidGuard al mismo tiempo, en lugar de hacer esperar squid se salta squidGuard.



  • Muchas gracias Bellera por contestar, volveré a checar esa información.  En un momento más subo la configuración que tengo.

    Saludos



  • Aqui está la información del squid.conf

    Package Integration

    url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf
    url_rewrite_bypass off
    url_rewrite_children 16 startup=8 idle=4 concurrency=0

    Quedo atento a las sugerencias…  Saludos!



  • Testea squidGuard desde la línea de comandos.

    Tienes un ejemplo de cómo hacerlo en:

    https://forum.pfsense.org/index.php?topic=78261.msg428942#msg428942

    squid pasa a squidGuard lo siguiente:

    "http://www.facebook.com 192.168.1.2/ - - GET"
    

    Es decir, URL, IP del cliente y después podría haber usuario autentificado.

    Más ejemplos de cómo va esto. Quizás más completos, https://forum.pfsense.org/index.php?topic=46513.msg244068#msg244068



  • Excelente Bellera, agradezco infinitamente tu ayuda.  Haré lo que me dices y regreso para postear resultados.  :)



  • Me sale esto:

    2016-10-26 09:35:44 [11794] squidGuard: can't open configfile  /usr/pbi/squidguard-squid3-amd64/etc/squidGuard/squidGuard.conf
    2016-10-26 09:35:44 [11794] Going into emergency mode
    ERR
    2016-10-26 09:35:44 [11794] ending emergency mode, stdin empty

    Me imagino que hay algún tipo de error en esa ruta, o que el archivo pertenezca a root y que por eso no me deja?



  • Encontré otro error con uno de los grupos de usuarios en squidGuard al correr este comando:

    squidGuard -C all -d
    2016-10-26 09:43:27 [3221] New setting: logdir: /var/squidGuard/log
    2016-10-26 09:43:27 [3221] New setting: dbhome: /var/db/squidGuard
    2016-10-26 09:43:27 [3221] syntax error in configfile /usr/local/etc/squid/squidGuard.conf line 118
    2016-10-26 09:43:27 [3221] Going into emergency mode
    
    

    tenía declarado mal un rango de ip's por ejemplo:

    192.168.5.70-192.168.5.78-192.168.5.83

    Fui al configurador de grupos de squidGuard y arreglé el error, le di salvar, le di apply.  Volví a correr```
    squidGuard -C all -d

    Y me salio una gran lista:
    
    

    New setting: logdir: /var/squidGuard/log
    2016-10-26 09:46:50 [24081] New setting: dbhome: /var/db/squidGuard
    2016-10-26 09:46:50 [24081] init domainlist /var/db/squidGuard/blk_BL_adv/domains
    2016-10-26 09:46:50 [24081] create new dbfile /var/db/squidGuard/blk_BL_adv/domains.db
    2016-10-26 09:46:50 [24081] init urllist /var/db/squidGuard/blk_BL_adv/urls
    2016-10-26 09:46:50 [24081] create new dbfile /var/db/squidGuard/blk_BL_adv/urls.db

    --- AQUI LE BORRÉ PORQUE ERA MUY LARGA LA LISTA Y ERAN TODAS LAS CATEGORÍAS QUE MANEJA SHALLALIST---

    2016-10-26 09:47:23 [24081] create new dbfile /var/db/squidGuard/blk_BL_webtv/urls.db
    2016-10-26 09:47:23 [24081] init expressionlist /var/db/squidGuard/Blk_extensiones/expressions
    2016-10-26 09:47:23 [24081] init domainlist /var/db/squidGuard/Blk_sitios/domains
    2016-10-26 09:47:23 [24081] create new dbfile /var/db/squidGuard/Blk_sitios/domains.db
    2016-10-26 09:47:23 [24081] init expressionlist /var/db/squidGuard/Blk_sitios/expressions
    2016-10-26 09:47:23 [24081] init urllist /var/db/squidGuard/Blk_sitios/urls
    2016-10-26 09:47:23 [24081] create new dbfile /var/db/squidGuard/Blk_sitios/urls.db
    2016-10-26 09:47:23 [24081] init domainlist /var/db/squidGuard/Perm_Mortales/domains
    2016-10-26 09:47:23 [24081] create new dbfile /var/db/squidGuard/Perm_Mortales/domains.db
    2016-10-26 09:47:23 [24081] init urllist /var/db/squidGuard/Perm_Mortales/urls
    2016-10-26 09:47:23 [24081] create new dbfile /var/db/squidGuard/Perm_Mortales/urls.db
    2016-10-26 09:47:23 [24081] logfile not allowed in acl other than default
    2016-10-26 09:47:23 [24081] logfile not allowed in acl other than default
    2016-10-26 09:47:23 [24081] logfile not allowed in acl other than default
    2016-10-26 09:47:23 [24081] logfile not allowed in acl other than default
    2016-10-26 09:47:23 [24081] logfile not allowed in acl other than default
    2016-10-26 09:47:23 [24081] squidGuard 1.4 started (1477493210.360)
    2016-10-26 09:47:23 [24081] db update done
    2016-10-26 09:47:23 [24081] squidGuard stopped (1477493243.537)

    
    Y luego corrí esto otro que me indicaste en el link en tus comentarios:
    
    

    echo "http://www.facebook.com 172.16.0.1/ - - GET" | squidGuard -c /usr/local/etc/squid/squidGuard.conf -d
    2016-10-26 09:50:35 [57596] New setting: logdir: /var/squidGuard/log
    2016-10-26 09:50:35 [57596] New setting: dbhome: /var/db/squidGuard
    2016-10-26 09:50:35 [57596] init domainlist /var/db/squidGuard/blk_BL_adv/domains
    2016-10-26 09:50:35 [57596] loading dbfile /var/db/squidGuard/blk_BL_adv/domains.db
    2016-10-26 09:50:35 [57596] init urllist /var/db/squidGuard/blk_BL_adv/urls
    2016-10-26 09:50:35 [57596] loading dbfile /var/db/squidGuard/blk_BL_adv/urls.db

    --- IGUAL AQUI BORRÉ PORQUE ERA MUCHO TEXTO E IGUAL ERAN TODAS LAS CATEGORÍAS DE SHALLALIST

    2016-10-26 09:50:35 [57596] init expressionlist /var/db/squidGuard/Blk_sitios/expressions
    2016-10-26 09:50:35 [57596] init urllist /var/db/squidGuard/Blk_sitios/urls
    2016-10-26 09:50:35 [57596] loading dbfile /var/db/squidGuard/Blk_sitios/urls.db
    2016-10-26 09:50:35 [57596] init domainlist /var/db/squidGuard/Perm_Mortales/domains
    2016-10-26 09:50:35 [57596] loading dbfile /var/db/squidGuard/Perm_Mortales/domains.db
    2016-10-26 09:50:35 [57596] init urllist /var/db/squidGuard/Perm_Mortales/urls
    2016-10-26 09:50:35 [57596] loading dbfile /var/db/squidGuard/Perm_Mortales/urls.db
    2016-10-26 09:50:35 [57596] logfile not allowed in acl other than default
    2016-10-26 09:50:35 [57596] logfile not allowed in acl other than default
    2016-10-26 09:50:35 [57596] logfile not allowed in acl other than default
    2016-10-26 09:50:35 [57596] logfile not allowed in acl other than default
    2016-10-26 09:50:35 [57596] logfile not allowed in acl other than default
    2016-10-26 09:50:35 [57596] squidGuard 1.4 started (1477493435.905)
    2016-10-26 09:50:35 [57596] squidGuard ready for requests (1477493435.931)
    2016-10-26 09:50:35 [57596] source not found
    2016-10-26 09:50:35 [57596] no ACL matching source, using default
    ERR
    2016-10-26 09:50:35 [57596] squidGuard stopped (1477493435.931)

    
    Quedo en espera de tus amables comentarios…  :-)


  • El resultado ERR es correcto e indica que para 172.16.0.1 no se bloqueará facebook.com

    Result line sent back to Squid 3.4 and newer:

    OK
    Success. A new URL is presented.

    ERR
    Success. No action for this URL.

    BH
    Failure. The helper encountered a problem.

    http://wiki.squid-cache.org/Features/Redirectors#Using_an_HTTP_redirector



  • Después de reparar el rango de ip con error de squidGuard, pfsense volvió a bloquear como debe.  De todos modos estaré pendiente por cualquier otro error.

    Recuerdo que en versiones previas de pfsense, al tener un error de ese tipo no te dejaba guardar, te indicaba con letras rojas el error.  Ahora debe ser diferente.

    Bellera y amigos del foro, agradezco infinitamente todo el apoyo.

    Creo que dejare el resumen y marcaré el post como (Solucionado)


Log in to reply