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

Como instalar Clamav y usarlo en Linux paso a paso

DriveMeca instalando ClamAV y usandolo en Linux paso a paso
Nunca tendremos la certeza de si un archivo tiene o no virus y mas hoy en el día en que Internet, la red de redes, juega un papel importante en las comunicaciones diarias de todos. Uso Linux me dirás, muy bien, te felicito, pero aun nuestro OS favorito puede sufrir un ataque por un virus, troyano, etc y es en ese momento que tenemos que estar preparados para poder salir del problema sin inconvenientes. Como?, sencillo, usando Clamav, un popular antivirus multiplataforma (ya dije que es opensource?) el cual hoy te mostrare paso a paso como instalarlo y configurarlo en varias distribuciones Linux populares del momento. Para este tutorial en español he escogido Centos / RedHat y Ubuntu desktop / Ubuntu Server (para mis, las mas usadas en el ámbito empresarial) pero esto no quiere decir que la configuracion en otras no sea algo parecida.


Requerimientos para instalar Clamav

  • Linux Ubuntu Desktop o Linux Ubuntu server
  • Linux Centos 7.x o Linux RedHat 7.x
  • Conectividad a internet


Todos los comandos se ejecutaran desde una consola y debemos tener acceso a la cuenta root o privilegios de root independientemente de la distro que usemos

Instalamos Clamav en Centos / RedHat

-Instalamos el repositorio Epel
yum install epel-release

-Instalamos Clamav
yum install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

-Creeríamos que si están los rpms, clamav debería funcionar al instalarlo. No es asi, debemos hacer unos cambios. Primero copiamos el conf de clamd.conf a /etc/clamd.d (donde normalmente lo busca el daemon)
cp /usr/share/clamav/template/clamd.conf /etc/clamd.d/clamd.conf


Configuramos Clamd y Freshclam en Linux Ubuntu

-Editamos el conf, normalmente los valores por default son suficientes pero listare los importantes. Es buena practica verificarlos todos y si necesitamos habilitar o deshabilitar alguno, lo hagamos documentando que hicimos para mas adelante poder ver donde hay un posible error
vi /etc/clamd.d/clamd.conf
#Comentamos esta linea para poder ejecutarlo
#Example

LogFile /var/log/clamd
LogFileMaxSize 2M
LogTime yes
LogRotate yes
ExtendedDetectionInfo yes
#Usuario que ejecutara clamav
User clamscan
#Donde se creara el socket
LocalSocket /var/run/clamd.scan/clamd.sock
FixStaleSocket yes
SelfCheck 600

-Editamos el conf de freshclam, el servicio encargado de descargar las firmas de virus actualizadas para el uso de clamav
vi /etc/freshclam.conf
#
#Example
DatabaseDirectory /var/lib/clamav
UpdateLogFile /var/log/freshclam.log
LogFileMaxSize 2M
LogTime yes
LogRotate yes
DatabaseOwner clamupdate

-Cambiamos el dueño y grupo (owner y group) del conf para que pueda ser leído por el servicio
chown clamscan.clamscan /etc/freshclam.conf

-Verificamos que el archivo para ejecutar el servicio exista y tenga el siguiente contenido
vi /usr/lib/systemd/system/clam-freshclam.service
[Unit]
Description = freshclam scanner
After = network.target
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d -c 4
Restart = on-failure
PrivateTmp = true
[Install]
WantedBy=multi-user.target

-Activamos el servicio de freshclam (clam-freshclam) y lo iniciamos. Apenas se ejecuta, descargara las firmas de virus actualizadas a /var/lib/clamav
systemctl enable clam-freshclam
systemctl start clam-freshclam

-Verificamos el servicio este ejecutándose correctamente
systemctl status clam-freshclam
● clam-freshclam.service - freshclam scanner
   Loaded: loaded (/usr/lib/systemd/system/clam-freshclam.service; enabled; vendor preset: disabled)
   Active: active (running) since sáb 2016-07-30 19:33:41 COT; 43s ago
  Process: 17245 ExecStart=/usr/bin/freshclam -d -c 4 (code=exited, status=0/SUCCESS)
 Main PID: 17246 (freshclam)
   CGroup: /system.slice/clam-freshclam.service
           └─17246 /usr/bin/freshclam -d -c 4

jul 30 19:33:41 cen7.test.com systemd[1]: Starting freshclam scanner...
jul 30 19:33:41 cen7.test.com freshclam[17246]: freshclam daemon 0.99.2 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
jul 30 19:33:41 cen7.test.com freshclam[17246]: ClamAV update process started at Sat Jul 30 19:33:41 2016
jul 30 19:33:41 cen7.test.com systemd[1]: Started freshclam scanner.
jul 30 19:33:41 cen7.test.com freshclam[17246]: main.cvd is up to date (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer)
jul 30 19:34:09 cen7.test.com freshclam[17246]: getfile: daily-21724.cdiff not found on database.clamav.net (IP: 128.199.133.36)
jul 30 19:34:09 cen7.test.com freshclam[17246]: getpatch: Can't download daily-21724.cdiff from database.clamav.net

-Corregimos el archivo de ejecución del servicio clamd. En el rpm viene con .@ y no lo encontrara sino lo arreglamos
mv /usr/lib/systemd/system/clamd@.service /usr/lib/systemd/system/clamd.service

-Verificamos el archivo de ejecusion del servicio de clamd, debe contener lo siguiente
vi /usr/lib/systemd/system/clamd.service
[Unit]
Description = clamd scanner (%i) daemon
After = syslog.target nss-lookup.target network.target

[Service]
Type = simple
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/clamd.conf --foreground=yes
Restart = on-failure
PrivateTmp = true

[Install]
WantedBy=multi-user.target

-Creamos un archivo para los logs de clamd y le damos permisos de clamscan (owner y group)
touch /var/log/clamd
chown clamscan.clamscan /var/log/clamd

-Activamos el servicio clamd y lo ejecutamos
systemctl enable clamd
systemctl start clamd

-Verificamos este ejecutandose correctamente
systemctl status clamd
● clamd.service - clamd scanner () daemon
   Loaded: loaded (/usr/lib/systemd/system/clamd.service; enabled; vendor preset: disabled)
   Active: active (running) since sáb 2016-07-30 19:51:45 COT; 4s ago
 Main PID: 17408 (clamd)
   CGroup: /system.slice/clamd.service
           └─17408 /usr/sbin/clamd -c /etc/clamd.d/clamd.conf --foreground=yes

jul 30 19:51:45 cen7.test.com systemd[1]: Started clamd scanner () daemon.
jul 30 19:51:45 cen7.test.com systemd[1]: Starting clamd scanner () daemon...
jul 30 19:51:45 cen7.test.com clamd[17408]: Received 0 file descriptor(s) from systemd.
jul 30 19:51:45 cen7.test.com clamd[17408]: clamd daemon 0.99.2 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
jul 30 19:51:45 cen7.test.com clamd[17408]: Running as user clamscan (UID 995, GID 993)
jul 30 19:51:45 cen7.test.com clamd[17408]: Log file size limited to 2097152 bytes.
jul 30 19:51:45 cen7.test.com clamd[17408]: Reading databases from /var/lib/clamav
jul 30 19:51:45 cen7.test.com clamd[17408]: Not loading PUA signatures.
jul 30 19:51:45 cen7.test.com clamd[17408]: Bytecode: Security mode set to "TrustSigned".

-Es buena politica verificar logs para certificar que todo este ejecutandose correctamente. Comenzamos mirando el log de freshclam para estar seguros de que se descargaron las firmas de virus
cat /var/log/freshclam.log
Sat Jul 30 19:33:41 2016 -> --------------------------------------
Sat Jul 30 19:33:41 2016 -> freshclam daemon 0.99.2 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
Sat Jul 30 19:33:41 2016 -> ClamAV update process started at Sat Jul 30 19:33:41 2016
Sat Jul 30 19:33:41 2016 -> main.cvd is up to date (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer)
Sat Jul 30 19:34:09 2016 -> WARNING: getfile: daily-21724.cdiff not found on database.clamav.net (IP: 128.199.133.36)
Sat Jul 30 19:34:09 2016 -> WARNING: getpatch: Can't download daily-21724.cdiff from database.clamav.net
Sat Jul 30 19:34:40 2016 -> nonblock_connect: connect timing out (30 secs)
Sat Jul 30 19:34:40 2016 -> Can't connect to port 80 of host database.clamav.net (IP: 104.131.196.175)
Sat Jul 30 19:34:40 2016 -> Trying host database.clamav.net (69.12.162.28)...
Sat Jul 30 19:34:40 2016 -> WARNING: getfile: daily-21724.cdiff not found on database.clamav.net (IP: 69.12.162.28)
Sat Jul 30 19:34:40 2016 -> WARNING: getpatch: Can't download daily-21724.cdiff from database.clamav.net
Sat Jul 30 19:34:40 2016 -> Trying host database.clamav.net (64.22.33.90)...
Sat Jul 30 19:34:41 2016 -> WARNING: getfile: daily-21724.cdiff not found on database.clamav.net (IP: 64.22.33.90)
Sat Jul 30 19:34:41 2016 -> WARNING: getpatch: Can't download daily-21724.cdiff from database.clamav.net
Sat Jul 30 19:34:41 2016 -> WARNING: Incremental update failed, trying to download daily.cvd
Sat Jul 30 19:34:59 2016 -> Downloading daily.cvd [100%]
Sat Jul 30 19:35:00 2016 -> daily.cvd updated (version: 21999, sigs: 468291, f-level: 63, builder: neo)
Sat Jul 30 19:35:01 2016 -> Downloading bytecode-279.cdiff [100%]
Sat Jul 30 19:35:01 2016 -> Downloading bytecode-280.cdiff [100%]
Sat Jul 30 19:35:02 2016 -> Downloading bytecode-281.cdiff [100%]
Sat Jul 30 19:35:02 201apt-get install clamav-daemon6 -> Downloading bytecode-282.cdiff [100%]
Sat Jul 30 19:35:03 2016 -> Downloading bytecode-283.cdiff [100%]
Sat Jul 30 19:35:03 2016 -> bytecode.cld updated (version: 283, sigs: 53, f-level: 63, builder: neo)
Sat Jul 30 19:35:07 2016 -> Database updated (4687134 signatures) from database.clamav.net (IP: 194.8.197.22)
Sat Jul 30 19:35:07 2016 -> --------------------------------------

-Miramos el contenido del log de clamd
cat /var/log/clamd 
Sat Jul 30 19:53:34 2016 -> +++ Started at Sat Jul 30 19:53:34 2016
Sat Jul 30 19:53:34 2016 -> Received 0 file descriptor(s) from systemd.
Sat Jul 30 19:53:34 2016 -> clamd daemon 0.99.2 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
Sat Jul 30 19:53:34 2016 -> Running as user clamscan (UID 995, GID 993)
Sat Jul 30 19:53:34 2016 -> Log file size limited to 2097152 bytes.
Sat Jul 30 19:53:34 2016 -> Reading databases from /var/lib/clamav
Sat Jul 30 19:53:34 2016 -> Not loading PUA signatures.
Sat Jul 30 19:53:34 2016 -> Bytecode: Security mode set to "TrustSigned".


Instalamos Clamav en Linux Ubuntu server o Linux Ubuntu Desktop

-Abrimos una consola e instalamos clamav
sudo apt install clamav-daemon


Instalamos Clamav en Linux Ubuntu

-Verificamos la configuracion de freshclam. Los defaults por lo general funcionaran muy bien
sudo vi /etc/clamav/freshclam.conf

-Descargamos por primera vez las firmas de virus usadas por clamav. Sin las firmas, clamav no ejecutara y mostrara un error comentandolo
sudo freshclam
ClamAV update process started at Mon Aug  1 12:42:01 2016
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.99 Recommended version: 0.99.2
DON'T PANIC! Read http://www.clamav.net/support/faq
Downloading main.cvd [100%]
main.cvd updated (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer)
Downloading daily.cvd [100%]
daily.cvd updated (version: 22009, sigs: 473001, f-level: 63, builder: neo)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 283, sigs: 53, f-level: 63, builder: neo)
Database updated (4691844 signatures) from db.local.clamav.net (IP: 200.236.31.1)
WARNING: Clamd was NOT notified: Can't connect to clamd through /var/run/clamav/clamd.ctl: No such file or directory

-Verificamos ya tengamos las firmas de virus descargadas
ls -la /var/lib/clamav/
total 117696
drwxr-xr-x  2 clamav clamav      4096 ago  1 12:45 .
drwxr-xr-x 41 root   root        4096 ago  1 11:48 ..
-rw-r--r--  1 clamav clamav     86357 ago  1 12:45 bytecode.cvd
-rw-r--r--  1 clamav clamav  11265457 ago  1 12:44 daily.cvd
-rw-r--r--  1 clamav clamav 109143933 ago  1 12:44 main.cvd
-rw-------  1 clamav clamav       260 ago  1 12:45 mirrors.dat

-Activamos el servicio de freshclam (clamav-freshclam) y lo ejecutamos
sudo systemctl enable clamav-freshclam
sudo systemctl start clamav-freshclam

-Verificamos se este ejecutando servicio de freshclam
sudo systemctl status clamav-freshclam
● clamav-freshclam.service - ClamAV virus database updater
   Loaded: loaded (/lib/systemd/system/clamav-freshclam.service; enabled; vendor
   Active: active (running) since lun 2016-08-01 12:23:05 COT; 16s ago
     Docs: man:freshclam(1)
           man:freshclam.conf(5)
           http://www.clamav.net/lang/en/doc/
 Main PID: 4424 (freshclam)
    Tasks: 1
   Memory: 4.7M
      CPU: 246ms
   CGroup: /system.slice/clamav-freshclam.service
           └─4424 /usr/bin/freshclam -d --foreground=true

ago 01 12:23:05 ubuser systemd[1]: Started ClamAV virus database updater.
ago 01 12:23:05 ubuser freshclam[4424]: ClamAV update process started at Mon Aug
ago 01 12:23:05 ubuser freshclam[4424]: WARNING: Your ClamAV installation is OUT
ago 01 12:23:05 ubuser freshclam[4424]: WARNING: Local version: 0.99 Recommended
ago 01 12:23:05 ubuser freshclam[4424]: DON'T PANIC! Read http://www.clamav.net/

-Activamos y ejecutamos el servicio de clamav (clamav-daemon)
sudo systemctl enable clamav-daemon
sudo systemctl start clamav-daemon

-Verificamos se este ejecutandose el servicio
sudo systemctl status clamav-daemon
● clamav-daemon.service - Clam AntiVirus userspace daemon
   Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor pr
   Active: active (running) since lun 2016-08-01 12:46:38 COT; 4s ago
     Docs: man:clamd(8)
           man:clamd.conf(5)
           http://www.clamav.net/lang/en/doc/
 Main PID: 4630 (clamd)
    Tasks: 1
   Memory: 244.2M
      CPU: 4.400s
   CGroup: /system.slice/clamav-daemon.service
           └─4630 /usr/sbin/clamd --foreground=true

ago 01 12:46:38 ubuser systemd[1]: Started Clam AntiVirus userspace daemon.

-Como buena politica miramos logs, en este caso el de clamav para verificar si hay errores o no se pudo cargar algun modulo
cat /var/log/clamav/clamav.log
Mon Aug  1 12:46:39 2016 -> +++ Started at Mon Aug  1 12:46:39 2016
Mon Aug  1 12:46:39 2016 -> Received 1 file descriptor(s) from systemd.
Mon Aug  1 12:46:39 2016 -> clamd daemon 0.99 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
Mon Aug  1 12:46:39 2016 -> Running as user clamav (UID 111, GID 117)
Mon Aug  1 12:46:39 2016 -> Log file size limited to 4294967295bytes.
Mon Aug  1 12:46:39 2016 -> Reading databases from /var/lib/clamav
Mon Aug  1 12:46:39 2016 -> Not loading PUA signatures.
Mon Aug  1 12:46:39 2016 -> Bytecode: Security mode set to "TrustSigned".
Mon Aug  1 12:46:45 2016 -> Loaded 4686446 signatures.
Mon Aug  1 12:46:47 2016 -> TCP: No tcp AF_INET/AF_INET6 SOCK_STREAM socket received from systemd.
Mon Aug  1 12:46:47 2016 -> LOCAL: Received AF_UNIX SOCK_STREAM socket from systemd.
Mon Aug  1 12:46:47 2016 -> Limits: Global size limit set to 104857600 bytes.
Mon Aug  1 12:46:47 2016 -> Limits: File size limit set to 26214400 bytes.
Mon Aug  1 12:46:47 2016 -> Limits: Recursion level limit set to 16.
Mon Aug  1 12:46:47 2016 -> Limits: Files limit set to 10000.
Mon Aug  1 12:46:47 2016 -> Limits: MaxEmbeddedPE limit set to 10485760 bytes.
Mon Aug  1 12:46:47 2016 -> Limits: MaxHTMLNormalize limit set to 10485760 bytes.
Mon Aug  1 12:46:47 2016 -> Limits: MaxHTMLNoTags limit set to 2097152 bytes.
Mon Aug  1 12:46:47 2016 -> Limits: MaxScriptNormalize limit set to 5242880 bytes.
Mon Aug  1 12:46:47 2016 -> Limits: MaxZipTypeRcg limit set to 1048576 bytes.
Mon Aug  1 12:46:47 2016 -> Limits: MaxPartitions limit set to 50.
Mon Aug  1 12:46:47 2016 -> Limits: MaxIconsPE limit set to 100.
Mon Aug  1 12:46:47 2016 -> Limits: PCREMatchLimit limit set to 10000.
Mon Aug  1 12:46:47 2016 -> Limits: PCRERecMatchLimit limit set to 5000.
Mon Aug  1 12:46:47 2016 -> Limits: PCREMaxFileSize limit set to 26214400.
Mon Aug  1 12:46:47 2016 -> Archive support enabled.
Mon Aug  1 12:46:47 2016 -> Algorithmic detection enabled.
Mon Aug  1 12:46:47 2016 -> Portable Executable support enabled.
Mon Aug  1 12:46:47 2016 -> ELF support enabled.
Mon Aug  1 12:46:47 2016 -> Mail files support enabled.
Mon Aug  1 12:46:47 2016 -> OLE2 support enabled.
Mon Aug  1 12:46:47 2016 -> PDF support enabled.
Mon Aug  1 12:46:47 2016 -> SWF support enabled.
Mon Aug  1 12:46:47 2016 -> HTML support enabled.
Mon Aug  1 12:46:47 2016 -> Self checking every 3600 seconds.


Usando Clamav en Linux Ubuntu de forma gráfica

-Aunque en la mayoría de los casos usaremos clamav desde linea de comandos, hay ocasiones en que lo instalaremos en nuestra estación de trabajo o en un Linux Ubuntu Server con interfaz gráfica. Para estas oportunidades es que podemos usar clamtk. Lo instalamos desde linea de comandos
sudo apt install clamtk clamtk-nautilus

-Después de instalado podemos ejecutarlo, ya sea desde linea de comandos (sudo clamtk), Unity o desde el menú de MATE como en la siguiente imagen podrás ver
DriveMeca instalando ClamAV y usandolo en Linux paso a paso

-La ventana principal de Clamtk muestra todas las opciones (o inicio de opciones) en un único lugar. Lo primero que debemos hacer es verificar su configuracion dando click al botón Configuración
DriveMeca instalando ClamAV y usandolo en Linux paso a paso

-En Configuración veremos varias opciones, unas con valores por default y otras que podemos activar. Regresamos a la ventana principal dando click al botón Back
DriveMeca instalando ClamAV y usandolo en Linux paso a paso

-En la parte inferior de la ventana principal veremos en la sección Análisis los botones para hacer una búsqueda de virus. En este ejemplo doy click al botón Analizar una carpeta, elegimos y se ejecuta. Al final debe salir una ventana diciéndonos que termino y no se encontraron amenazas (virus)
DriveMeca instalando ClamAV y usandolo en Linux paso a paso


Usando Clamav desde linea de comandos en Linux (cualquier distribución)

-A veces necesitamos un rápido chequeo y no esperar a que nuestro servicio detecte un problema. Para esto podemos ejecutar desde linea de comandos clamscan y pasarle el directorio a verificar como parámetro. Una forma rápida y conveniente de verificar archivos en una carpeta Linux
clamscan -v Documentos/
..
..
Scanning Documentos/Guane.docx
Documentos/Guane.docx: OK

----------- SCAN SUMMARY -----------
Known viruses: 4686446
Engine version: 0.99
Scanned directories: 1
Scanned files: 55
Infected files: 0
Data scanned: 306.31 MB
Data read: 527.63 MB (ratio 0.58:1)
Time: 31.175 sec (0 m 31 s)

Verificando versión de Clamav

-Abrimos una consola y ejecutamos
clamscan -V
ClamAV 0.99/22010/Mon Aug  1 14:12:44 2016

Artículos recomendadosVerificando si una ip publica esta reportada por spam
                                            Como bloquear una ip o email en postfix
                                            Como instalar Linux Centos 7 paso a paso
                                            Configurando servicios en Linux Centos / RedHat
                                            Como instalar y configurar Ubuntu Server 16.04 LTS paso a paso
                                            Como instalar interfaz grafica en Ubuntu server paso a paso


Ahora ya estas mas protegido de virus, troyanos y otras amenazas en Linux Ubuntu / Linux Ubuntu Server / Linux Centos 7.x y Linux RedHat 7.x con este tutorial de ClamAV español. 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

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