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.

      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
                                          • T
                                            tsis
                                            last edited by

                                            la mia es esta: http://www.pcengines.ch/alix2d13.htm

                                            la tengo hace 3 años y ningún problema, la compre de segunda mano a un aleman en ebay. he llegado a tener uptime de más de 200 dias y esta  con radius, entidad certificadora, VPN de acceso remoto, squid y sarg reportes, eso si no le metas ntop o snort. y lo mejor consumo minimo, ( un raton usb de pilas  gasta más) :)

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