Vuls Vulnerability Scanner installeren en gebruiken op Ubuntu 18.04 LTS

Vuls is een gratis en open-source kwetsbaarheidsscanner geschreven in Go. Het wordt gebruikt om dagelijks kwetsbaarheden in de beveiliging te analyseren en software bij te werken. Vuls is speciaal ontworpen om Applicaties, Computers, middleware, Netwerk apparatuur en programmeertaal bibliotheken te scannen op een bekende kwetsbaarheid. Vuls stuurt je een melding zodra de servers door een kwetsbaarheid getroffen zijn. Vuls kan geïnstalleerd worden op alle belangrijke besturingssystemen, zoals Linux, FreeBSD, SUSE, Ubuntu, Debian, CentOS, Oracle Linux en nog veel meer. Vuls kan ook het remote systeem scannen met het ssh protocol. Vuls gebruikt drie scan modes snel, snel root en diep, je kunt er een kiezen naar gelang je behoefte.

In deze handleiding leggen we uit hoe je Vuls Vulnerability Scanner op Ubuntu 18.04 server installeert en configureert.

Vereisten

  • Een server waarop Ubuntu 18.04 draait.
  • Een root wachtwoord is op je systeem ingesteld.

Aan de slag

Voor je begint, moet je je systeem updaten met de nieuwste versie. Je kunt dit doen door het volgende commando uit te voeren:

apt-get update -y
apt-get upgrade -y

Zodra je server bijgewerkt is, herstart je je server om de veranderingen toe te passen.

Installeer de vereiste afhankelijkheden

Vuls gebruikt SQLite om de informatie over kwetsbaarheden op te slaan. Je zult dus SQLite en andere vereiste pakketten op je systeem moeten installeren. Je kunt ze allemaal installeren met het volgende commando:

apt-get install sqlite3 git debian-goodies gcc make wget -y

Eenmaal geïnstalleerd moet je de nieuwste versie van Go op je systeem downloaden en installeren.

Download eerst de Go broncode met het volgende commando:

wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz

Eenmaal gedownload pak je het gedownloade bestand uit in de /usr/local directory met het volgende commando:

tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz

Vervolgens moet je een paar omgevingsvariabelen voor Go instellen. Je kunt die instellen door het bestand /etc/profile te bewerken:

nano /etc/profile

Voeg de volgende regels toe aan het eind van het bestand:

export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin

Sla het bestand op en sluit het als je klaar bent. Laad dan de omgevingsvariabelen opnieuw met het volgende commando:

source /etc/profile

Maak vervolgens een mappenstructuur voor Go met het volgende commando:

mkdir /root/go
mkdir -p $GOPATH/src/github.com/kotakanbe

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

Installeer en configureer go-cve-woordenboek

Het go-cve-woordenboek is een hulpmiddel om een lokale kopie van de NVD (National Vulnerabilities Database) te bouwen. Je kunt de NVD (National Vulnerability Database) openen met het Go pakket. Daarna moet je het uitvoeren en gegevens over kwetsbaarheden ophalen om Vuls te gebruiken. Je moet dus go-cve-dictionary downloaden en op je systeem installeren.

Verander eerst de directory in $GOPATH/src/github.com/kotakanbe en download de go-cve-dictionary broncode uit de Git repository met het volgende commando:

cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/go-cve-dictionary.git

Als de download voltooid is, installeer je het met het volgende commando:

cd go-cve-dictionary
make install

Het duurt even voor het bovenstaande commando klaar is. Als de installatie met succes voltooid is, moet je het binaire go-cve-dictionary naar de map /usr/local/bin kopiëren. Je kunt dat doen met het volgende commando:

cp $GOPATH/bin/go-cve-dictionary /usr/local/bin/

go-cve-dictionary heeft ook een log en data directory nodig om zijn log en gegevens in op te slaan. Je zult dus een log en data directorymoeten maken. Je kunt ze aanmaken met het volgende commando:

mkdir /var/log/vuls
mkdir /usr/share/vuls-data
chmod 700 /var/log/vuls

Vervolgens haalt het kwetsbaarheidsgegevens op van NVD en voegt ze in in sqlite3 met het volgende commando:

for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -dbpath /usr/share/vuls-data/cve.sqlite3 -years $i; done

Met het bovenstaande commando worden de NVD gegevens van het jaar 2002 tot het huidige jaar opgehaald.

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

Installeer en configureer goval-woordenboek

Het goval-woordenboek is een hulpmiddel om een lokale kopie van het OVAL(Open Vulnerability and Assessment Language) te bouwen. Het go-pakket biedt ook toegangtot de OVAL database voor Ubuntu. Je zult dus goval-dictionary moeten downloaden en op je systeem installeren.

Download eerst de goval-dictionary broncode uit de Git repository met het volgende commando:

cd $GOPATH/src/github.com/kotakanbe
git clone https://github.com/kotakanbe/goval-dictionary.git

Installeer het vervolgens met het volgende commando:

cd goval-dictionary
make install

Kopieer het vervolgens naar de map /usr/local/bin met het volgende commando:

cp $GOPATH/bin/goval-dictionary /usr/local/bin/

Haal vervolgens de OVAL gegevens voor Ubuntu 18.04 op met het volgende commando:

goval-dictionary fetch-ubuntu -dbpath=/usr/share/vuls-data/oval.sqlite3 18

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

Installeer en configureer Vuls

Vervolgens moet je Vuls broncode downloaden en op je systeem installeren. Je kunt het downloaden van de Git repository met het volgende commando:

mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git

Verander vervolgens de directory in vuls en installeer het met het volgende commando:

cd vuls
make install

Eenmaal geïnstalleerd moet je vuls binary naar de /usr/local/bin directory kopiëren. Je kunt dat doen met het volgende commando:

cp $GOPATH/bin/vuls /usr/local/bin/

Vervolgens moet je een vuls configuratiebestand maken in de map /usr/share/vuls-data:

cd /usr/share/vuls-data
nano config.toml

Voeg de volgende regels toe:

[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" ]

Bewaar en sluit het bestand, als je klaar bent.

Test vervolgens het configuratiebestand met het volgende commando:

vuls configtest

Als alles in orde is, zou je de volgende uitvoer moeten zien:

[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 

Als je dat gedaan hebt, kun je verder gaan met de volgende stap.

Scan je systeem met Vuls

Vuls is nu geïnstalleerd en geconfigureerd om je lokale systeem te scannen. Om je lokale systeem te scannen, voer je het volgende commando uit:

vuls scan

Je zou de volgende uitvoer moeten zien:

[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.

Vuls slaat ook het rapport over de kwetsbaarheden op in het logbestand. Je kunt het later bekijken met het volgende commando:

vuls tui

Je zou het volgende scherm moeten zien:

Vuls veiligheidsscanner

Je kunt nu op Enter drukken en met de pijlen op het toetsenbord navigeren.

Gefeliciteerd! je hebt met succes Vuls kwetsbaarheidsscanner op Ubuntu 18.04 server geïnstalleerd en ingesteld. Je kunt nu gemakkelijk zowel het lokale systeem als meerdere remote systemen scannen en voor elk een rapport over de kwetsbaarheden genereren. Voor meer informatie kun je de Vuls officiële documentatie bezoeken op Vuls Doc. Stel me gerust als je vragen hebt.