Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    [SOLUCIONADO] squidGuard - Cambio de i386 a amd64

    Scheduled Pinned Locked Moved Español
    48 Posts 2 Posters 8.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      gromero
      last edited by

      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.

      IMAG0245.jpg
      IMAG0245.jpg_thumb

      1 Reply Last reply Reply Quote 0
      • belleraB
        bellera
        last edited by

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

        1 Reply Last reply Reply Quote 0
        • belleraB
          bellera
          last edited by

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

          1 Reply Last reply Reply Quote 0
          • G
            gromero
            last edited by

            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.

            1 Reply Last reply Reply Quote 0
            • belleraB
              bellera
              last edited by

              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é…

              1 Reply Last reply Reply Quote 0
              • belleraB
                bellera
                last edited by

                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
                
                1 Reply Last reply Reply Quote 0
                • belleraB
                  bellera
                  last edited by

                  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

                  1 Reply Last reply Reply Quote 0
                  • G
                    gromero
                    last edited by

                    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?

                    1 Reply Last reply Reply Quote 0
                    • G
                      gromero
                      last edited by

                      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.
                      
                      1 Reply Last reply Reply Quote 0
                      • belleraB
                        bellera
                        last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • G
                          gromero
                          last edited by

                          Aquí va el squid.conf

                          squid.conf.txt

                          1 Reply Last reply Reply Quote 0
                          • belleraB
                            bellera
                            last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • G
                              gromero
                              last edited by

                              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.

                              1 Reply Last reply Reply Quote 0
                              • G
                                gromero
                                last edited by

                                Solucionado  ;D

                                Me he ido de la lengua. Ahora tengo que el filtrado funciona por http y https, pero no funcionan los grupos ACL que tenía creados y si funcionaban en la versión i386 con el portal cautivo. Tengo creados dos grupos ACL además del default. Por IP parece que se aplican correctamente, pero para los que se autentican desde el portal cautivo siempre usa default cuando según el usuario se tendría que aplicar un grupo diferente. Tengo 2 grupos ACL (profesores y administracion) y 3 usuarios (alumno, profesor y colegio) se deben aplicar los ACL de esta forma:
                                alumno -> Default
                                profesor-> Profesores
                                colegio -> Administracion
                                Pero el portal cautivo esta aplicando Default a todos. La configuración que tengo de squidguard funcionaba en i386.

                                1 Reply Last reply Reply Quote 0
                                • G
                                  gromero
                                  last edited by

                                  Hola,

                                  He visto que en los datos del grupo en Groups ACL donde se indican los clientes del grupo, ponen el usuario  (para autenticación local) entre comillas simples (ej. 'usuario1') pero no estoy seguro si es necesario usarlas o no. Yo desde luego lo tenia sin comillas en la versión i386 y funcionaba. Hoy no puedo probarlo con comillas pero ¿alguien puede confirmarme como debe ir?

                                  Saludos.

                                  1 Reply Last reply Reply Quote 0
                                  • belleraB
                                    bellera
                                    last edited by

                                    En squid.conf, sin comillas.

                                    http://wiki.squid-cache.org/Features/Authentication

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      gromero
                                      last edited by

                                      Hola,

                                      Yo no estoy usando autentificación en squid porque uso el proxy transparente, solo quiero que se apliquen filtros diferentes según la ip y según el usuario del portal cautivo (hay varias redes, una para wifi con portal cautivo) y creo que esto debe estar en squidguard.conf. Acaba de probar con comillas en la configuración del proxy filter ->ACL groups y después de darle a APPLY efectivamente aparece algo nuevo:

                                      
                                      # Administraci�n sin control
                                      src Administracion {
                                      	ip     192.168.4.1-192.168.4.30
                                      	user   colegio
                                      }
                                      
                                      # Reglas para profesores
                                      src Profesores {
                                      	ip     192.168.4.0/24
                                      	user   profesor
                                      	log block.log
                                      }
                                      
                                      

                                      Sin comillas, no aparecia el parámetro user. A pesar de todo sigue aplicando Default a todos los usuario del portal cautivo. He de matizar de nuevo que esta configuración pero sin comillas, es como lo tenía en la versión i386 y funcionaba perfectamente.

                                      1 Reply Last reply Reply Quote 0
                                      • belleraB
                                        bellera
                                        last edited by

                                        En modo transparente (intercepción) NO puedes gestionar usuarios.

                                        http://www.squidguard.org/Doc/authentication.html

                                        El navegador no sabe nada de la presencia del proxy, por lo que no le puede pasar el usuario.

                                        Lo que tienes que hacer es asegurar la IP que tiene cada usuario cuando se loguea en portal cautivo. Y obrar por asignación de IPs/máscaras.

                                        Esto lo puedes hacer por DHCP y MAC.

                                        Y si deseas más seguridad, mediante FreeRadius.

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          gromero
                                          last edited by

                                          Puedes explicarme algo más o poner un enlace a algún tutorial. No entiendo que quieres decir con asegurar la IP.

                                          De todos modos estoy seguro que en pruebas que hice me llego a funcionar sin usar autenticación en squid en la versión i386.

                                          Saludos.

                                          1 Reply Last reply Reply Quote 0
                                          • belleraB
                                            bellera
                                            last edited by

                                            Pues que mediante DHCP otorgues siempre la misma IP a los equipos, en función de su MAC:

                                            http://www.bellera.cat/josep/pfsense/dhcp_cs.html#LAN

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.