LINUX

Cómo configurar Vuls Vulnerability Scanner en Linux

VULS es un escáner de vulnerabilidades de seguridad para Linux. Descarga la NVD (base de datos nacional de vulnerabilidades) y la inserta en una base de datos sqlite. Vuls ha incorporado un diccionario CVE para este archivo sqlite. Los servidores están conectados mediante autorización basada en claves, por lo tanto, necesitamos generar claves ssh y confirmar la autorización entre los servidores y el objetivo de escaneo.

Dado que, vuls es un escáner de información privilegiada. La lógica detrás del sistema vuls busca actualizaciones desatendidas y, por lo tanto, informa sobre paquetes no seguros en un sistema.

Principales características

  • Escanee en busca de vulnerabilidades en el servidor Linux
  • Escanee el middleware, las bibliotecas de lenguajes de programación y el marco en busca de vulnerabilidades
  • Software de soporte registrado en CPE
  • Se requiere que el usuario solo configure una máquina que esté conectada a otros servidores de destino a través de SSH
  • Generación automática de plantilla de archivo de configuración
  • Es posible la notificación por correo electrónico y Slack (admite el idioma japonés)
  • El resultado del escaneo se puede ver en el software necesario, terminal TUI Viewer.

En este artículo, proporcionaré instrucciones paso a paso sobre cómo instalar el escáner Vuls en un servidor Ubuntu 16.04. Repasemos las etapas de instalación.

1) Requisitos previos

Vuls requiere la instalación de los siguientes paquetes para su correcto funcionamiento.

  • sqlite3
  • git
  • gcc
  • ir v1.6 o superior

Para instalar Sqlite3, use estos comandos a continuación:

root@ubuntu:~#apt-get update.
root@ubuntu:~#apt-get install sqlite3 libsqlite3-dev.

Para instalar git y gcc, puede usar este comando a continuación:

root@ubuntu:~#apt-get install git gcc

Siga estos pasos para instalar Go en el servidor.

Dependiendo de la arquitectura de nuestro servidor, podemos descargar el paquete requerido y extraerlo para instalarlo.

[root@ubuntu src]# wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz

2016-07-01 07:50:26 (93.6 MB/s) - ‘go1.6.2.linux-amd64.tar.gz’ saved [84840658/84840658]

[root@ubuntusrc]# tar -xzvf go1.6.2.linux-amd64.tar.gz -C /usr/local/

Descargué el paquete para una arquitectura de 64 bits.

root@ubuntu~]# mkdir /root/go

Add these lines into /etc/profile.d/goenv.sh

[root@ubuntu ~]# cat /etc/profile.d/goenv.sh export GOROOT = / usr / local / go export GOPATH = $ HOME / go export PATH = $ PATH: $ GOROOT / bin: $ GOPATH / bin

Establecer la variable de entorno del sistema operativo en el shell actual [root@ubuntu ~]# fuente /etc/profile.d/goenv.sh [root@ubuntu bin]# go versión go versión go1.6.2 linux / amd64

2) Habilite la autenticación de clave SSH entre servidores

Puede crear los pares de claves SSH y agregarlos al servidor vuls para mejorar la conectividad SSH en los servidores b / n. Solo estoy creando un par de claves SSH para mi servidor local y agregando la clave pública a las claves_autorizadas para habilitar el escaneo local.

root@ubuntu:~# ssh-keygen -t rsa
root@ubuntu:~# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
root@ubuntu:~# chmod 600 ~/.ssh/authorized_keys

3) Implementar go-cve-dictionary

Ahora, podemos movernos a nuestro directorio de trabajo go e implementar nuestro diccionario go-cve. Como se mencionó anteriormente, los vuls deben estar atentos a las nuevas vulnerabilidades en NVD.

root@ubuntu:/usr/src# cd /root/go
root@ubuntu:~/go# go get github.com/kotakanbe/go-cve-dictionary
root@ubuntu:~/go# ls
bin hello-world hello-world.go pkg src

root@ubuntu:~/go#mkdir /var/log/vuls
root@ubuntu:~/go#chmod 700 /var/log/vuls

En primer lugar, go-cve-dictionary recupera datos de vulnerabilidad de NVD y los inserta en sqlite3.

root@ubuntu:~/go#for i in {2002..2016}; do go-cve-dictionary fetchnvd -years $i; done
0 / 1 [------------------------------------------------------------------------------------------------------------------------------] 0.00%[Sep 21 07:44:13] INFO Fetching... https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2002.xml.gz
[Sep 21 07:44:15] INFO Fetched 6721 CVEs
[Sep 21 07:44:15] INFO Opening DB. datafile: /root/go/cve.sqlite3
[Sep 21 07:44:15] INFO Migrating DB
[Sep 21 07:44:15] INFO Inserting CVEs...
6721 / 6721 [====================================================================================================================] 100.00% 13s
[Sep 21 07:44:29] INFO Refreshed 6721 Nvds.

sqlite3

Ahora recopilamos con éxito datos de vulnerabilidad, luego comenzamos nuevamente como modo servidor.

root@ubuntu:~/go# go-cve-dictionary server
[Sep 22 05:47:48] INFO Opening DB. datafile: /root/go/cve.sqlite3
[Sep 22 05:47:48] INFO Migrating DB
[Sep 22 05:47:48] INFO Starting HTTP Server...
[Sep 22 05:47:48] INFO Listening on 127.0.0.1:1323

root@ubuntu:~/go# ls -alh cve.sqlite3
-rw-r--r-- 1 root root 561M Sep 21 07:53 cve.sqlite3

4) Implementar vuls

Ejecute este comando go para implementar vuls.

root@ubuntu:/# go get github.com/future-architect/vuls

5) Creando la configuración de vuls

Podemos crear el archivo de configuración vuls en formato TOML para escanear los servidores de destino. Acabo de modificar el archivo de configuración de vuls para escanear mi servidor local.

root@ubuntu:vuls# cat config.toml
[servers]

[servers.45-33-77-70]
host = "45.33.77.70"
port = "22"
user = "root"
keyPath = "/root/.ssh/id_rsa"

Puede agregar tantos servidores como necesite en el archivo de configuración con estos detalles y ejecutar una prueba de configuración para validar.

root@ubuntu:/# vuls configtest
[Sep 21 03:01:56] INFO [localhost] Validating Config...
[Sep 21 03:01:56] INFO [localhost] Detecting Server/Contianer OS...
[Sep 21 03:01:56] INFO [localhost] Detecting OS of servers...
[Sep 21 03:01:57] INFO [localhost] (1/1) Detected: 45-33-77-70: ubuntu 16.04
[Sep 21 03:01:57] INFO [localhost] Detecting OS of containers...
[Sep 21 03:01:57] INFO [localhost] Checking sudo configuration...
[Sep 21 03:01:57] INFO [45-33-77-70] sudo ... OK
[Sep 21 03:01:57] INFO [localhost] SSH-able servers are below...
45-33-77-70

6) Configuración de servidores de destino para vuls

Puede ejecutar este comando «vuls prepare» para configurar todos los servidores de destino especificados en el archivo de configuración de vuls.

root@ubuntu:/# vuls prepare
INFO[0000] Start Preparing (config: /config.toml)
[Sep 21 03:02:46] INFO [localhost] Detecting OS...
[Sep 21 03:02:46] INFO [localhost] Detecting OS of servers...
[Sep 21 03:02:46] INFO [localhost] (1/1) Detected: 45-33-77-70: ubuntu 16.04
[Sep 21 03:02:46] INFO [localhost] Detecting OS of containers...
[Sep 21 03:02:46] INFO [localhost] Checking sudo configuration...
[Sep 21 03:02:46] INFO [45-33-77-70] sudo ... OK
[Sep 21 03:02:46] INFO [localhost] Installing...
[Sep 21 03:02:46] INFO [45-33-77-70] apt-get update...

7) Empiece a escanear

Podemos escanear nuestros servidores usando el comando «escaneo de vuls«.

root@ubuntu:~/go/vuls# vuls scan -report-json -cve-dictionary-dbpath=/root/go/cve.sqlite3
INFO[0000] Start scanning
INFO[0000] config: /root/go/vuls/config.toml
INFO[0000] cve-dictionary: /root/go/cve.sqlite3

vulscanfinal2 + informe

Incluso podemos obtener una interfaz de usuario basada en terminal para ver nuestro informe de escaneo. Puede ejecutar este comando «vuls tui«para acceder a él.

vuls_tui

¡Eso es todo! Puede consultar este enlace para obtener más opciones con Comando de escaneo Vuls uso. Espero que haya disfrutado leyendo este artículo sobre el escáner de vulnerabilidades. Publique sus valiosos comentarios y sugerencias al respecto. También puede crear un json informes de vuls salida usando VulsRepo. Que tenga un buen día 🙂

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar