Installation und Verwendung des Vuls-Schwachstellen-Scanners unter Ubuntu 18.04 LTS

Vuls ist ein freier und quelloffener Vulnerability Scanner, der in Go geschrieben wurde. Es wird verwendet, um täglich Analysen von Sicherheitsschwachstellen und Software-Updates durchzuführen. Vuls wurde speziell dafür entwickelt, die Anwendungen, Computer, Middleware, Netzwerkgeräte und Programmiersprachenbibliotheken auf eine bekannte Schwachstelle zu überprüfen. Vuls sendet Ihnen eine Benachrichtigung, sobald die Server von einer Schwachstelle betroffen sind. Vuls kann auf allen wichtigen Betriebssystemen wie Linux, FreeBSD, SUSE, Ubuntu, Debian, CentOS, Oracle Linux und vielen anderen installiert werden. Vuls kann das entfernte System auch mit dem ssh-Protokoll scannen. Vuls verwendet drei Scan-Modi schnell, schnell Wurzel und tief, Sie können jeden nach Ihren Anforderungen auswählen.

In diesem Tutorial erklären wir, wie man den Vuls Vulnerability Scanner auf einem Ubuntu 18.04 Server installiert und konfiguriert.

Anforderungen

  • Ein Server mit Ubuntu 18.04.
  • Ein Root-Passwort wird auf Ihrem System konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihr System mit der neuesten Version aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

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

Sobald Ihr Server aktualisiert ist, starten Sie Ihren Server neu, um die Änderungen zu übernehmen.

Erforderliche Abhängigkeiten installieren

Vuls verwendet SQLite zum Speichern seiner Informationen über Schwachstellen. Sie müssen also SQLite und andere erforderliche Pakete auf Ihrem System installieren. Sie können sie alle mit dem folgenden Befehl installieren:

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

Nach der Installation müssen Sie die neueste Version von Go herunterladen und auf Ihrem System installieren.

Laden Sie zunächst die Go-Quelle mit dem folgenden Befehl herunter:

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

Nach dem Herunterladen entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl in das Verzeichnis /usr/local:

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

Als nächstes müssen Sie einige Umgebungsvariablen für Go einrichten. Sie können es durch Bearbeiten der Datei /etc/profile einrichten:

nano /etc/profile

Fügen Sie die folgenden Zeilen am Ende der Datei hinzu:

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

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Laden Sie dann die Umgebungsvariablen mit dem folgenden Befehl neu:

source /etc/profile

Erstellen Sie als nächstes eine Verzeichnisstruktur für Go mit dem folgenden Befehl:

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

Danach können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren des go-cve-Wörterbuchs

Das go-cve-Wörterbuch ist ein Werkzeug zum Erstellen einer lokalen Kopie der NVD (National Vulnerabilities Database). Mit dem Go-Paket können Sie auf die NVD (National Vulnerability Database) zugreifen. Dann müssen Sie das Programm ausführen und die Daten über die Schwachstellen abrufen, damit Vuls verwendet werden kann. Sie müssen also das go-cve-Wörterbuch herunterladen und auf Ihrem System installieren.

Ändern Sie zunächst das Verzeichnis in $GOPATH/src/github.com/kotakanbe und laden Sie die go-cve-Wörterbuchquelle aus dem Git-Repository mit dem folgenden Befehl herunter:

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

Sobald der Download abgeschlossen ist, installieren Sie ihn mit dem folgenden Befehl:

cd go-cve-dictionary
 make install

Der obige Befehl wird einige Zeit in Anspruch nehmen. Wenn die Installation erfolgreich abgeschlossen ist, müssen Sie die go-cve-dictionary-Binärdatei in das Verzeichnis /usr/local/bin kopieren. Sie können dies mit dem folgenden Befehl tun:

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

go-cve-dictionary benötigte auch ein Protokoll- und Datenverzeichnis, um ihr Protokoll und ihre Daten zu speichern. Sie müssen also ein Protokoll- und Datenverzeichnis erstellen. Sie können sie mit dem folgenden Befehl erstellen:

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

Als nächstes werden die Daten über die Schwachstellen von NVD abgerufen und mit dem folgenden Befehl in sqlite3 eingefügt:

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

Der obige Befehl lädt die NVD-Daten aus dem Jahr 2002 in das laufende Jahr herunter.

Danach können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von goval-dictionary

Das goval-Wörterbuch ist ein Werkzeug zur Erstellung einer lokalen Kopie des OVAL (Open Vulnerability and Assessment Language). Das Go-Paket bietet auch Zugriff auf die OVAL-Datenbank für Ubuntu, so dass Sie goval-dictionary herunterladen und auf Ihrem System installieren müssen.

Laden Sie zunächst die goval-dictionary-Quelle aus dem Git-Repository mit folgendem Befehl herunter:

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

Installieren Sie es dann mit dem folgenden Befehl:

cd goval-dictionary
 make install

Kopieren Sie sie dann mit dem folgenden Befehl in das Verzeichnis /usr/local/bin:

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

Holen Sie als nächstes die OVAL-Daten für Ubuntu 18.04 mit dem folgenden Befehl:

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

Danach können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Vuls

Als nächstes müssen Sie die Vuls-Quelle herunterladen und auf Ihrem System installieren. Sie können es mit dem folgenden Befehl aus dem Git-Repository herunterladen:

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

Als nächstes ändern Sie das Verzeichnis in vuls und installieren es mit dem folgenden Befehl:

cd vuls
 make install

Nach der Installation müssen Sie die vuls-Binärdatei in das Verzeichnis /usr/local/bin kopieren. Sie können dies mit dem folgenden Befehl tun:

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

Als nächstes müssen Sie eine vuls-Konfigurationsdatei im Verzeichnis /usr/share/vuls-data erstellen:

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

Fügen Sie die folgenden Zeilen hinzu:

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

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Testen Sie dann die Konfigurationsdatei mit dem folgenden Befehl:

vuls configtest

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe sehen:

[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 

Danach können Sie mit dem nächsten Schritt fortfahren.

Scannen Sie Ihr System mit Vuls

Vuls ist jetzt installiert und konfiguriert, um Ihr lokales System zu scannen. Um Ihr lokales System zu scannen, führen Sie den folgenden Befehl aus:

vuls scan

Sie sollten die folgende Ausgabe sehen:

[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 speichern ihre Schwachstellenberichte auch in der Log-Datei. Sie können es später mit dem folgenden Befehl sehen:

vuls tui

Sie sollten das folgende Bild sehen:

Vuls-Sicherheitsscanner

Sie können jetzt die Eingabetaste drücken und mit den Pfeilen der Tastatur navigieren.

Herzlichen Glückwunsch! Sie haben den Vuls-Schwachstellen-Scanner erfolgreich auf dem Ubuntu 18.04-Server installiert und konfiguriert. Sie können jetzt sowohl das lokale System als auch mehrere entfernte Systeme leicht scannen und für jedes System einen Bericht über Schwachstellen erstellen. Für weitere Informationen können Sie die offizielle Dokumentation von Vuls unter Vuls Doc. Wenn Sie Fragen haben, können Sie mich gerne fragen.

Das könnte Dich auch interessieren …