Vuls è uno scanner di vulnerabilità gratuito e open source scritto in Go. Viene utilizzato per eseguire analisi di vulnerabilità della sicurezza e aggiornamenti software su base giornaliera. Vuls è appositamente progettato per eseguire la scansione di applicazioni, computer, middleware, dispositivi di rete e librerie di linguaggi di programmazione alla ricerca di una vulnerabilità nota. Vuls ti invia una notifica quando i server sono interessati da una vulnerabilità. Vuls può essere installato su tutti i principali sistemi operativi come Linux, FreeBSD, SUSE, Ubuntu, Debian, CentOS, Oracle Linux e molti altri. Vuls può anche scansionare il sistema remoto usando il protocollo ssh. Vuls utilizza tre modalità di scansione veloce, radice veloce e profonda, puoi selezionarne una qualsiasi secondo le tue esigenze.
In questo tutorial spiegheremo come installare e configurare Vuls Vulnerability Scanner sul server Ubuntu 18.04.
Requisiti
- Un server che esegue Ubuntu 18.04.
- Una password di root è configurata sul tuo sistema.
Per iniziare
Prima di iniziare, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il server, riavvia il server per applicare le modifiche.
Installa le dipendenze richieste
Vuls utilizza SQLite per archiviare le informazioni sulla vulnerabilità. Quindi, dovrai installare SQLite e altri pacchetti richiesti sul tuo sistema. Puoi installarli tutti con il seguente comando:
apt-get install sqlite3 git debian-goodies gcc make wget -y
Una volta installato, dovrai scaricare e installare l'ultima versione di Go sul tuo sistema.
Innanzitutto, scarica il sorgente Go con il seguente comando:
wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
Una volta scaricato, estrai il file scaricato nella directory /usr/local con il seguente comando:
tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
Successivamente, dovrai impostare alcune variabili di ambiente per Go. Puoi configurarlo modificando il file /etc/profile:
nano /etc/profile
Aggiungi le seguenti righe alla fine del file:
export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin
Salva e chiudi il file quando hai finito. Quindi, ricarica le variabili di ambiente con il seguente comando:
source /etc/profile
Quindi, crea una struttura di directory per Go con il seguente comando:
mkdir /root/go
mkdir -p $GOPATH/src/github.com/kotakanbe
Una volta terminato, puoi procedere al passaggio successivo.
Installa e configura go-cve-dictionary
Il go-cve-dictionary è uno strumento per costruire una copia locale del NVD (National Vulnerabilities Database). Puoi accedere all'NVD (National Vulnerability Database) utilizzando il pacchetto Go. Quindi, dovrai eseguirlo e recuperare i dati sulla vulnerabilità per l'utilizzo da parte di Vuls. Quindi, dovrai scaricare e installare go-cve-dictionary sul tuo sistema.
Per prima cosa, cambia la directory in $GOPATH/src/github.com/kotakanbe e scarica il sorgente go-cve-dictionary dal repository Git con il seguente comando:
cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/go-cve-dictionary.git
Una volta completato il download, installalo con il seguente comando:
cd go-cve-dictionary
make install
Il comando precedente richiederà del tempo per essere completato. Una volta che l'installazione è stata completata con successo, sarà necessario copiare il binario go-cve-dictionary nella directory /usr/local/bin. Puoi farlo con il seguente comando:
cp $GOPATH/bin/go-cve-dictionary /usr/local/bin/
go-cve-dictionary richiedeva anche il registro e la directory dei dati per archiviare il registro e i dati. Quindi dovrai creare un registro e una directory di dati. Puoi crearli con il seguente comando:
mkdir /var/log/vuls
mkdir /usr/share/vuls-data
chmod 700 /var/log/vuls
Successivamente, recupera i dati sulla vulnerabilità da NVD e li inserisce in sqlite3 con il seguente comando:
for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -dbpath /usr/share/vuls-data/cve.sqlite3 -years $i; done
Il comando precedente scaricherà i dati NVD dall'anno 2002 all'anno corrente.
Una volta terminato, puoi procedere al passaggio successivo.
Installa e configura goval-dictionary
Il dizionario-goval è uno strumento per costruire una copia locale dell'OVAL (Open Vulnerability and Assessment Language). Il pacchetto Go fornisce anche l'accesso al database OVAL per Ubuntu. Quindi, dovrai scaricare e installare goval-dictionary sul tuo sistema.
Per prima cosa, scarica il sorgente goval-dictionary dal repository Git con il seguente comando:
cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/goval-dictionary.git
Quindi, installalo con il seguente comando:
cd goval-dictionary
make install
Quindi, copialo nella directory /usr/local/bin con il seguente comando:
cp $GOPATH/bin/goval-dictionary /usr/local/bin/
Quindi, recupera i dati OVAL per Ubuntu 18.04 con il seguente comando:
goval-dictionary fetch-ubuntu -dbpath=/usr/share/vuls-data/oval.sqlite3 18
Una volta terminato, puoi procedere al passaggio successivo.
Installa e configura Vuls
Successivamente, dovrai scaricare il sorgente Vuls e installarlo sul tuo sistema. Puoi scaricarlo dal repository Git con il seguente comando:
mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git
Quindi, cambia la directory in vuls e installala con il seguente comando:
cd vuls
make install
Una volta installato, dovrai copiare vuls binary nella directory /usr/local/bin. Puoi farlo con il seguente comando:
cp $GOPATH/bin/vuls /usr/local/bin/
Successivamente, dovrai creare un file di configurazione vuls nella directory /usr/share/vuls-data:
cd /usr/share/vuls-data
nano config.toml
Aggiungi le seguenti righe:
[cveDict] type = "sqlite3" SQLite3Path = "/usr/share/vuls-data/cve.sqlite3" [ovalDict] type = "sqlite3" SQLite3Path = "/usr/share/vuls-data/oval.sqlite3" [servers] [servers.localhost] host = "localhost" port = "local" scanMode = [ "fast" ]
Salva e chiudi il file, quando hai finito.
Quindi, verifica il file di configurazione con il seguente comando:
vuls configtest
Se tutto va bene, dovresti vedere il seguente output:
[Sep 17 16:01:39] INFO [localhost] Validating config... [Sep 17 16:01:39] INFO [localhost] Detecting Server/Container OS... [Sep 17 16:01:39] INFO [localhost] Detecting OS of servers... [Sep 17 16:01:39] INFO [localhost] (1/1) Detected: localhost: ubuntu 18.04 [Sep 17 16:01:39] INFO [localhost] Detecting OS of static containers... [Sep 17 16:01:39] INFO [localhost] Detecting OS of containers... [Sep 17 16:01:39] INFO [localhost] Checking Scan Modes... [Sep 17 16:01:39] INFO [localhost] Checking dependencies... [Sep 17 16:01:39] INFO [localhost] Dependencies... Pass [Sep 17 16:01:39] INFO [localhost] Checking sudo settings... [Sep 17 16:01:39] INFO [localhost] sudo ... No need [Sep 17 16:01:39] INFO [localhost] It can be scanned with fast scan mode even if warn or err messages are displayed due to lack of dependent packages or sudo settings in fast-root or deep scan mode [Sep 17 16:01:39] INFO [localhost] Scannable servers are below... localhost
Una volta terminato, puoi procedere al passaggio successivo.
Scansiona il tuo sistema usando Vuls
Vuls è ora installato e configurato per scansionare il tuo sistema locale. Per scansionare il tuo sistema locale, esegui il seguente comando:
vuls scan
Dovresti vedere il seguente output:
[Sep 17 16:02:20] INFO [localhost] Start scanning [Sep 17 16:02:20] INFO [localhost] config: /usr/share/vuls-data/config.toml [Sep 17 16:02:20] INFO [localhost] Validating config... [Sep 17 16:02:20] INFO [localhost] Detecting Server/Container OS... [Sep 17 16:02:20] INFO [localhost] Detecting OS of servers... [Sep 17 16:02:20] INFO [localhost] (1/1) Detected: localhost: ubuntu 18.04 [Sep 17 16:02:20] INFO [localhost] Detecting OS of static containers... [Sep 17 16:02:20] INFO [localhost] Detecting OS of containers... [Sep 17 16:02:20] INFO [localhost] Checking Scan Modes... [Sep 17 16:02:20] INFO [localhost] Detecting Platforms... [Sep 17 16:02:21] INFO [localhost] (1/1) localhost is running on other [Sep 17 16:02:21] INFO [localhost] Detecting IPS identifiers... [Sep 17 16:02:21] INFO [localhost] (1/1) localhost has 0 IPS integration [Sep 17 16:02:21] INFO [localhost] Scanning vulnerabilities... [Sep 17 16:02:21] INFO [localhost] Scanning vulnerable OS packages... [Sep 17 16:02:21] INFO [localhost] Scanning in fast mode One Line Summary ================ localhost ubuntu18.04 537 installed To view the detail, vuls tui is useful. To send a report, run vuls report -h.
I Vul archiviano anche il rapporto sulle vulnerabilità nel file di registro. Puoi vederlo in seguito con il seguente comando:
vuls tui
Dovresti vedere la seguente schermata:
Ora puoi premere Invio e navigare con le frecce della tastiera.
Congratulazioni! hai installato e configurato correttamente lo scanner di vulnerabilità Vuls sul server Ubuntu 18.04. È ora possibile eseguire facilmente la scansione del sistema locale e di più sistemi remoti e generare report sulle vulnerabilità per ciascuno. Per ulteriori informazioni, puoi visitare la documentazione ufficiale di Vuls su Vuls Doc. Sentiti libero di chiedermi se hai domande.