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

    Auditorias de acceso seguridad Pfsense

    Scheduled Pinned Locked Moved Español
    29 Posts 3 Posters 7.4k 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.
    • J
      javcasta
      last edited by

      Hola.

      Una posible solución es desde consola (shell) crear un cron cada x horas ( crontab -e ) que ejecute un envio de mail (se usará el email configurado en System: Advanced: Notifications ) filtrando en /var/log/filter.log lo que desees.

      Por ejemplo para obtener los bloqueos al puerto 443 (https) a la ip lan de pfsense, por ejemplo: 192.168.1.254, y que lo envie por mail.

      clog /var/log/filter.log | grep 192.168.1.254 | grep ,443 | grep block | mail.php -s"accesos a pfSense bloqueados"
      

      Salu2

      Javier Castañón
      Técnico de comunicaciones, soporte y sistemas.

      Mi web: https://javcasta.com/

      Soporte scripting/pfSense https://javcasta.com/soporte/

      1 Reply Last reply Reply Quote 0
      • J
        javcasta
        last edited by

        Hola.

        Sobre la idea que comentaba anteriormente, casi lo mejor es instalar el paquete Cron

        Definir una tarea, por ejemplo cada hora (en el minuto 30)

        Y poner el comando o la ruta de un script que haga lo que se quiera: En este caso mandar por email los bloqueos a un puerto de una ip

        Lógicamente hay que tener definido un email en System: Advanced: Notifications

        Salu2

        ==== añadido ===

        Lo ideal seria un script que comprobara si en la última hora ha habido el bloqueo al acceso gui y si lo hubiere enviar el mail (para no aburrirse recibiendo correos cada hora :) )

        Javier Castañón
        Técnico de comunicaciones, soporte y sistemas.

        Mi web: https://javcasta.com/

        Soporte scripting/pfSense https://javcasta.com/soporte/

        1 Reply Last reply Reply Quote 0
        • J
          javcasta
          last edited by

          Hola.

          Me he animado y he implementado un script, llamado audita.sh

          #!/bin/bash
          ################################################
          # alerta de intento de acceso a GUI de pfSense #
          # by @javcasta - Javier Castañón - 2016        #
          # --------- https://javcasta.com --------------#
          #       dar permiso al script:                 #
          #       chmod +777 /scripts/audita.sh           #
          ################################################
          IP="192.168.1.254"
          PORT="80"
          #Feb 28 00:09:00
          MES=`date +%b`
          DIA=`date +%d`
          HORA=`date +%H`
          SALIDA=`clog /var/log/filter.log | grep "$IP" | grep ",$PORT," | grep "block" | grep "$MES $DIA $HORA"`
          #SALIDA=`clog /var/log/filter.log | grep "$IP" | grep ",$PORT,"`
          echo "Auditando accesos a $IP via puerto $PORT en $MES $DIA $HORA"
          echo $SALIDA > /tmp/milog.txt
          if [ ! -z "$SALIDA" ]; then
          	"$SALIDA" | mail.php -s"accesos a pfSense bloqueados"
            echo .
            echo "Enviando mail"
          fi
          

          Para personalizarlo, solo deberia cambiarse el valor de la variable IP y PORT
          Se pone en una carpeta /scripts (por ejemplo)
          y se le da permisos:

          # chmod 777 /scripts/audita.sh
          

          Y se ejecuta

          # sh /scripts/audita.sh
          

          Solo quedaria definir un cron que cada hora ejecutara (sh /scripts/audita.sh )

          Salu2

          Javier Castañón
          Técnico de comunicaciones, soporte y sistemas.

          Mi web: https://javcasta.com/

          Soporte scripting/pfSense https://javcasta.com/soporte/

          1 Reply Last reply Reply Quote 0
          • T
            tsis
            last edited by

            Gracias Señores, veo que la idea era buena y la habeis llevado a cabo a la perfeccion. me pongo con ello

            gracias de nuevo y buen finde!!!!

            1 Reply Last reply Reply Quote 0
            • J
              javcasta
              last edited by

              Hola.

              Comenta como te ha ido cuando lo hagas.
              (y soy Sr, mis múltiples personalidades no las uso en el foro :)  )

              Salu2

              Javier Castañón
              Técnico de comunicaciones, soporte y sistemas.

              Mi web: https://javcasta.com/

              Soporte scripting/pfSense https://javcasta.com/soporte/

              1 Reply Last reply Reply Quote 0
              • T
                tsis
                last edited by

                Hola

                algo raro pasa, me dice que el sistema es solo lectura, estoy por ssh como root en la carpeta scritps, he intentado crear otro directorio al mismo nivel y me dice lo mismo, inclusive en el tmp

                https://forum.pfsense.org/index.php?topic=94900.0

                conoces  Logwatch? tu crees que se podria instalar en los Pfsense?

                1 Reply Last reply Reply Quote 0
                • J
                  javcasta
                  last edited by

                  Hola.

                  Si estas como root deberias tener permisos totales de lectura/modificación/escritura …

                  El enlace que pones se refiere a un problema similar pero para un sistema de 32Bits (i386) y para pfSense nanoBSD

                  Ya sea físico o en virtualización uso pfSense 2.2.6 RELEASE amd64 (sistemas de 64Bits).

                  Otra circunstancia añadida al nanoBSD es que están diseñados para tener muy poca escritura en disco (sistemas muy reducidos en HW donde el HD suele ser una memoria flash de poca capacidad), por lo que si instalas paquetes como p.e  squid suelen tener problemas, en realidad todo aquello que genere logs locales (ergo escrituras en disco local) no seria recomendable.

                  Respecto a lo de logwatch, hay un paquete en pfSense llamado syslogNG que he leido muy buenos comentarios.
                  Otra opción es enviar los logs remotamente a un servidor de syslog como Kiwi Syslog Server (hay ver free y cliente windows para este), lo he probado y me ha gustado. Puede que la combinación de syslogNG y Kiwi sea una buena opción.

                  Salu2

                  Javier Castañón
                  Técnico de comunicaciones, soporte y sistemas.

                  Mi web: https://javcasta.com/

                  Soporte scripting/pfSense https://javcasta.com/soporte/

                  1 Reply Last reply Reply Quote 0
                  • T
                    tsis
                    last edited by

                    ya vi el porque, si mi PF es nano en una tarjeta de 4 Gb, la verdad va de lujo ahora esta lentorro de administracion

                    vi esta opcion que me posibilito hacer tu guia pero no hay correos ni manda nada. me manda los informenes correctamente a diario con lo cual descarto un tema de smtp

                    no se yo si ponerlo siempre en que pueda escribir en el disco always.

                    cree el cron y puse el script pero como te comentaba no hace nada de nada, le puse 30 min.

                    Selección_495.png
                    Selección_495.png_thumb

                    1 Reply Last reply Reply Quote 0
                    • J
                      javcasta
                      last edited by

                      Hola.

                      Haz un test email (System: Advanced: Notifications - test email) y mira en el log (Status: System logs: General) que error te da.

                      Si usas IPs públicas dinámicas (e incluso estáticas) por ejemplo de telefónica, algunos servidores de correo, rechazan aceptar correos por detectar un ratio inusual, …. vamos que te meten en una lista negra :)

                      "php-fpm[44442]: /system_advanced_notifications.php: Could not send the message to javier@undominio.com – Error: 421-4.7.0 [80.59.69.XXX 15] Our system has detected an unusual rate of"

                      Salu2

                      Javier Castañón
                      Técnico de comunicaciones, soporte y sistemas.

                      Mi web: https://javcasta.com/

                      Soporte scripting/pfSense https://javcasta.com/soporte/

                      1 Reply Last reply Reply Quote 0
                      • T
                        tsis
                        last edited by

                        es lo que te dije en mi anterior post, me llegan todas las mañanas los informes por correo que yo genero con el soft de informes de pfsense, que usa las mismas opciones de mandar correo

                        son informes de trafico de wan lan etc y carga de cpu, luego descarto todo eso, el enviador de correos va de lujo y lo tengo programado para que me mande los informes a las 7 AM diario

                        1 Reply Last reply Reply Quote 0
                        • J
                          javcasta
                          last edited by

                          Hola

                          Ah, ok!.

                          Quita del script la linea:

                          
                          echo $SALIDA > /tmp/milog.txt
                          

                          la puse para depurar , crea un fichero en el dir tmp, puede que eso provoque un error

                          salu2

                          Javier Castañón
                          Técnico de comunicaciones, soporte y sistemas.

                          Mi web: https://javcasta.com/

                          Soporte scripting/pfSense https://javcasta.com/soporte/

                          1 Reply Last reply Reply Quote 0
                          • T
                            tsis
                            last edited by

                            comente la linea

                            de camino mire si habia ficheros con ese nombre en esa ruta y no habia.

                            esperaremos 30 min :)

                            1 Reply Last reply Reply Quote 0
                            • J
                              javcasta
                              last edited by

                              Hola.

                              El scripting esta muy bien para ciertas cosas, pero si ya usas el paquete Email Reports…

                              Añade un Report Commands, tal que ejecute (ver img)

                              clog /var/log/filter.log | grep ,443, | grep in | grep 192.168.1.254 | grep block
                              

                              Obtiene el tráfico bloqueado entrante al puerto 443 a la ip 192.168.1.254, si el acceso a tu gui no es https,y es http pon grep ,80, en lugar de grep ,443, . Y en IP la IP que quieras monitorizar (la de tu interfaz, wan, lan, etc)

                              Salu2

                              nota: ojo que si en tus reglas del firewall no especificas que conjunto de IPs permitidas que solo puedan acceder a la GUI de tu pfSense no obtendras los intentos de acceso fallidos mediante este método, y despues de esa regla debe haber una regla a continuación que niegue el acceso a todas las demás IPs y deberia ser block, no reject, sino tampoco filtrarias correctamente eso del log (aunque creo que con la default any block, que es transparente, es decir no se ve en las reglas, bastaria).

                              Otra cosa seria averiguar los intentos fallidos (error de usuario:clave) a la GUI del pfSense desde IPs legitimadas por las reglas del cortafuegos … Lo miro en otro momento :)

                              reports.png
                              reports.png_thumb

                              Javier Castañón
                              Técnico de comunicaciones, soporte y sistemas.

                              Mi web: https://javcasta.com/

                              Soporte scripting/pfSense https://javcasta.com/soporte/

                              1 Reply Last reply Reply Quote 0
                              • T
                                tsis
                                last edited by

                                ok

                                lo del script lo voy quitando y dejo esto habilitado, todo lo que se te ocurra lo voy probando y asi me entero de algo :)

                                un saludo y gracias

                                1 Reply Last reply Reply Quote 0
                                • J
                                  javcasta
                                  last edited by

                                  Hola.

                                  Era tan simple como filtrar en system.log :)

                                  clog /var/log/system.log | grep "authentication error"
                                  Mar  6 01:10:46 vra1 php-fpm[19196]: /index.php: webConfigurator authentication error for 'admin' from 192.168.88.135

                                  Resumiendo:

                                  Añade un Report Commands en Email Reports, tal que ejecute

                                  clog /var/log/system.log | grep "authentication error"
                                  

                                  Salu2

                                  === añadido ===

                                  Y para monitorizar los accesos exitosos

                                  clog /var/log/system.log | grep "Successful login"
                                  

                                  Javier Castañón
                                  Técnico de comunicaciones, soporte y sistemas.

                                  Mi web: https://javcasta.com/

                                  Soporte scripting/pfSense https://javcasta.com/soporte/

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    tsis
                                    last edited by

                                    me funciona , me llegan los intentos acertados desde mi ip

                                    lo que me tiene mosca es que habilito la opcion de escritura del nano ( captura) y todo va bien rapido, pero si la dejo por defecto el PF se ralentiza bastante a la hora de generar eglas sobre todo al aplicar cambios,

                                    sera la opcion de escritura para configurar los PF al principio y luego cambiar a solo lectura? para no cargar mucho la vida de este tipo de memorias

                                    un saludo

                                    Selección_495.png
                                    Selección_495.png_thumb

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      javcasta
                                      last edited by

                                      Hola.

                                      Claro, si se evita hacer escritura en discos tipo flash para alargar su ciclo de vida, tendrá que recurrir a la ram, puede que ampliando la ram mejore el rendimiento, pero no tengo experiencia con nanoBSD, no podría asegurarlo.

                                      Salu2

                                      Javier Castañón
                                      Técnico de comunicaciones, soporte y sistemas.

                                      Mi web: https://javcasta.com/

                                      Soporte scripting/pfSense https://javcasta.com/soporte/

                                      1 Reply Last reply Reply Quote 0
                                      • pttP
                                        ptt Rebel Alliance
                                        last edited by

                                        Esa "lentitud" es algo inherente a ciertas CF….

                                        Busquen posts de cmb, al respecto  ;)

                                        https://forum.pfsense.org/index.php?topic=104906.msg584944#msg584944

                                        The slow rw->ro mount times are the same as in recent versions after removal of forcesync patch. For drives that are slow there, keep it permanently rw mounted. Noted here, search forcesync.

                                        https://doc.pfsense.org/index.php?title=2.2.4_New_Features_and_Changes

                                        The forcesync patch for #2401 is still considered harmful to the filesystem and has been kept out. As such, there may be some noticeable slowness with NanoBSD on certain slower disks, especially CF cards and to a lesser extent, SD cards. If this is a problem, the filesystem may be kept read-write on a permanent basis using the option on Diagnostics > NanoBSD. With the other above changes, risk is minimal. We advise replacing the affected CF/SD media by a new, faster card as soon as possible. #4814

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tsis
                                          last edited by

                                          o sea que no pasa nada si la dejo activada segun el ultimo comentario, hasta que saquen algo, parche o algun fix

                                          pues lo dejare en RW si asi va mucho mejor, total esas memorias CF son muy baratas ahora, lo malo es que desaparezcan, en amazon las vi a 6 euros parecidas.

                                          gracias

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            javcasta
                                            last edited by

                                            Hola.

                                            Gracias ptt por la info.

                                            Tengo que probar pfsense nanoBSD más a fondo, imagino que para máquinas "old" (o HW muy limitado) con poca ram y cpu "old" y que haga estrictamente de cortafuegos, sin proxy y otros servicios similares, es lo ideal

                                            salu2

                                            Javier Castañón
                                            Técnico de comunicaciones, soporte y sistemas.

                                            Mi web: https://javcasta.com/

                                            Soporte scripting/pfSense https://javcasta.com/soporte/

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