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

    Proyecto para migrar de Netasq U70 a Pfsense (squid3-devel)

    Scheduled Pinned Locked Moved Español
    42 Posts 2 Posters 11.9k 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

      Hola Bellera,

      Gracias por tu aportación y estar ahí al pié del cañon…

      Finalmente creo que el problema es con el antivirus pues con el desactivado squidguard termina arrancando, aúnque puede tardar un buen rato y esto es lo que me confundía. El servicio c-icap y clamd estan en marcha pero si activo el antivirus en el proxy squidguard no arranca.

      estos son los mensajes que salian en el log

      |
      Mar 12 10:00:43 squid: Bungled /usr/pbi/squid-amd64/etc/squid/squid.conf line 152: icap_send_client_ip
      Mar 12 10:00:24 php: rc.start_packages: The command '/usr/pbi/squid-amd64/sbin/squid -f /usr/pbi/squid-amd64/etc/squid/squid.conf' returned exit code '1', the output was 'FATAL: Bungled /usr/pbi/squid-amd64/etc/squid/squid.conf line 152: icap_send_client_ip Squid Cache (Version 3.3.10): Terminated abnormally. CPU Usage: 0.009 seconds = 0.009 user + 0.000 sys Maximum Resident Size: 31472 KB Page faults with physical i/o: 0'
      Mar 12 10:00:24 squid: Bungled /usr/pbi/squid-amd64/etc/squid/squid.conf line 152: icap_send_client_ip
      Mar 12 10:00:14 squid: Bungled /usr/pbi/squid-amd64/etc/squid/squid.conf line 152: icap_send_client_ip
      Mar 12 10:00:07 squid: Bungled /usr/pbi/squid-amd64/etc/squid/squid.conf line 152: icap_send_client_ip
      Mar 12 09:59:59 php: /status_services.php: The command '/usr/local/etc/rc.d/c-icap stop' returned exit code '1', the output was 'c_icap not running? (check /var/run/c-icap/c-icap.pid).'
      Mar 12 09:53:35 kernel: pid 14512 (c-icap), uid 106: exited on signal 11
      Mar 12 09:53:35 kernel: pid 13735 (c-icap), uid 106: exited on signal 11
      Mar 12 09:53:25 kernel: pid 35565 (c-icap), uid 106: exited on signal 11
      Mar 12 09:53:25 kernel: pid 11571 (c-icap), uid 106: exited on signal 11 |

      He buscado las opciones que indica marcelloc para comentar, pero no las encuentro. Pero he de decir que aparentemente está funcionando, el único problema es que cuando una página es bloqueada sale un error del proxy sin informacíon, como si no pudiese acceder a internet. Que supongo que esta relacionado con la configuración de la redirección en caso de bloqueo. Para esto quisiera usar una página entregada por el propio pfsense pero en las opciones de configuración dice que en caso de usar el modo transparente no se pueden usar paginas internas.. ¿Podeis confirmarme esto?

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

        en las opciones de configuración dice que en caso de usar el modo transparente no se pueden usar paginas internas.. ¿Podeis confirmarme esto?

        Tiene lógica. El modo transparente es un redireccionamiento incondicional de la navegación. Si se envía a la misma máquina debe provocarse un bucle.

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

          Eso tenía entendido pero (y ahí va supongo la perogrullada) ¿no es posible en vez de usar el modo transparente, crear redirecciones NAT que funcionen de forma similar al modo transparente que redireccionen todo menos a pfsense para que pfsense entrege la página?.

          Saludos

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

            Es una idea…

            Declara el modo transparente en Custom Options y haz, efectivamente, el redireccionamiento "a mano"

            En Documentación (arriba), Forzar el uso de squid externo a pfSense

            Esto puede darte una idea de cómo redirigir, exceptuando la propia máquina.

            ¡Suerte!

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

              Hola,

              He probado a desactivar el modo transparente, creando las redirecciones con reglas nat y bloqueando las salidas por 80 y 443 excepto a pfsense pero sale un error del proxy. (adjunto imágenes)

              ![Error proxy.gif](/public/imported_attachments/1/Error proxy.gif)
              ![Error proxy.gif_thumb](/public/imported_attachments/1/Error proxy.gif_thumb)
              ![reglas nat.gif_thumb](/public/imported_attachments/1/reglas nat.gif_thumb)
              ![reglas nat.gif](/public/imported_attachments/1/reglas nat.gif)
              ![reglas firewall.gif_thumb](/public/imported_attachments/1/reglas firewall.gif_thumb)
              ![reglas firewall.gif](/public/imported_attachments/1/reglas firewall.gif)

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

                squid no transparente

                [2.1-RELEASE][admin@pfSense.localdomain]/root(6): pfctl -s rules > reglas_squid_no_transparente.txt
                [2.1-RELEASE][admin@pfSense.localdomain]/root(7): pfctl -s nat >> reglas_squid_no_transparente.txt
                [2.1-RELEASE][admin@pfSense.localdomain]/root(8): find / -name squid.conf
                /usr/pbi/squid-i386/etc/squid/squid.conf
                [2.1-RELEASE][admin@pfSense.localdomain]/root(9): cp /usr/pbi/squid-i386/etc/squid/squid.conf squid.conf_no_transparente.txt
                

                Activo squid transparente

                [2.1-RELEASE][admin@pfSense.localdomain]/root(10): pfctl -s rules > reglas_squid_transparente.txt
                [2.1-RELEASE][admin@pfSense.localdomain]/root(11): pfctl -s nat >> reglas_squid_transparente.txt
                [2.1-RELEASE][admin@pfSense.localdomain]/root(12): cp /usr/pbi/squid-i386/etc/squid/squid.conf squid.conf_transparente.txt
                

                Diferencias

                [2.1-RELEASE][admin@pfSense.localdomain]/root(13): diff reglas_squid_no_transparente.txt reglas_squid_transparente.txt
                77a78,79
                > pass in quick on em0 proto tcp from any to ! (em0) port = http flags S/SA keep state
                > pass in quick on em0 proto tcp from any to ! (em0) port = 3128 flags S/SA keep state
                89a92
                > rdr on em0 inet proto tcp from any to ! (em0) port = http -> 127.0.0.1 port 3128
                [2.1-RELEASE][admin@pfSense.localdomain]/root(14): diff squid.conf_no_transparente.txt squid.conf_transparente.txt
                4a5
                > http_port 127.0.0.1:3128 intercept
                
                
                1 Reply Last reply Reply Quote 0
                • belleraB
                  bellera
                  last edited by

                  Por tanto, si en Custom Options del configurador de squid añades:

                  http_port 127.0.0.1:3128 intercept
                  

                  squid pasa (si respeta eso) a modo transparente.

                  y el redireccionamiento

                  rdr on em0 inet proto tcp from any to ! (em0) port = http -> 127.0.0.1 port 3128
                  

                  debería ser, a mi entender:

                  rdr on em0 inet proto tcp from !127.0.0.1 to ! (em0) port = http -> 127.0.0.1 port 3128
                  

                  si la sintaxis de rdr lo admite.

                  Los rdr en el configurador de pfSense son los NAT Port Forward.

                  em0 es mi LAN address (mi placa de red LAN).

                  A ver si hay suerte…

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

                    Muy ilustrativo Bellera, ya se un poco más de como moverme con el pfsense. Lo probaré y comento… :o

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

                      Hola,

                      Gracias Belera por la información, lo del certificado ya lo había leído y lo tenia claro, pero después de unos días dedicado a otras tareas y solo a ratos haciendo alguna prueba más con pfsense, he decidido desestimar de momento squidguard y aunque tenga que renunciar al filtrado ssl ir con dansguardian que me parece más fiable en el funcionamiento además de filtrar el contenido no solo urls y del que espero que en no mucho tiempo incorpore esa posibilidad. De hecho si aparece en las opciones de configuración ajustes para ello pero siempre recibo errores de conexión ssl en las distintas pruebas que he hecho, si alguien puede darme alguna orientación sobre ello le sería muy agradecido.

                      Ahora mismo estoy en hacer funcionar clamav, manteniendo squid3-dev que dispone de clamav también, por lo que tengo un conflicto al tener dos instalaciones con clamav. ¿Alguien sabría decirme si es preferible sustituir squid3-dev por squid3 (teniendo que cuenta que quiero en un futuro próximo disponer de filtrado https), o trastear los ficheros de configuración para que se use el que incorpora dansguardian? y en este caso ¿como hacer las modificaciones de manera que no se pierdan en las actualizaciones?.

                      Saludos  :D

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

                        Arriba, en Últimas aportaciones a Documentación tienes bastantes cosas de la situación actual.

                        Quienes parecen estar en el tema son los usuarios (y desarrolladores)

                        @ Eduardo Gonçalves

                        y

                        @ marcelloc

                        http://forum.pfsense.org/index.php?topic=72872.0

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

                          Hola Bellera,

                          Había leído ese hilo, lo que pasa es que no me quedo muy claro si funciona en la versión amd64 que yo uso. ¿Crees que sería conveniente pasarme a la i386 para evitar problemas? Busco la máxima fiabilidad y sencillez posible.

                          Además me ocurre algo raro, freshclam -V mi informa de la versión de dansguardian (0.97) pero clamd -V me dice la de squid-dev (0.98). Quizás sea por un gazapo que haya metido yo pues estuve trasteando haciendo cambios pero aunque desinstale e instale parece que sigue igual.

                          Por otro lado ¿me puedes decir si en squid la interceptación https se puede usar sin el modo transparente? porque por las pruebas que estoy haciendo parece que no.

                          Saludos.

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

                            @gromero:

                            ¿Crees que sería conveniente pasarme a la i386 para evitar problemas?

                            Por lo que he leído, parece ser que clamav no es estable con 64 bit. Pero no he hecho pruebas.

                            @gromero:

                            Quizás sea por un gazapo que haya metido yo pues estuve trasteando haciendo cambios pero aunque desinstale e instale parece que sigue igual.

                            Entre una cosa y otra es probable que tengas restos de instalaciones. Ante la duda, empezar de cero y hacer pasos limpios.

                            Hago estas cosas con un VirtualBox, que permite ir guardando imágenes de todo el disco, no sólo de config.xml

                            La pega es que mi VirtualBox es de 32 bit.

                            @gromero:

                            ¿me puedes decir si en squid la interceptación https se puede usar sin el modo transparente? porque por las pruebas que estoy haciendo parece que no.

                            No. Cuando activas el modo SSL se ponen en marcha los procesos para SSL Bump y los rdr (NAT de PF). No está separado.

                            Tocando el código seguro que se puede deshabilitar la generación de las reglas rdr.

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

                              Bueno he empezado casi de 0 migrando la configuración que tenia de pfsense sin los paquetes adicionales a la versión i386 en la otra partición que tengo creada. He instalado los siguientes paquetes y he seguido los correspondientes tutoriales que hay por ahí:

                              -Snort
                              -Snort widget
                              -pfblocker
                              -squid3-dev
                              -cron
                              -OPENVPN client export

                              los servicios estan todos funcionando (en  verde)

                              Snort y pfblocker funcionan
                              squid3-dev sin antivirus funciona
                              squid3-dev con antivirus –--> Error de protocolo ICAP

                              Esto mismo me pasaba en la versión amd64 y no paso de aquí. he modificado en opciones del antivirus la linea del redirect al clwarn.cgi por en nombre y dominio del firewall y también he probado con la ip pero nada. ¿Puede tener que ver el que el webconfigurator escucha por https en el puerto 2345?

                              Saludos.

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

                                Con tanto movimiento sobre squid3-devel en el foro veo que en este hilo no está:

                                Antivirus Clamav en squid3-devel (i386)
                                http://egoncalves.com.br/pfsense/pfsense-squid3-dev-clamav-i386/
                                Para 64 bit (amd64), parece que no funciona, https://forum.pfsense.org/index.php?topic=72872.msg400869#msg400869

                                No sé si seguiste este tutorial…

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

                                  Si lo he seguido y creo que correctamente, los servicios clamd y icap están en marcha pero sale ese error, squid3-dev y squidguard funcionan pero con la opción antivirus desactivada. La diferencia en mi instalación es que al correr en ssd he configurado para que /tmp /var se monten en ramdisk. Para evitar que se pierdan las bases de datos en los reinicios configuré clamd y freshclam para que ubiquen las db en /usr/local/db/clamav. Lo que observo es que tengo que crear un script de inicio para crear el usuario clamav porque después de reiniciar no se porque se pierde.

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

                                    No veo por qué esos cambios que dices deberían ser un problema.

                                    Pero ante la duda quizás deberías hacer las pruebas con /tmp y /var en el SSD.

                                    A ver si sucede lo mismo.

                                    En cuanto al usuario clamav, no deja de ser curioso. Igual se debe a que el usuario debería estar definido como administrador en el configurador de pfSense. En FreeBSD los usuarios que pueden llegar a root tienen que estar en el grupo wheel. Por eso digo de configurarlo como administrador.

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

                                      Hola,

                                      Vamos avanzando, finalmente parece que están todos los servicios en funcionamiento y siguen funcionando entre reinicios (habia problemas con esto) el proxy funciona y filtra la web, pero el antivirus que antes no permitía la navegación (error de protocolo icap) ahora parece que no detecta nada pues me permite descargar el virus eicar sin advertirlo (http://www.eicar.org/85-0-Download.html). Habilite las opciones clamd_ip y clamd_port en squidclamav.conf y servername en c-icap.conf y creo que gracias a esto dejo de dar el error de protocolo pero como digo no detecta el eicar.

                                      Hay otras cosas que no termino de tener claras, tengo activado el proxy en modo transparente, y el webConfigurator esta configurado en el puerto 2345, por lo que entiendo que si las paginas de error o bloqueo se sirven con el mismo servidor web, no debería ser problema usar la página interna para anunciar los bloqueos sin embargo ocurre algo raro, si configuro el webconfigurator para que se sirva por http si funcionan la página interna de bloqueo del proxy, pero si configuro el webconfigurator para que vaya por https, no se muestra nada y el cliente no encuentra la página.

                                      Algo parecido pasa con el portal cautivo, si lo configuro para que use http, funciona y veo que direcciona al puerto 8000 para mostrar la página de identificación, si lo configuro para que use https, direcciona al puerto 8001 pero la página no es accesible y nunca carga.

                                      ¿Ideas?

                                      Saludos a todos.

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

                                        Proxy Server: ACLs

                                        acl sslports	
                                        This is a space-separated list of ports to allow SSL "CONNECT" in addition to the already defined list: 443 563
                                        

                                        Tienes que añadir el puerto 2345 ahí, si no lo hiciste.

                                        A ver qué tal.

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

                                          Gracias Bellera por tu paciencia,

                                          Efectivamente, no había añadido estos puertos, y por si acaso añadí para ver si se soluciona lo del portal cautivo también quedando la cosa así:

                                          acl safe ports : 2345 8000 8001
                                          acl ssl ports: 2345 8001

                                          Activé el web configurator y el portal cautivo para usar https, pero el resultado sigue siendo en el caso del bloqueo de squidguard sale el error del proxy diciendo que http://192.168.4.200:2345/sgerror.php? respuesta vacía(tamaño cero) y en el caso del portal cautivo sencillamente se queda esperando hasta que pasa el tiempo de espera y no carga nada.

                                          Un saludo

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

                                            Discutimos esto ya. ¿Probaste lo comentado?

                                            @bellera:

                                            Por tanto, si en Custom Options del configurador de squid añades:

                                            http_port 127.0.0.1:3128 intercept
                                            

                                            squid pasa (si respeta eso) a modo transparente.

                                            y el redireccionamiento

                                            rdr on em0 inet proto tcp from any to ! (em0) port = http -> 127.0.0.1 port 3128
                                            

                                            debería ser, a mi entender:

                                            rdr on em0 inet proto tcp from !127.0.0.1 to ! (em0) port = http -> 127.0.0.1 port 3128
                                            

                                            si la sintaxis de rdr lo admite.

                                            Los rdr en el configurador de pfSense son los NAT Port Forward.

                                            em0 es mi LAN address (mi placa de red LAN).

                                            A ver si hay suerte…

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