GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und verwenden Sie GVM Vulnerability Scanner unter Ubuntu 20.04

GVM, auch "Greenbone Vulnerability Management" genannt, ist eine Open-Source-Software zum Scannen und Verwalten von Schwachstellen, die eine Reihe von Netzwerk-Schwachstellentests bereitstellt, um Sicherheitslücken in Systemen und Anwendungen zu finden. Dies ist eine All-in-One-Suite von Tools, die von vielen Sicherheitsexperten und normalen Benutzern auf der ganzen Welt verwendet werden.

In diesem Tutorial zeigen wir Ihnen, wie Sie GVM auf einem Ubuntu 20.04-Server installieren und konfigurieren.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Ein Root-Passwort wird auf dem Server konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald Ihr Server aktualisiert ist, können Sie mit dem nächsten Schritt fortfahren.

Erforderliche Abhängigkeiten installieren

Bevor Sie beginnen, müssen Sie alle erforderlichen Abhängigkeiten in Ihrem System installieren. Sie können sie installieren, indem Sie den folgenden Befehl ausführen:

apt-get install software-properties-common build-essential cmake pkg-config libglib2.0-dev libgpgme-dev libgnutls28-dev uuid-dev libssh-gcrypt-dev libldap2-dev doxygen graphviz libradcli-dev libhiredis-dev libpcap-dev bison libksba-dev libsnmp-dev gcc-mingw-w64 heimdal-dev libpopt-dev xmltoman redis-server xsltproc libical-dev gnutls-bin nmap rpm nsis curl wget fakeroot gnupg sshpass socat snmp smbclient libmicrohttpd-dev libxml2-dev python3-polib gettext rsync xml-twig-tools python3-paramiko python3-lxml python3-defusedxml python3-pip python3-psutil python3-impacket virtualenv vim git texlive-latex-extra texlive-fonts-recommended -y

Sobald alle Abhängigkeiten installiert sind, fügen Sie das Yarn-Repository zu Ihrem System hinzu:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

Aktualisieren Sie als Nächstes das Repository und installieren Sie das Yarn-Paket mit dem folgenden Befehl:

apt-get update -y
apt-get install yarn -y

Aktualisieren Sie Yarn als Nächstes mit dem folgenden Befehl auf die neueste Version:

yarn install
yarn upgrade

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

PostgreSQL installieren und konfigurieren

GVM verwendet PostgreSQL als Datenbank-Backend, daher müssen Sie den PostgreSQL-Server auf Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

apt-get install postgresql postgresql-contrib postgresql-server-dev-all -y

Melden Sie sich nach Abschluss der Installation bei PostgreSQL an und erstellen Sie einen Benutzer und eine Datenbank für GVM:

sudo -u postgres bash
export LC_ALL="C"
createuser -DRS gvm
createdb -O gvm gvmd

Stellen Sie als Nächstes eine Verbindung zur Datenbank her und erstellen Sie dann eine Rolle und Erweiterungen mit dem folgenden Befehl:

psql gvmd
create role dba with superuser noinherit;
grant dba to gvm;
create extension "uuid-ossp";
create extension "pgcrypto";

Als nächstes verlassen Sie PostgreSQL mit dem folgenden Befehl:

exit
exit

GVM herunterladen

Erstellen Sie zunächst mit dem folgenden Befehl ein separates Verzeichnis und einen separaten Benutzer für GVM:

mkdir /opt/gvm
adduser gvm --disabled-password --home /opt/gvm/ --no-create-home --gecos ''

Fügen Sie als Nächstes einen Redis-Benutzer zu GVM hinzu und legen Sie die entsprechende Berechtigung mit dem folgenden Befehl fest:

usermod -aG redis gvm
chown gvm:gvm /opt/gvm/

Erstellen Sie als Nächstes mit dem folgenden Befehl eine Pfadvariable für GVM:

echo 'export PATH="$PATH:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin"' | tee -a /etc/profile.d/gvm.sh
chmod 0755 /etc/profile.d/gvm.sh
source /etc/profile.d/gvm.sh

Definieren Sie als Nächstes den GVM-Bibliothekspfad mit dem folgenden Befehl:

nano /etc/ld.so.conf.d/gvm.conf

Fügen Sie die folgende Zeile hinzu:

/opt/gvm/lib

Melden Sie sich als Nächstes beim GVM-Benutzer an und erstellen Sie ein Verzeichnis für alle Komponenten:

su - gvm
mkdir src

Laden Sie als Nächstes alle erforderlichen Komponenten im src-Verzeichnis mit dem folgenden Befehl herunter:

cd src
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
git clone -b gvm-libs-20.08 --single-branch https://github.com/greenbone/gvm-libs.git
git clone -b openvas-20.08 --single-branch https://github.com/greenbone/openvas.git
git clone -b gvmd-20.08 --single-branch https://github.com/greenbone/gvmd.git
git clone -b master --single-branch https://github.com/greenbone/openvas-smb.git
git clone -b gsa-20.08 --single-branch https://github.com/greenbone/gsa.git
git clone -b ospd-openvas-20.08 --single-branch https://github.com/greenbone/ospd-openvas.git
git clone -b ospd-20.08 --single-branch https://github.com/greenbone/ospd.git

gvm-libs installieren

Als nächstes ändern Sie das Verzeichnis in gvm-libs, exportieren den Konfigurationspfad und erstellen ein Build-Verzeichnis mit dem folgenden Befehl:

cd gvm-libs
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Als nächstes wechseln Sie das Verzeichnis zum Erstellen und Kompilieren der gvm-libs mit dem folgenden Befehl:

cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Installieren Sie openvas-smb

Als nächstes ändern Sie das Verzeichnis in openvas-smb, exportieren den Konfigurationspfad und erstellen ein Build-Verzeichnis mit dem folgenden Befehl:

cd /opt/gvm/src
cd openvas-smb
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Als nächstes ändern Sie das Verzeichnis, um openvas-smb mit dem folgenden Befehl zu erstellen und zu kompilieren:

cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make install

Installieren Sie OpenVAS Scanner

Als nächstes ändern Sie das Verzeichnis in openvas, exportieren den Konfigurationspfad und erstellen ein Build-Verzeichnis mit dem folgenden Befehl:

cd /opt/gvm/src
cd openvas
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Als nächstes ändern Sie das Verzeichnis, um den OpenVAS-Scanner mit dem folgenden Befehl zu erstellen und zu installieren:

cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Als nächstes verlassen Sie den gvm-Benutzer mit dem folgenden Befehl:

exit

Erstellen Sie als Nächstes den Cache für die installierten gemeinsam genutzten Bibliotheken mit dem folgenden Befehl:

export LC_ALL="C"
ldconfig

Kopieren Sie als Nächstes die Redis-Konfigurationsdatei des OpenVAS-Scanners mit dem folgenden Befehl:

cp /etc/redis/redis.conf /etc/redis/redis.orig
cp /opt/gvm/src/openvas/config/redis-openvas.conf /etc/redis/

Legen Sie als Nächstes den richtigen Besitz mit dem folgenden Befehl fest:

chown redis:redis /etc/redis/redis-openvas.conf

Aktualisieren Sie als Nächstes den Pfad zum Redis-Unix-Socket mit dem folgenden Befehl:

echo "db_address = /run/redis-openvas/redis.sock" > /opt/gvm/etc/openvas/openvas.conf

Als nächstes aktivieren und starten Sie den Redis-Dienst mit dem folgenden Befehl:

systemctl enable [email protected]
systemctl start [email protected]

Als nächstes müssen Sie die Datei sysctl.conf optimieren. Sie können dies mit dem folgenden Befehl tun:

sysctl -w net.core.somaxconn=1024 
sysctl vm.overcommit_memory=1
echo "net.core.somaxconn=1024" >> /etc/sysctl.conf
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf

Als nächstes laden Sie die sysctl mit dem folgenden Befehl neu:

sysctl -p

Systemd-Dienstdatei erstellen

Erstellen Sie zunächst eine systemd-Dienstdatei für Transparent Huge Pages (THP) mit dem folgenden Befehl:

nano /etc/systemd/system/disable-thp.service

Fügen Sie die folgenden Zeilen hinzu:

Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Dienst mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes den Dienst disable-thp und aktivieren Sie ihn so, dass er beim Systemneustart gestartet wird:

systemctl start disable-thp 
systemctl enable disable-thp

Starten Sie als Nächstes den Redis-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart redis-server

Als nächstes müssen Sie dem gvm-Benutzer erlauben, alle Systembefehle mit sudo auszuführen, ohne ein Passwort anzugeben. Sie können dies mit dem folgenden Befehl tun:

sed 's/Defaults\s.*secure_path=\"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin:\/snap\/bin\"/Defaults secure_path=\"\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin:\/snap\/bin:\/opt\/gvm\/sbin\"/g' /etc/sudoers | EDITOR='tee' visudo
echo "gvm ALL = NOPASSWD: /opt/gvm/sbin/openvas" > /etc/sudoers.d/gvm
echo "gvm ALL = NOPASSWD: /opt/gvm/sbin/gsad" >> /etc/sudoers.d/gvm

NVTs aktualisieren

Als Nächstes müssen Sie den Feed für Netzwerk-Schwachstellentests aus dem Greenbone Security Feed/Community Feed aktualisieren.

Melden Sie sich zuerst mit dem folgenden Befehl beim gvm-Benutzer an:

su - gvm

Aktualisieren Sie als Nächstes den Feed mit dem folgenden Befehl:

greenbone-nvt-sync

Sobald das Update abgeschlossen ist, aktualisieren Sie den Redis-Server mit denselben VT-Informationen aus den VT-Dateien:

sudo openvas --update-vt-info

Installieren Sie Greenbone Vulnerability Manager

Ändern Sie zunächst das Verzeichnis in gvmd, exportieren Sie den Konfigurationspfad und erstellen Sie mit dem folgenden Befehl ein Build-Verzeichnis:

cd /opt/gvm/src/gvmd 
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Als nächstes ändern Sie das Verzeichnis, um gvmd mit dem folgenden Befehl zu erstellen und zu installieren:

cd build/ 
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Als nächstes reparieren Sie das Zertifikat mit dem folgenden Befehl:

gvm-manage-certs -a

Sie sollten die folgende Ausgabe erhalten:

Generated private key in /tmp/tmp.gW57p1UV0s/cakey.pem.
Generated self signed certificate in /tmp/tmp.gW57p1UV0s/cacert.pem.
Installed private key to /opt/gvm/var/lib/gvm/private/CA/cakey.pem.
Installed certificate to /opt/gvm/var/lib/gvm/CA/cacert.pem.
Generated private key in /tmp/tmp.gW57p1UV0s/serverkey.pem.
Generated certificate request in /tmp/tmp.gW57p1UV0s/serverrequest.pem.
Signed certificate request in /tmp/tmp.gW57p1UV0s/serverrequest.pem with CA certificate in /opt/gvm/var/lib/gvm/CA/cacert.pem to generate certificate in /tmp/tmp.gW57p1UV0s/servercert.pem
Installed private key to /opt/gvm/var/lib/gvm/private/CA/serverkey.pem.
Installed certificate to /opt/gvm/var/lib/gvm/CA/servercert.pem.
Generated private key in /tmp/tmp.gW57p1UV0s/clientkey.pem.
Generated certificate request in /tmp/tmp.gW57p1UV0s/clientrequest.pem.
Signed certificate request in /tmp/tmp.gW57p1UV0s/clientrequest.pem with CA certificate in /opt/gvm/var/lib/gvm/CA/cacert.pem to generate certificate in /tmp/tmp.gW57p1UV0s/clientcert.pem
Installed private key to /opt/gvm/var/lib/gvm/private/CA/clientkey.pem.
Installed certificate to /opt/gvm/var/lib/gvm/CA/clientcert.pem.
Removing temporary directory /tmp/tmp.gW57p1UV0s.

Feeds konfigurieren und aktualisieren (GVM)

Erstellen Sie zunächst einen Admin-Benutzer für den Zugriff auf die GVM-Weboberfläche:

gvmd --create-user=admin --password=admin

Suchen Sie als Nächstes die UUID eines Admin-Benutzers mit dem folgenden Befehl:

gvmd --get-users --verbose

Sie sollten die folgende Ausgabe erhalten:

admin 1288cbcf-23a0-407f-8013-b7a57acc5795

Ändern Sie als Nächstes die gvmd-Einstellungen mit der Benutzer-UUID:

gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value 1288cbcf-23a0-407f-8013-b7a57acc5795

Als nächstes synchronisieren Sie alle Greenbone-Feeds mit dem folgenden Befehl:

greenbone-feed-sync --type GVMD_DATA
greenbone-feed-sync --type SCAP
greenbone-feed-sync --type CERT

gsa installieren

Ändern Sie zunächst das Verzeichnis in gsa, exportieren Sie den Konfigurationspfad und erstellen Sie mit dem folgenden Befehl ein Build-Verzeichnis:

cd /opt/gvm/src/gsa 
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH
mkdir build

Wechseln Sie als Nächstes mit dem folgenden Befehl in das Verzeichnis zum Erstellen und Installieren des gsa:

cd build/ 
cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make
make doc
make install

Erstellen Sie als Nächstes mit dem folgenden Befehl eine Protokolldatei für gsa:

touch /opt/gvm/var/log/gvm/gsad.log

OSPD-OpenVAS konfigurieren

Ändern Sie zunächst das Verzeichnis in src und exportieren Sie den Konfigurationspfad mit dem folgenden Befehl:

cd /opt/gvm/src 
export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH

Erstellen Sie als Nächstes die virtuelle Python-Umgebung mit dem folgenden Befehl:

virtualenv --python python3.8 /opt/gvm/bin/ospd-scanner/

Als nächstes aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:

source /opt/gvm/bin/ospd-scanner/bin/activate

Als nächstes erstellen Sie ein Verzeichnis für ospd mit dem folgenden Befehl:

mkdir /opt/gvm/var/run/ospd/

Wechseln Sie als Nächstes in das Verzeichnis ospd und installieren Sie ospd mit pip:

cd ospd 
pip3 install .

Wechseln Sie als Nächstes in das Verzeichnis ospd-openvas und installieren Sie ospd-openvas mit dem pip-Befehl:

cd /opt/gvm/src/ospd-openvas
pip3 install .

Als nächstes verlassen Sie den gvm-Benutzer mit dem folgenden Befehl:

exit

Erstellen Sie eine Systemd-Dienstdatei für GVM, GSAD und OpenVAS

Erstellen Sie zunächst eine systemd-Dienstdatei für gvmd mit dem folgenden Befehl:

nano /etc/systemd/system/gvmd.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=Open Vulnerability Assessment System Manager Daemon
Documentation=man:gvmd(8) https://www.greenbone.net
Wants=postgresql.service ospd-openvas.service
After=postgresql.service ospd-openvas.service

[Service]
Type=forking
User=gvm
Group=gvm
PIDFile=/opt/gvm/var/run/gvmd.pid
WorkingDirectory=/opt/gvm
ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/opt/gvm/var/run/ospd.sock
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei und erstellen Sie dann eine systemd-Dienstdatei für gsad mit dem folgenden Befehl:

nano /etc/systemd/system/gsad.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=Greenbone Security Assistant (gsad)
Documentation=man:gsad(8) https://www.greenbone.net
After=network.target
Wants=gvmd.service


[Service]
Type=forking
PIDFile=/opt/gvm/var/run/gsad.pid
WorkingDirectory=/opt/gvm
ExecStart=/opt/gvm/sbin/gsad --drop-privileges=gvm
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei und erstellen Sie dann mit dem folgenden Befehl eine systemd-Dienstdatei für openvas:

nano /etc/systemd/system/ospd-openvas.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=Job that runs the ospd-openvas daemon
Documentation=man:gvm
After=network.target [email protected]
[email protected]

[Service]
Environment=PATH=/opt/gvm/bin/ospd-scanner/bin:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Type=forking
User=gvm
Group=gvm
WorkingDirectory=/opt/gvm
PIDFile=/opt/gvm/var/run/ospd-openvas.pid
ExecStart=/opt/gvm/bin/ospd-scanner/bin/python /opt/gvm/bin/ospd-scanner/bin/ospd-openvas --pid-file /opt/gvm/var/run/ospd-openvas.pid --unix-socket=/opt/gvm/var/run/ospd.sock --log-file /opt/gvm/var/log/gvm/ospd-scanner.log --lock-file-dir /opt/gvm/var/run/ospd/
Restart=on-failure
RestartSec=2min
KillMode=process
KillSignal=SIGINT
GuessMainPID=no
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes alle Dienste und ermöglichen Sie ihnen, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl enable gvmd
systemctl enable gsad
systemctl enable ospd-openvas
systemctl start gvmd
systemctl start gsad
systemctl start ospd-openvas

Sie können den Status aller Dienste auch mit dem folgenden Befehl überprüfen:

systemctl status gvmd
systemctl status gsad
systemctl status ospd-openvas

Standardscanner ändern

Melden Sie sich zuerst mit dem folgenden Befehl beim gvm-Benutzer an:

sudo su - gvm

Rufen Sie als Nächstes die UUID des Scanners mit dem folgenden Befehl ab:

gvmd --get-scanners

Sie sollten den folgenden Befehl erhalten:

08b69003-5fc2-4037-a479-93b440211c73  OpenVAS  /var/run/ospd/ospd.sock  0  OpenVAS Default
6acd0832-df90-11e4-b9d5-28d24461215b  CVE    0  CVE

Ändern Sie nun den Standardscanner mit der obigen UUID:

gvmd --modify-scanner=08b69003-5fc2-4037-a479-93b440211c73 --scanner-host=/var/run/ospd/ospd.sock

Zugriff auf die GVM-Weboberfläche

An diesem Punkt ist GVM installiert und überwacht die Ports 80 und 443. Sie können über die URL https://your-server-ip darauf zugreifen . Sie werden wie unten gezeigt zur GVM-Anmeldeseite weitergeleitet:

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten das GVM-Dashboard auf der folgenden Seite sehen:

Schlussfolgerung

Herzliche Glückwünsche! Sie haben GVM erfolgreich auf dem Ubuntu 20.04-Server installiert und eingerichtet. Sie können jetzt den GVM erkunden und Ihr System auf Schwachstellen scannen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Ubuntu
  1. So installieren und verwenden Sie Wine unter Ubuntu 20.04

  2. So installieren und verwenden Sie FFmpeg unter Ubuntu 18.04

  3. So installieren und verwenden Sie MongoDB unter Ubuntu 20.04

  4. So installieren und verwenden Sie Elasticsearch unter Ubuntu 20.04

  5. So installieren und verwenden Sie PowerShell unter Ubuntu 20.04

So installieren und verwenden Sie iTunes unter Ubuntu 20.04

So installieren und verwenden Sie R unter Ubuntu

So installieren und verwenden Sie vnStat unter Ubuntu 21.04

So installieren und verwenden Sie Nmap unter Ubuntu

So installieren und verwenden Sie Kontact in Ubuntu

So installieren und verwenden Sie Git unter Ubuntu 18.04