Vuls es un escáner de vulnerabilidades gratuito y de código abierto escrito en Go. Se utiliza para realizar análisis de vulnerabilidades de seguridad y actualizaciones de software a diario. Vuls está especialmente diseñado para escanear las aplicaciones, las computadoras, el middleware, los dispositivos de red y las bibliotecas de lenguajes de programación en busca de una vulnerabilidad conocida. Vuls le envía una notificación una vez que los servidores se ven afectados por una vulnerabilidad. Vuls se puede instalar en todos los principales sistemas operativos como Linux, FreeBSD, SUSE, Ubuntu, Debian, CentOS, Oracle Linux y muchos más. Vuls también puede escanear el sistema remoto usando el protocolo ssh. Vuls utiliza tres modos de escaneo rápido, rápido raíz y profundo, puede seleccionar cualquiera según sus requisitos.
En este tutorial, explicaremos cómo instalar y configurar Vuls Vulnerability Scanner en el servidor Ubuntu 18.04.
Requisitos
- Un servidor con Ubuntu 18.04.
- Se configura una contraseña de root en su sistema.
Cómo empezar
Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:
apt-get actualización -y
apt-get actualización -y
Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.
Instalar dependencias requeridas
Vuls usa SQLite para almacenar su información de vulnerabilidad. Por lo tanto, deberá instalar SQLite y otros paquetes necesarios en su sistema. Puede instalarlos todos con el siguiente comando:
apt-get install sqlite3 git debian-goodies gcc make wget -y
Una vez instalado, deberá descargar e instalar la última versión de Go en su sistema.
Primero, descargue la fuente de Go con el siguiente comando:
wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
Una vez descargado, extraiga el archivo descargado al directorio /usr/local con el siguiente comando:
tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
A continuación, deberá configurar algunas variables de entorno para Go. Puede configurarlo editando el archivo /etc/profile:
nano /etc/perfil
Agregue las siguientes líneas al final del archivo:
exportar GOPATH=$HOME/goexport PATH=$PATH:/usr/local/go/bin
Guarde y cierre el archivo cuando haya terminado. Luego, recarga las variables de entorno con el siguiente comando:
fuente /etc/perfil
A continuación, cree una estructura de directorios para Go con el siguiente comando:
mkdir /root/go
mkdir -p $GOPATH/src/github.com/kotakanbe
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar y configurar go-cve-dictionary
El go-cve-dictionary es una herramienta para crear una copia local de la NVD (Base de datos nacional de vulnerabilidades). Puede acceder a la NVD (Base de datos nacional de vulnerabilidades) usando el paquete Go. Luego, deberá ejecutarlo y obtener datos de vulnerabilidad para que los use Vuls. Por lo tanto, deberá descargar e instalar go-cve-dictionary en su sistema.
Primero, cambie el directorio a $GOPATH/src/github.com/kotakanbe y descargue la fuente del diccionario go-cve del repositorio de Git con el siguiente comando:
cd $GOPATH/src/github.com/kotakanbe
clon de git https://github.com/kotakanbe/go-cve-dictionary.git
Una vez completada la descarga, instálela con el siguiente comando:
cd go-cve-dictionary
hacer instalación
El comando anterior tardará un tiempo en finalizar. Una vez que la instalación se haya completado correctamente, deberá copiar el binario go-cve-dictionary en el directorio /usr/local/bin. Puedes hacerlo con el siguiente comando:
cp $GOPATH/bin/go-cve-dictionary /usr/local/bin/
go-cve-dictionary también requería un directorio de registro y datos para almacenar su registro y datos. Por lo tanto, deberá crear un directorio de registro y datos. Puede crearlos con el siguiente comando:
mkdir /var/log/vuls
mkdir /usr/share/vuls-data
chmod 700 /var/log/vuls
A continuación, obtiene datos de vulnerabilidad de NVD y los inserta en sqlite3 con el siguiente comando:
para i en `seq 2002 $(fecha +"%Y"`; haz go-cve-dictionary fetchnvd -dbpath /usr/share/vuls-data/cve.sqlite3 -years $i; hecho
El comando anterior descargará los datos NVD desde el año 2002 hasta el año actual.
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar y configurar goval-dictionary
El diccionario-goval es una herramienta para construir una copia local del OVAL (Lenguaje Abierto de Evaluación y Vulnerabilidad). El paquete Go también proporciona acceso a la base de datos OVAL para Ubuntu. Por lo tanto, deberá descargar e instalar goval-dictionary en su sistema.
Primero, descargue la fuente de goval-dictionary desde el repositorio de Git con el siguiente comando:
cd $GOPATH/src/github.com/kotakanbe
clon de git https://github.com/kotakanbe/goval-dictionary.git
Luego, instálalo con el siguiente comando:
cd goval-dictionary
hacer instalación
A continuación, cópielo en el directorio /usr/local/bin con el siguiente comando:
cp $GOPATH/bin/goval-dictionary /usr/local/bin/
A continuación, obtenga los datos de OVAL para Ubuntu 18.04 con el siguiente comando:
goval-dictionary fetch-ubuntu -dbpath=/usr/share/vuls-data/oval.sqlite3 18
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar y configurar Vuls
A continuación, deberá descargar la fuente de Vuls e instalarla en su sistema. Puedes descargarlo desde el repositorio de Git con el siguiente comando:
mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future -arquitecto/vuls.git
A continuación, cambie el directorio a vuls e instálelo con el siguiente comando:
cd vuls
hacer instalación
Una vez instalado, deberá copiar el binario vuls en el directorio /usr/local/bin. Puedes hacerlo con el siguiente comando:
cp $GOPATH/bin/vuls/usr/local/bin/
A continuación, deberá crear un archivo de configuración vuls en el directorio /usr/share/vuls-data:
cd /usr/share/vuls-data
nano config.toml
Agregue las siguientes líneas:
[cveDict]tipo ="sqlite3"SQLite3Path ="/usr/share/vuls-data/cve.sqlite3"[ovalDict]tipo ="sqlite3"SQLite3Path ="/usr/share/vuls-data/oval.sqlite3 "[servidores][servidores.localhost]host ="localhost"puerto ="local"scanMode =["rápido"]
Guarde y cierre el archivo cuando haya terminado.
A continuación, pruebe el archivo de configuración con el siguiente comando:
prueba de configuración de vuls
Si todo está bien, debería ver el siguiente resultado:
[17 de septiembre 16:01:39] INFO [localhost] Validando la configuración... [17 de septiembre 16:01:39] INFO [localhost] Detectando el sistema operativo del servidor/contenedor... [17 de septiembre 16:01:39 ] INFO [localhost] Detectando SO de servidores... [17 de septiembre 16:01:39] INFO [localhost] (1/1) Detectado:localhost:ubuntu 18.04[17 de septiembre 16:01:39] INFO [localhost] Detectando Sistema operativo de contenedores estáticos... [17 de septiembre 16:01:39] INFO [localhost] Detectando el sistema operativo de los contenedores... [17 de septiembre 16:01:39] INFO [localhost] Comprobación de los modos de exploración... [17 de septiembre 16 :01:39] INFO [localhost] Comprobando dependencias... [17 de septiembre 16:01:39] INFO [localhost] Dependencias... Aprobado [17 de septiembre 16:01:39] INFO [localhost] Comprobando la configuración de sudo... .[17 de septiembre 16:01:39] INFO [localhost] sudo ... No es necesario[17 de septiembre 16:01:39] INFO [localhost] Se puede escanear con el modo de escaneo rápido incluso si se muestran mensajes de advertencia o error debido a la falta de paquetes dependientes o configuraciones de sudo en modo raíz rápida o exploración profunda [17 de septiembre 16:01:39] INFO [localhost] Los servidores escaneables están debajo...Una vez que haya terminado, puede continuar con el siguiente paso.
Escanear su sistema usando Vuls
Vuls ahora está instalado y configurado para escanear su sistema local. Para escanear su sistema local, ejecute el siguiente comando:
exploración de vulnerabilidadesDebería ver el siguiente resultado:
[17 de septiembre 16:02:20] INFO [localhost] Iniciar escaneo[17 de septiembre 16:02:20] INFO [localhost] config:/usr/share/vuls-data/config.toml[17 de septiembre 16:02:20] INFO [localhost] Validando configuración... [17 de septiembre 16:02:20] INFO [localhost] Detectando SO de servidor/contenedor... [17 de septiembre 16:02:20] INFO [localhost] Detectando SO de servidores... [17 de septiembre 16:02:20] INFO [localhost] (1/1) Detectado:localhost:ubuntu 18.04[17 de septiembre 16:02:20] INFO [localhost] Detectando SO de contenedores estáticos... [ 17 de septiembre 16:02:20] INFO [localhost] Detectando el sistema operativo de los contenedores... [17 de septiembre 16:02:20] INFO [localhost] Comprobación de los modos de exploración... [17 de septiembre 16:02:20] INFO [localhost ] Detectando plataformas... [17 de septiembre 16:02:21] INFO [localhost] (1/1) localhost se está ejecutando en otro [17 de septiembre 16:02:21] INFO [localhost] Detectando identificadores IPS... [Sep 17 16:02:21] INFO [localhost] (1/1) localhost tiene 0 integración IPS [17 de septiembre 16:02:21] INFO [localhost] Explorando vulnerabilidades... [17 de septiembre 16:02:21] INFO [ localhost] Analizando paquetes de sistemas operativos vulnerables...[1 de septiembre 7 16:02:21] INFO [localhost] Exploración en modo rápidoResumen de una línea================localhost ubuntu18.04 537 instaladoPara ver los detalles, vuls tui es útil.Para enviar un informe, ejecute vuls report -h.Vuls también almacena su informe de vulnerabilidades en el archivo de registro. Puedes verlo más tarde con el siguiente comando:
vuls tuiDebería ver la siguiente pantalla:
Ahora puede presionar Entrar y navegar con las flechas del teclado.
¡Felicidades! Ha instalado y configurado correctamente el escáner de vulnerabilidades Vuls en el servidor Ubuntu 18.04. Ahora puede escanear fácilmente el sistema local y varios sistemas remotos y generar un informe de vulnerabilidades para cada uno. Para obtener más información, puede visitar la documentación oficial de Vuls en Vuls Doc. Siéntase libre de preguntarme si tiene alguna pregunta.