Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Instalando y configurando Nessus

DriveMeca instalando y configurando Nessus en Linux Ubuntu
Que posición tomas a la hora de proteger tus equipos? Esperas a enfrentar el ataque o te preparas antes defendiéndote lo mas posible? Muchas son las teorías de una u otra posición. Yo particularmente prefiero adelantarme al ataque y preparar la defensa lo mas posible, es decir, leo noticias de bugs, vulnerabilidades, ataques, etc. Ahora, dependiendo de la cantidad de equipos sera la complejidad de la tarea y es aquí donde entra nuestro tema del articulo de hoy. Nessus es una herramienta que nos permitirá chequear que tan seguro es un equipo o servidor.
En nuestro articulo de hoy te mostrare como instalar y configurar Nessus en un Linux Ubuntu 16.04.
Para esto todos los comandos serán ejecutados como root y nuestro Ubuntu debe estar actualizado con las ultimas actualizaciones publicadas.

Requerimientos para Nessus en Linux Ubuntu



-Algo importante a tener en cuenta es que Nessus para usarlo en casa, sin propósitos comerciales es gratis, si lo usamos para una LAN o equipos comerciales, debemos comprar una licencia.

-Descargamos la ultima versión de Nessus desde este URL eligiendo la versión que se adecue a nuestro hardware (32 o 64bits). En el momento de escribir este articulo la ultima era la 6.8.0. Nuestro Ubuntu debe estar conectado a Internet para que descargue actualizaciones de pluggins y registre la licencia generada.
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Aceptamos la licencia
DriveMeca instalando y configurando Nessus en Linux Ubuntu


Instalación de Nessus en Linux Ubuntu

-Abrimos una consola de texto e instalamos Nessus
sudo dpkg -i Descargas/Nessus-6.8.0-ubuntu1110_amd64.deb
..
Preparando para desempaquetar .../Nessus-6.8.0-ubuntu1110_amd64.deb ...
Desempaquetando nessus (6.8.0) ...
Configurando nessus (6.8.0) ...
Unpacking Nessus Core Components...
nessusd (Nessus) 6.8.0 [build M20061] for Linux
Copyright (C) 1998 - 2016 Tenable Network Security, Inc

Processing the Nessus plugins...
[##################################################]

All plugins loaded (1sec)

 - You can start Nessus by typing /etc/init.d/nessusd start
 - Then go to https://cabrera-VAIO:8834/ to configure your scanner

Procesando disparadores para systemd (229-4ubuntu7) ...
Procesando disparadores para ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot

-Ejecutamos como root el servicio de Nessus ya instalado
sudo /etc/init.d/nessusd start


Configuración de Nessus en Linux Ubuntu

-Abrimos un browser y navegamos a la ip del equipo Linux Ubuntu con el puerto 8834, en mi ejemplo es https://localhost:8834/ Damos click al botón Continue
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Creamos una cuenta de usuario para Nessus y damos click al botón Continue
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Escogemos el tipo de registro (en mi caso es para uso en el hogar Home) y damos click al link Registering this scanner
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Se nos abrirá otra pagina donde veremos las opciones de licenciamiento. Como te comentaba al comienzo de este articulo, la opción gratis es Nessus Home y es restringida a usarse solo en casa sin fines comerciales. Damos click a su botón Register Now
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Llenaremos un formato con nuestros datos teniendo cuidado de escribir un email que funcione y damos click al botón Register
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Verificamos nuestro email ya que se nos enviara el numero de licencia. Lo copiamos y pegamos en la caja de texto Activation Code y damos click al botón Continue
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-En caso de que no se pueda enviar el código, puedes verificar dando click a Advanced Settings y configurar tu acceso por proxy a Internet (si es que sales por medio de un proxy)
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Comienza la descarga de pluggins de los servidores de Nessus, tiempo para ir por un café ;-)
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Al terminar se nos pedirá usuario y contraseña para entrar a la consola web. Ingresamos los datos de la cuenta creada en pasos anteriores y damos click al botón Sign In
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-La consola web es minimalista. Para iniciar basta con darle click al botón New Scan
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Veremos varias plantillas, unas disponibles para nuestro plan Gratis y otras que para usarse tendríamos que licenciar (Upgrade). Para nuestro uso, es suficiente con el plan Home. Damos click a la plantilla Advanced Scan
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Se nos pedirán unos datos básicos como son un Name (nombre descriptivo), Description (descripción), Targets (IPs de equipos a scanear, máximo 16)
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-En la parte superior veremos a manera de menú varios links siendo interesante el de plugins donde podemos habilitar o des habilitarlos (por default todos vienen activos). Damos click al botón Save
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Ya fuera le damos click al botón Launch superior derecho para ejecutar el scan
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-El scan se ejecuta se nos muestra un resumen de las vulnerabilidades encontradas marcadas por colores. Damos click al link Vulnerabilities
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Veremos un listado de las vulnerabilidades encontradas organizadas de mayor impacto a menor impacto. Damos click a una vulnerabilidad
DriveMeca instalando y configurando Nessus en Linux Ubuntu

-Veremos una descripción amplia con posibilidad de descargar archivos con mas información de como corregirla
DriveMeca instalando y configurando Nessus en Linux Ubuntu

Puede que no sea perfecta esta solución, pero si creo que ayuda mucho para conocer nuestras debilidades, corregirlas y no esperar a que nos ataquen para buscar soluciones.

Artículos recomendados: Actualizando Linux Ubuntu MATE a Xenial Xerus 16.04 LTS paso a paso
                                           Como instalar Virtualbox en Linux Ubuntu 16.04
                                           Como instalar y configurar Gogs en Linux Ubuntu server
                                           Como instalar MySQL Workbench en Linux Ubuntu paso a paso

Ya conocías la herramienta Nessus?, Conoces otra parecida, cual? Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar PNP4Nagios

DriveMeca instalando PNP4Nagios en Nagios 4 en un servidor Linux Centos 7
Tienes Nagios para monitorear dispositivos y te gustaría poder graficar el desempeño de ellos? Bien, te presento PNP4Nagios, un plugin o complemento que analiza datos de desempeño y los almacena por medio de rrd (Round Robin Databases). Hoy te mostrare en este tutorial en español como instalar PNP4Nagios paso a paso, con screenshoots y de forma sencilla.

Requerimientos de PNP4Nagios en Linux Centos 7

-Instalamos dependencias

yum install rrdtool rrdtool-perl php-gd 

-Modificamos httpd.conf activando mod_rewrite

vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

-Descargamos y descomprimimos PNP4Nagios

wget -c http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gz

-Descomprimimos el archivo y entramos a su directorio

tar xzvf pnp4nagios-0.6.25.tar.gz
cd pnp4nagios-0.6.25


Compilamos PNP4Nagios en Linux Centos 7

-Nos preparamos para compilar código

./configure
..
..
..
*** Configuration summary for pnp4nagios-0.6.25 03-01-2015 ***

  General Options:
  -------------------------         -------------------
  Nagios user/group:                nagios nagios
  Install directory:                /usr/local/pnp4nagios
  HTML Dir:                         /usr/local/pnp4nagios/share
  Config Dir:                       /usr/local/pnp4nagios/etc
  Location of rrdtool binary:       /bin/rrdtool Version 1.4.8
  RRDs Perl Modules:                FOUND (Version 1.4008)
  RRD Files stored in:              /usr/local/pnp4nagios/var/perfdata
  process_perfdata.pl Logfile:      /usr/local/pnp4nagios/var/perfdata.log
  Perfdata files (NPCD) stored in:  /usr/local/pnp4nagios/var/spool

  Web Interface Options:
  -------------------------         -------------------
  HTML URL:                         http://localhost/pnp4nagios
  Apache Config File:               /etc/httpd/conf.d/pnp4nagios.conf


  Review the options above for accuracy.  If they look okay,
  type 'make all' to compile.

-Compilamos

make all

-Instalamos

make fullinstall
..
..
..
*** Configuration summary for pnp4nagios-0.6.25 03-01-2015 ***

  General Options:
  -------------------------         -------------------
  Nagios user/group:                nagios nagios
  Install directory:                /usr/local/pnp4nagios
  HTML Dir:                         /usr/local/pnp4nagios/share
  Config Dir:                       /usr/local/pnp4nagios/etc
  Location of rrdtool binary:       /bin/rrdtool Version 1.4.8
  RRDs Perl Modules:                FOUND (Version 1.4008)
  RRD Files stored in:              /usr/local/pnp4nagios/var/perfdata
  process_perfdata.pl Logfile:      /usr/local/pnp4nagios/var/perfdata.log
  Perfdata files (NPCD) stored in:  /usr/local/pnp4nagios/var/spool

  Web Interface Options:
  -------------------------         -------------------
  HTML URL:                         http://localhost/pnp4nagios
  Apache Config File:               /etc/httpd/conf.d/pnp4nagios.conf



*** Main program, Scripts and HTML files installed ***

Enjoy.

-Activamos servicios httpd y npcd

systemctl enable npcd
systemctl restart httpd
systemctl start npcd

-Abrimos un browser y navegamos a http://192.168.1.10/pnp4nagios/ El sistema hará un chequeo y todo debe quedarnos en verde, en caso contrario debemos corregir para poder continuar
DriveMeca instalando PNP4Nagios en Nagios 4 en un servidor Linux Centos 7


-Ya instalado, renombramos el php de instalación y prevenimos que se use nuevamente por seguridad

mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/1234install.php
touch /usr/local/pnp4nagios/share/install.ignore
chown nagios.nagios /usr/local/pnp4nagios/share/install.ignore

-Recargamos la pagina en nuestro navegador

-Copiamos código del fichero pnp4nagios-0.6.25/sample-config/nagios.cfg-sample a nagios.cfg

vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1

service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata

service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$

service_perfdata_file_mode=a

service_perfdata_file_processing_interval=15

service_perfdata_file_processing_command=process-service-perfdata-file

host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata

host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$

host_perfdata_file_mode=a

host_perfdata_file_processing_interval=15

host_perfdata_file_processing_command=process-host-perfdata-file

-Copiamos código del fichero pnp4nagios-0.6.25/sample-config/misccommands.cfg-sample a commands.cfg

vi /usr/local/nagios/etc/objects/commands.cfg
#
# Bulk with NPCD mode
#
define command {
       command_name    process-service-perfdata-file
       command_line    /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}

define command {
       command_name    process-host-perfdata-file
       command_line    /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}

-Definimos plantillas para hosts y servicios

vi /usr/local/nagios/etc/objects/templates.cfg
define host {
 name host-pnp
 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
 register 0
}

define service {
 name srv-pnp
 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
 register 0
}

-Usamos las plantillas con algún dispositivo o host recordando que para que funcione debemos tener definido process_performance_data=1, en este caso la plantilla de generic-host debe tenerlo activo, al igual seria con algún servicio.

vi /usr/local/nagios/etc/objects/templates.cfg
define host{
        name                            linux-server    
        use                             generic-host,host-pnp   
        check_period                    24x7            
        check_interval                  5               
        retry_interval                  1               
        max_check_attempts              10              
        check_command                   check-host-alive 
        notification_period             workhours                                                               
        notification_interval           120            
        notification_options            d,u,r           
        contact_groups                  admins          
        register                        0               
        }

-Copiamos
cp contrib/ssi/status-header.ssi /usr/local/nagios/share/ssi/
chown nagios.nagios /usr/local/nagios/share/ssi/status-header.ssi

-Algunos cambios necesarios
mkdir /var/lib/php/session
chown root.apache /var/lib/php/session
chmod 770 /var/lib/php/session/

-Reiniamos servicios
systemctl restart npcd
systemctl restart nagios

Verificamos configuracion de PNP4Nagios en Linux Centos 7

-Verificamos la configuracion de PNP4Nagios
cd /usr/local/pnp4nagios/bin
wget -c http://verify.pnp4nagios.org/verify_pnp_config

perl verify_pnp_config --mode bulk+npcd --config=/usr/local/nagios/etc/nagios.cfg --pnpcfg=/usr/local/pnp4nagios/etc
[INFO]  ========== Starting Environment Checks ============
[INFO]  My version is: verify_pnp_config-0.6.25-R.40
[INFO]  Start Options: verify_pnp_config --mode bulk+npcd --config=/usr/local/nagios/etc/nagios.cfg --pnpcfg=/usr/local/pnp4nagios/etc
[INFO]  Reading /usr/local/nagios/etc/nagios.cfg
[OK  ]  Running product is 'nagios'
[OK  ]  object_cache_file is defined
[OK  ]  object_cache_file=/usr/local/nagios/var/objects.cache
[INFO]  Reading /usr/local/nagios/var/objects.cache
[OK  ]  resource_file is defined
[OK  ]  resource_file=/usr/local/nagios/etc/resource.cfg
[INFO]  Reading /usr/local/nagios/etc/resource.cfg
[INFO]  Reading /usr/local/pnp4nagios/etc/process_perfdata.cfg
[INFO]  Reading /usr/local/pnp4nagios/etc/pnp4nagios_release
[OK  ]  Found PNP4Nagios version "0.6.25"
[OK  ]  Effective User is 'nagios'
[OK  ]  User nagios exists with ID '1002'
[OK  ]  Effective group is 'nagios'
[OK  ]  Group nagios exists with ID '1002'
[INFO]  ========== Checking Bulk Mode + NPCD Config  ============
[OK  ]  process_performance_data is 1 compared with '/1/'
[OK  ]  service_perfdata_file is defined
[OK  ]  service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
[OK  ]  service_perfdata_file_template is defined
[OK  ]  service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
[OK  ]  PERFDATA template looks good
[OK  ]  service_perfdata_file_mode is defined
[OK  ]  service_perfdata_file_mode=a
[OK  ]  service_perfdata_file_processing_interval is defined
[OK  ]  service_perfdata_file_processing_interval=15
[OK  ]  service_perfdata_file_processing_command is defined
[OK  ]  service_perfdata_file_processing_command=process-service-perfdata-file
[OK  ]  host_perfdata_file is defined
[OK  ]  host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
[OK  ]  host_perfdata_file_template is defined
[OK  ]  host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
[OK  ]  PERFDATA template looks good
[OK  ]  host_perfdata_file_mode is defined
[OK  ]  host_perfdata_file_mode=a
[OK  ]  host_perfdata_file_processing_interval is defined
[OK  ]  host_perfdata_file_processing_interval=15
[OK  ]  host_perfdata_file_processing_command is defined
[OK  ]  host_perfdata_file_processing_command=process-host-perfdata-file
[INFO]  Nagios config looks good so far
[INFO]  ========== Checking config values ============
[OK  ]  npcd daemon is running
[OK  ]  /usr/local/pnp4nagios/etc/npcd.cfg is used by npcd and readable
[INFO]  Reading /usr/local/pnp4nagios/etc/npcd.cfg
[OK  ]  perfdata_spool_dir is defined
[OK  ]  perfdata_spool_dir=/usr/local/pnp4nagios/var/spool
[OK  ]  -1 files found in /usr/local/pnp4nagios/var/spool
service_perfdata_file_processing_command at verify_pnp_config line 462.
[OK  ]  Command process-service-perfdata-file is defined
[OK  ]  '/bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$'
[OK  ]  Command looks good
host_perfdata_file_processing_command at verify_pnp_config line 462.
[OK  ]  Command process-host-perfdata-file is defined
[OK  ]  '/bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$'
[OK  ]  Command looks good
[OK  ]  Script /usr/local/pnp4nagios/libexec/process_perfdata.pl is executable
[INFO]  ========== Starting global checks ============
[OK  ]  status_file is defined
[OK  ]  status_file=/usr/local/nagios/var/status.dat
[INFO]  host_query =
[INFO]  service_query =
[INFO]  Reading /usr/local/nagios/var/status.dat
[INFO]  ==== Starting rrdtool checks ====
[OK  ]  RRDTOOL is defined
[OK  ]  RRDTOOL=/bin/rrdtool
[OK  ]  /bin/rrdtool is executable
[OK  ]  RRDtool 1.4.8  Copyright 1997-2013 by Tobias Oetiker <tobi@oetiker.ch>
[OK  ]  USE_RRDs is defined
[OK  ]  USE_RRDs=1
[OK  ]  Perl RRDs modules are loadable
[INFO]  ==== Starting directory checks ====
[OK  ]  RRDPATH is defined
[OK  ]  RRDPATH=/usr/local/pnp4nagios/var/perfdata
[OK  ]  Perfdata directory '/usr/local/pnp4nagios/var/perfdata' exists
[WARN]  1 hosts/services are not providing performance data
[WARN]  'process_perf_data 1' is set for 2 hosts/services which are not providing performance data!
[OK  ]  'process_perf_data 1' is set for 20 of your hosts/services
[INFO]  ==== System sizing ====
[OK  ]  19 hosts/service objects defined
[INFO]  ==== Check statistics ====
[WARN]  Warning: 2, Critical: 0
[WARN]  Checks finished...


Comprobamos PNP4Nagios

-Navegando a nuestra consola web de Nagios veremos unos nuevos iconos o botones, son los de PNP4Nagios
DriveMeca instalando PNP4Nagios en Nagios 4 en un servidor Linux Centos 7

-Si dejamos el cursor del mouse encima de uno de estos botones, PNP4Nagios nos mostrara en un popup un breve resumen
DriveMeca instalando PNP4Nagios en Nagios 4 en un servidor Linux Centos 7

-Y si damos click en el botón nos abrirá una nueva pagina con la información detallada en gráficas RRD. Esta la podemos exportar en PDF, ver en rangos de fechas y varias opciones útiles mas
DriveMeca instalando PNP4Nagios en Nagios 4 en un servidor Linux Centos 7


Artículos recomendadosMonitorea pfSense por medio de NRPE y Nagios
                                           Como instalar NRPE en Nagios paso a paso
                                           La guia FINAL de OCS Inventory en Centos 7
                                          Potencia tu Linux Centos e instala los repositorios RPMForge / Epel / Remi


Ya puedes mostrar tus gráficas de rendimiento y saber en todo momento el comportamiento de tus dispositivos monitoreados. Viendo esto planeas probar PNP4Nagios? ya lo usas? que tal te ha parecido?Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Monitorea pfSense por medio de NRPE y Nagios

DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios
Tu firewall pfSense esta funcionando perfecto dejandote tiempo para hacer otras tareas y estas confiado, que malo puede pasar? Pasar, puede pasar que se dañe un disco o que estes bajo ataque y no te hayas dado cuenta, pueden pasar muchas cosas y preciso en el momento en que no estabas mirando logs o monitoreando tu confiable firewall. Por esto es que hoy te traigo este articulo en el que agregaremos una capa de monitoreo con NRPE a tu pfSense para incluirlo en Nagios. Todo como ya es costumbre en español, paso a paso y con screenshoots para que no te pierdas y puedas hacerlo fácilmente

Requerimientos para agregar pfSense a Nagios

  • pfSense firewall 2.x instalado y actualizado a la fecha
  • Nagios instalado y actualizado a la fecha
  • Plugins de Nagios instalados y actualizados
  • Conectividad a internet y entre ambos equipos

-Vamos al menú System - Package Manager - Available Packages, escribimos en la caja de texto nrpe. Presionamos Enter y nos aparecerá debajo, le damos click a su botón verde Install
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-Se nos pide confirmar la instalación. Damos click al botón verde Confirm
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-Se instala con éxito el paquete nrpe en nuestro pfSense
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-A continuación vamos al menú Services - NRPEv2 y le damos click
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-En la pagina que nos aparecerá activamos el servicio Enable NRPE, permitimos parámetros activando Allow Arguments. Por default ya vendrán varios comandos activos para ejecutarlos via el daemon NRPE
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-En la sección Commands las columnas tienen los significados, nombre (el que usaremos en los conf de nagios y solo permite caracteres de la a-z o A-Z en ese rango), ejecución con privilegios (sudo), listado de plugins instalados en el firewall pfSense (podemos escogerlos en su lista desplegable), parámetro warning (no es grave pero hay que prestar atención), parámetro critical (es grave), parámetros extras. Esta sección nos permite crear nuevos comandos o eliminar los ya creados por medio del botón Delete
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

Permitimos trafico NRPE entre pfSense y Nagios

-Este paso solo es necesario si tu equipo Nagios esta fuera de la LAN y hará la conexión via internet (Si ambos equipos están en la LAN, no es necesario y puedes saltar al siguiente paso a crear los comandos NRPE). Creamos un Alias en el menú Firewall - Aliases. Damos click al botón verde +Add
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-Escribimos un nombre (Nagios), Description (descripcion), Type (Host(s)) y por ultimo tenemos dos variantes, un hostname (en caso de que tengas tu equipo Nagios con un dominio y es visible en internet) o con la ip publica. Damos click al botón Save
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-Seguidamente vamos al menú Firewall - Rules y agregamos una regla dando click al botón verde Add (sugiero que sea para colocarla al final)
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

-En la sección Source elegimos Single host or alias y escribimos Nagios (el alias que nos creamos en el paso anterior). En Destination elegimos WAN address y Destination port range any y any en la ultima columna. La explicación de la regla es que aceptaremos conexiones del equipo Nagios en la interfaz de red Wan por cualquier puerto. Escribimos un comentario sobre esta regla en Description y damos click al botón Save
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios

Creamos un comando NRPE en pfSense para monitorear con Nagios

-Para crear un comando nuevo damos click al botón inferior verde +Add y nos aparecerá uno en blanco en la parte inferior del listado. Para este articulo agregare un chequeo de https, entonces escribimos check_https (primera columna izquierda), activamos Sudo, elegimos check_http (tercera columna), dejamos en blanco la cuarta y quinta columna. Escribimos en la sexta columna -H pfgw -S (-H con el hostname del equipo y -S para que verifique via https). Damos click al botón Save
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios


Agregamos pfSense Firewall a Nagios por medio de NRPE

-En nuestro servidor Nagios nos vamos al directorio de objects a crear definiciones
cd /usr/local/nagios/etc/objects

-Hacemos una copia del conf localhost creando uno nuevo para pfsense llamado firewall.cfg
cp localhost.cfg firewall.cfg

-Editamos templates.cfg y creamos una plantilla para pfSense (el dia de mañana puede que tengas otro que agregar a Nagios)
vi templates.cfg
# pfSense definition

define host{
 name                   pfsense           ;Nombre de la plantilla    
 use                    generic-host      ;Basado en plantilla generic-host
 check_period           24x7              ;Se chequea 24 horas por 7 dias        
 check_interval         5                 ;Chequeo cada 5 minutos            
 retry_interval         1                 ;Se reintenta en caso de fallo al minuto            
 max_check_attempts     10                ;Maximo se repite el chequeo 10 veces          
 check_command          check-host-alive  ;Comando a usar para verificar que el host este activo
 notification_period    24x7              ;Enviar notificaciones 24 horas por 7 dias    
 notification_interval  120               ;Intervalo de envio de notificaciones de 120 minutos          
 notification_options   d,u,r             ;Opciones d (down) u (up) y r (recovery)        
 contact_groups         admins            ;Enviar notificaciones al grupo admins      
 register               0                 ;No se registra al ser una plantilla            
}

-Modificamos nuestro horario de trabajo
vi timeperiods.cfg
# 'workhours' Definición de horario laboral normal de 8am a 5pm de lunes a viernes
define timeperiod{
        timeperiod_name workhours
        alias                      Normal Work Hours
        monday                08:00-17:00
        tuesday                08:00-17:00
        wednesday          08:00-17:00
        thursday              08:00-17:00
        friday                  08:00-17:00
        }

-Editamos el cfg de firewall y creamos la definición de nuestro pfSense firewall (OJO, reemplazar las xxx por la ip real del equipo al igual que el hostname y alias). A continuacion creamos un hostgroup donde iremos agrupando a los firewalls que vayamos colocando en Nagios y comenzamos a crear uno por uno los comandos a ejecutar por medio de NRPE en el equipo remoto, en este caso, nuestro firewall (recuerda que nombre al equipo pfgw en su alias)
vi firewall.cfg
define host{
        use                     pfsense            ; Nombre de plantilla a usar
                                                   ; Esta definición hereda variables de la plantilla
        host_name         pfgw.test.com
        alias                   pfgw
        address              xxx.xxx.xxx.xxx ;IP del equipo
        }

define hostgroup{
        hostgroup_name  firewalls ; Nombre del grupo
        alias           Firewall servers ; Nombre largo del grupo
        members         pfgw     ; Lista separada por comas de equipos pertenecientes al grupo
        }

#Usuarios / pfgw
define service{
        use                             local-service
        host_name                       pfgw
        service_description             Usuarios
        check_command                   check_nrpe!check_users
        }

#Carga / pfgw
define service{
        use                             local-service
        host_name                       pfgw
        service_description             Carga
        check_command                   check_nrpe!check_load
        }

#Particion /  pfgw
define service{
        use                             local-service
        host_name                       pfgw
        service_description             Particion /
        check_command                   check_nrpe!check_root
        }

#Particion /var  pfgw
define service{
        use                             local-service
        host_name                       pfgw
        service_description             Particion /var
        check_command                   check_nrpe!check_var
        }

#Procesos zombie  pfgw
define service{
        use                             local-service
        host_name                       pfgw
        service_description             Procesos zombie
        check_command                   check_nrpe!check_zombie_procs
        }

#Total de procesos  pfgw
define service{
        use                             local-service
        host_name                       pfgw
        service_description             Total de procesos
        check_command                   check_nrpe!check_total_procs
        }

#Https  pfgw
define service{
        use                             local-service
        host_name                       pfgw
        service_description             Https
        check_command                   check_nrpe!check_https
        }

-Editamos nagios.cfg y agregamos una linea para incluir a firewall.cfg
vi ../nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/firewall.cfg

-Ya casi terminamos pero debemos verificar que todo nuestro trabajo esta ok y no tenemos errores en los archivos de configuracion de nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 4.1.1
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-19-2015
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
Checked 9 services.
Checked 2 hosts.
Checked 1 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 25 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 2 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

-Reiniciamos el servicio de Nagios
systemctl restart nagios

-Abrimos un browser y navegamos a la pagina de nuestro Nagios Core. En ella ya debemos poder ver el equipo pfgw (pfSense) con todos los servicios que estamos chequeando via check_nrpe
DriveMeca monitoreando un firewall pfSense con NRPE en un Nagios


Artículos recomendados: Que tanto usas tu proxy, Estadisticas de squid en pfsense 2
                                            Como instalar y configurar pfSense Squid Transparent Proxy
                                            pfSense SquidGuard tutorial paso a paso
                                            Como actualizar pfSense paso a paso

Ahora si podemos decir que no estamos ciegos con respecto a que esta pasando en nuestro firewall pfSense. Gracias a NRPE podemos agregar mas chequeos dependiendo de nuestras necesidades. Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Que tanto usas tu proxy, Estadisticas de squid en pfsense 2

DriveMeca instalando y configurando Lightsquid en firewall pfSense
Bien, ya tienes tu Squid Proxy funcionando en pfSense y crees que no puedes sacarle mas provecho. Pues no, no sabes donde están navegando tus usuarios (no creo que tengas tiempo o paciencia para estudiar de forma manual el log de Squid), o que paginas son las mas populares, que usuario es el que mas consume el valioso ancho de banda, etc. Para estas y mas preguntas te sugiero que comiences a graficar el log de squid en tu pfSense y este sera el tema del articulo de hoy, como instalar y configurar Lightsquid en pfSense para sacar estadísticas de Squid. Este pfSense Tutorial como ya es costumbre en este blog es totalmente en español y paso a paso con screenshoots para que sea lo mas sencillo posible independientemente tu nivel de conocimiento del tema

Requerimientos para Lightsquid en pfSense




-Abrimos un browser y navegamos a nuestro firewall pfSense y vamos al menú System - Package Manager - Available Packages. Escribimos lightsquid en la caja de texto Search term para que nos aparezca el paquete. Instalamos el paquete dando click a su botón verde Install
DriveMeca instalando y configurando Lightsquid en firewall pfSense

-Ya instalado, Lightsquid nos aparecerá en la lista de paquetes instalados Installed Packages
DriveMeca instalando y configurando Lightsquid en firewall pfSense

-Siguiente paso, configurarlo yendo al menú Status - Squid Proxy Reports
DriveMeca instalando y configurando Lightsquid en firewall pfSense

-En la siguiente pagina veremos la configuracion de Lightsquid
DriveMeca instalando y configurando Lightsquid en firewall pfSense

Configuramos pfSense Lightsquid

-Configuramos los siguientes parámetros:
Web Service Settings
Lightsquid Web Port: 7445
Lightsquid Web SSL: Activo
Lightsquid Web User. admin
Lightsquid Web Password: contraseña-de-admin (por default es admin y es mejor cambiarla)

Report Template Settings
Language: Spanish

DriveMeca instalando y configurando Lightsquid en firewall pfSense

-Bajamos en la pagina de configuracion de pfSense Lightsquid y seleccionamos cada vez que se auto generaran los reportes (dependiendo que tanto necesitas esto sera el tiempo que elijas) en Refresh Scheduler y damos click al botón Save. Damos click a Refresh full (como es la primera vez, usamos esta opción, mas adelante si queremos info actualizada y no queremos esperar a que se auto generen, damos click a Refresh)
DriveMeca instalando y configurando Lightsquid en firewall pfSense

Generando reportes en pfSense Lightsquid

-Ya guardados los cambios y generado el primer reporte, subimos un poco en la pagina a la sección Web Service Settings y damos click al botón azul Open Lightsquid. Se nos pedirá usuario y contraseña (por default admin y contraseña admin aunque ya debemos haber cambiado esto en pasos anteriores)
DriveMeca instalando y configurando Lightsquid en firewall pfSense

-En la siguiente pagina veremos la pagina central de Lightsquid donde podemos ir directo a los reportes por fecha, mes, año
DriveMeca instalando y configurando Lightsquid en firewall pfSense

-Los reportes son bien desglosados para poder filtrar y encontrar lo que buscamos
DriveMeca instalando y configurando Lightsquid en firewall pfSense

-Algo muy útil es que podemos ver los accesos web de una ip en especifico pudiendo conocer que paginas consulta mas con información como cantidad de conexiones a esa pagina, URL exacto, tamaño de estas paginas, etc
DriveMeca instalando y configurando Lightsquid en firewall pfSense

Ahora ya puedes conocer un poco mas sobre las costumbres de navegación de tus usuarios y en base a eso tomar medidas para optimizar aun mas tu ancho de banda.

Artículos recomendadospfSense SquidGuard tutorial paso a paso
                                           Como actualizar pfSense 2.3 a su ultima versión en pocos minutos
                                           Como configurar OpenVPN en pfSense paso a paso
                                         
Ya conocías Lightsquid en el cortafuegos pfSense, le haz sacado provecho? Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark