Installation von Greenbone Vulnerability Management (OffenVAS)

In diesem Beitrag schauen wir uns die Installation von GVM an (Greenbone Schwachstellen-Management) früher bekannt als OpenVAS (Offenes Schwachstellenbewertungssystem). Eine Lösung, die uns hilft, die Schwachstellen unserer Systeme zu kennen, und in einem zukünftigen Dokument werden wir es mit Centreon integrieren.

Was ich gesagt habe, Die Idee ist, eine Lösung einzusetzen, die alle Schwachstellen in unseren Systemen analysiert und nach ihnen sucht, die aktualisiert und mit Listen oder CVEs verglichen wird (Häufige Sicherheitsanfälligkeiten und Schwachstellen). Sobald die lange Installation, Wir können bereits ein einfaches Web-Management verwenden (oder auch CLI) Erstellen Sie Scan-Aufgaben und wir können auf die Berichte zugreifen, um die möglichen Sicherheitsprobleme zu analysieren, mit denen wir konfrontiert sind. Naja, In einem anderen Dokument werden wir sehen, was Sie sich vorstellen, die Möglichkeit, von Centreon aus zu zentralisieren, so dass wir die Schwachstellen unserer Maschinen kontrollieren können, Wenn also eine Maschine keine Vorschriften einhält, Wir werden es wissen.

Wir beginnen mit einem Ubuntu-Server-Rechner 20.10, Wir beginnen mit den notwendigen Abhängigkeiten für GVM-20.08 (OffenVAS 20.08):

sudo apt-get install build-essential cmake gnutls-bin pkg-config glib2.0 libgnutls28-dev libssh-dev libssl-dev redis-server libhiredis-dev libxml2-dev doxygen xsltproc libldap2-dev libgcrypt-dev libpcap-dev libgpgme-dev libradcli-dev graphviz bison libksba-dev libical-dev libpq-dev postgresql postgresql-server-dev-all libopenvas-dev heimdal-dev libpopt-dev xmltoman gcc-mingw-w64 nmap libmicrohttpd-dev npm nodejs virtualenv python3-paramiko python3-lxml python3-entschärftxml python3-pip python3-psutil

Instalamos Garn:

sudo npm install -g yarn --prefix /usr/

Creamos el perfil para el usuario de GVM:

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

Creamos el fichero /etc/ld.so.conf.d/gvm.conf con el siguiente contenido:

# gmv-libs Speicherort /opt/gvm/lib

Creamos el usuario GVM, Corregimos permisos y nos logueamos como él:

sudo mkdir /opt/gvm
sudo adduser gvm --disabled-password --home /opt/gvm/ --no-create-home --gecos ''
sudo usermod -aG redis gvm
sudo chown gvm:gvm /opt/gvm/ sudo su - GVM

Creamos el directorio src y establecemos la variable con el path correcto:

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

Descargamos y compilamos las librerías de GVM:

git clone -b gvm-libs-20.08 --single-branch https://github.com/greenbone/gvm-libs.git cd gvm-libs/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install cd /opt/gvm/src/

Descargamos y compilamos el paquete de samba para OpenVAS:

git clone -b master --single-branch https://github.com/greenbone/openvas-smb.git cd openvas-smb/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make install cd /opt/gvm/src/

Descargamos y compilamos OpenVAS Scanner:

git clone -b openvas-20.08 --single-branch https://github.com/greenbone/openvas.git cd openvas/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install beenden

Configuramos Redis:

sudo su export LC_ALL="C"
ldconfig cp /etc/redis/redis.conf /etc/redis/redis.orig cp /opt/gvm/src/openvas/config/redis-openvas.conf /etc/redis/ chown redis:redis: /etc/redis/redis-openvas.conf echo "db_address = /run/redis-openvas/redis.sock" > /opt/gvm/etc/openvas/openvas.conf systemctl aktivieren D**********@op*****.serviUnserer Zeitrechnung
systemctl start D**********@op*****.serviUnserer Zeitrechnung

Establecemos los permisos para GVM. ejecutando 'visudo’ y añadimos lo siguiente para darle permisos de sudoers:

Standardwerte env_reset Standardwerte mail_badpass Standardwerte secure_path="/usr/lokal/sbin:/usr/lokal/bin:/usr/sbin:/usr/bin:/sbin:/Kasten:/Einrasten/Binden:/opt/gvm/sbin"
...
# Erlauben Sie Mitgliedern der Gruppe sudo, jeden Befehl auszuführen %sudo ALL=(ALLE:ALLE) ALLE

### Erlauben Sie dem gvm-Benutzer, ospd-openvas auszuführen und OpenVAS mit Root-Rechten zu starten: gvm ALL = NOPASSWD: /opt/gvm/sbin/openvas gvm ALLE = NOPASSWD: /opt/gvm/sbin/gsad
...

Ahora que ya tenemos los permsiso correctos, vamos a actualizar los tests de vulnerabilidades NVT (Tests von Netzwerk-Schwachstellen) desde el feed de la comunidad de Greenbone, Seien Sie sich bewusst, dass dieser Vorgang lange dauern wird:

Beenden Sie sudo su - gvm greenbone-nvt-sync

Wir laden den Greenbone Vulnerability Manager herunter und erstellen ihn (GVM):

cd /opt/gvm/src/ git clone -b gvmd-20.08 --single-branch https://github.com/greenbone/gvmd.git cd gvmd/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install beenden

Wir richten die PostgreSQL-Datenbank ein, Wir erstellen den Benutzer und die Datenbank:

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

Wir fixieren die Berechtigungen und erstellen die DB-Erweiterungen:

psql gvmd create role dba with superuser noinherit;
DBA an GVM erteilen;
Erweiterung erstellen "uuid-ossp";
Erweiterung erstellen "PGCRYPTO (Englisch)";
Ausgang
Ausgang

Wir generieren die Zertifikate für GVM:

sudo su - gvm gvm-manage-certs -a

Wir erstellen das "admin"-Konto’ administrativ für GVM, Verwenden Sie keine Sonderzeichen im Passwort:

/opt/gvm/sbin/gvmd --create-user=admin --password=PASSWORT

Sacamos y anotamos el UUID de la cuenta que acabamos de crear:

gvmd --get-users --verbose

Utilizando el UUID del usuario admin modificamos la configuración de gvmd:

gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Actualizamos la sincronización de los feeds de Greenbone, Ojo que esto tardará:

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

Descargamos y compilamos Greenbone Security Assistant (GSA):

cd src/ git clone -b gsa-20.08 --single-branch https://github.com/greenbone/gsa.git cd gsa/ export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH mkdir build cd build/ cmake -DCMAKE_INSTALL_PREFIX=/opt/gvm ..
make make doc make install touch /opt/gvm/var/log/gvm/gsad.log

Configuramos el entorno virtual de python:

Beenden Sie python3 --version sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.7 python3.7-dev -y

Instalamos el entorno virtual:

sudo su - gvm cd /opt/gvm/src export PKG_CONFIG_PATH=/opt/gvm/lib/pkgconfig:$PKG_CONFIG_PATH virtualenv --python python3.7 /opt/gvm/bin/ospd-scanner/ source /opt/gvm/bin/ospd-scanner/bin/activate

Descargamos e instalamos ospd:

git clone -b ospd-20.08 --single-branch https://github.com/greenbone/ospd.git mkdir /opt/gvm/var/run/ospd/ cd ospd/ pip3 installieren .
cd /opt/gvm/src

Descargamos e instalamos ospd-openvas:

git clone -b ospd-openvas-20.08 --single-branch https://github.com/greenbone/ospd-openvas.git CD ospd-openvas/ pip3 installieren .

Lo siguiente será hacer que inicie Greenbone Manager con la máquina, Mediante un servicio:

Beenden Sie sudo su nano /etc/systemd/system/gvmd.service

E introducimos la siguiente configuración:

[Einheit]
Beschreibung=Open Vulnerability Assessment System Manager Daemon Dokumentation=man:gvmd(8) https://www.greenbone.net Wants=postgresql.service ospd-openvas.service Nachher=postgresql.service ospd-openvas.service

[Dienst]
Typ=forken Benutzer=gvm Gruppe=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=gemischt Restart=bei Ausfall RestartSec=2min KillMode=process KillSignal=SIGINT GuessMainPID=kein PrivateTmp=true

[Installieren]
WantedBy=multi-user.target

Creamos ahora el servicio para iniciar Greenbone Security Assistant (GSA) mit:

nano /etc/systemd/system/gsad.service

Y pegamos esta configuración al fichero:

[Einheit]
Beschreibung=Greenbone Sicherheitsassistent (GSAD)
Dokumentation=man:GSAD(8) https://www.greenbone.net Nachher=network.target will=gvmd.service

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

[Installieren]
WantedBy=multi-user.target

Creamos en esta ocasión el servicio que levantará ospd-openvas con:

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

Y lo mismo, pegamos la siguiente configuración:

[Einheit]
Beschreibung=Job, der den ospd-openvas-Daemon ausführt Documentation=man:gvm Nach=Netzwerk.Ziel D**********@op*****.serviUnserer Zeitrechnung
Will=D**********@op*****.serviUnserer Zeitrechnung

[Dienst]
Umgebung=PFAD=/opt/gvm/bin/ospd-scanner/bin:/opt/gvm/bin:/opt/gvm/sbin:/opt/gvm/.local/bin:/usr/lokal/sbin:/usr/lokal/bin:/usr/sbin:/usr/bin:/sbin:/bin-Typ=forken Benutzer=gvm Gruppe=gvm Arbeitsverzeichnis=/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=kein PrivateTmp=true

[Installieren]
WantedBy=multi-user.target

Una vez generados los 3 Servicios para levantar los demonios, Recargamos, Habilitamos los servicios para que arranquen con el sistema y los levantamos:

systemctl daemon-reload systemctl gvmd aktivieren systemctl gsad aktivieren systemctl enable ospd-openvas systemctl start gvmd systemctl start gsad systemctl start ospd-openvas

Wir überprüfen, ob die Dienste verfügbar sind und wir gut abschneiden:

Systemctl status gvmd systemctl status gsad systemctl status ospd-openvas

Wir werden in der Lage sein, die Adresse unseres Greenbone Security Assistant mit einem Browser zu öffnen: https://DIRECCIÓN_IP mit dem zuvor generierten Benutzer. Das werden wir in “Verwaltung” > “Status des Feeds”, Wille “Aktualisierung läuft…”, Dieser Prozess wird eine ganze Weile dauern, Wir müssen warten, bis die Aktualisierung abgeschlossen ist.

Nicht schlecht, Bevor Sie mithilfe von Aufgaben scannen können, Wir müssen den Standard-OpenVAS-Scanner ändern, Wir melden uns über die Shell als gvm-Benutzer an:

sudo su - GVM

Wir listen die aktuelle UUID auf und kopieren sie aus den OpenVAS-Standardscans:

cd /opt/gvm/src/ gvmd --get-scanners gvmd --modify-scanner=08b69003-5fc2-4037-a479-93b440211c73 --scanner-host=/opt/gvm/var/run/ospd.sock

Okay und endlich, Wenn wir möchten, dass es nach einem Zeitplan aktualisiert wird, erstellen wir die folgende Datei:

nano /opt/gvm/bin/openvas-update

Wir haben die folgenden Inhalte veröffentlicht:

/opt/gvm/bin/greenbone-nvt-sync /opt/gvm/sbin/greenbone-feed-sync --type GVMD_DATA /opt/gvm/sbin/greenbone-feed-sync --type SCAP /opt/gvm/sbin/greenbone-feed-sync --type CERT

Lo hacemos ejecutable:

Chmod A+X /opt/gvm/bin/openvas-update

Und wir haben es auf cron gelegt:

crontab -e

Und wir lassen es programmiert, zum Beispiel täglich um 0 Uhr morgens:

0 0 * * * /opt/gvm/bin/openvas-update

Wir hoffen, dass Sie interessiert sind, Nach dieser Installation wird das, was übrig bleibt, gesaugt, Definieren Sie die Ziele bzw. Ziele der Prüfungen, Erstellen geplanter Aufgaben zum Durchführen von Schwachstellen-Scans… Und was ich gesagt habe, In zukünftigen Beiträgen werden wir sehen, wie man es mit Centreon integrieren kann.

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!