OpenVAS 9 - Installation des Schwachstellen-Management via Source, PPA oder Script unter Ubuntu 16.04

Wer nicht gerade BackBox Linux einsetzt oder andere Distributionen mit integriertem OpenVAS, der muss eine Installation eventuell von Hand vornehmen.
Darum habe ich die alte Installationsanleitung aktualisiert (siehe unten) und auf die neue Version 9 angepasst. Zusätzlich sind weitere Installationsmöglichkeiten hinzugekommen.

Die augenscheinlichste Neuerung von OpenVAS 9 ist die neue Oberfläche, an der fast 2 Jahre entwickelt wurde. (Changelog)
Als Basissystem dient Ubuntu 16.04 LTS

openvas9

Installation OpenVAS 9 via Source

Abhängigkeiten installieren

sudo apt-get install -y build-essential devscripts dpatch curl libassuan-dev libglib2.0-dev libgpgme11-dev libpcre3-dev libpth-dev libwrap0-dev libgmp-dev libgmp3-dev libgpgme11-dev libpcre3-dev libpth-dev quilt cmake pkg-config libssh-dev libglib2.0-dev libpcap-dev libgpgme11-dev uuid-dev bison libksba-dev doxygen libsql-translator-perl xmltoman sqlite3 libsqlite3-dev wamerican redis-server libhiredis-dev libsnmp-dev libmicrohttpd-dev libxml2-dev libxslt1-dev xsltproc libssh2-1-dev libldap2-dev autoconf nmap libgnutls28-dev gnutls-bin libpopt-dev heimdal-dev heimdal-multidev libpopt-dev texlive-full rpm alien nsis rsync python2.7 python-setuptools checkinstall

 

OpenVAS 9 Pakete herunterladen und entpacken

wget http://wald.intevation.org/frs/download.php/2420/openvas-libraries-9.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/2423/openvas-scanner-5.1.1.tar.gz
wget http://wald.intevation.org/frs/download.php/2426/openvas-manager-7.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2429/greenbone-security-assistant-7.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2397/openvas-cli-1.4.5.tar.gz
wget http://wald.intevation.org/frs/download.php/2377/openvas-smb-1.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/2401/ospd-1.2.0.tar.gz
wget http://wald.intevation.org/frs/download.php/2405/ospd-debsecan-1.2b1.tar.gz

 

sudo tar zxvf openvas-*
sudo tar zxvf greenbone*
sudo tar zxvf ospd*

Redis Server konfigurieren

cp /etc/redis/redis.conf /etc/redis/redis.orig
sudo sh -c 'echo "unixsocket /tmp/redis.sock" >> /etc/redis/redis.conf'


OpenVAS Libraries installieren

cd openvas-libraries-9.0.1
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install


OpenVAS Manager installieren

cd openvas-manager-7.0.2
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install


OpenVAS Scanner installieren

cd openvas-scanner-5.1.1
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install

OpenVAS CLI und SMB installieren

cd openvas-cli-1.4.5
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install
cd openvas-smb-1.0.2
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install

Greenbone Security Assistant (GSA) Oberfläche installieren

cd greenbone-security-assistant-7.0.2
sudo mkdir source
cd source
sudo cmake ..
sudo make
sudo make install

Solltet ihr den default Port 4000 der GSA Oberfläche anpassen wollen, ist dies unter (/etc/default/openvas-gsa) möglich.

Ob ihr die Zusatzpakete via Open Scanner Protocol installiert, bleibt euch überlassen. Nun folgen die Schritte der Erstkonfiguration.

Greenbone-Security-Assistant

 

Zertifikate einrichten

Anstatt openvas-mkcert kommt bei OpenVAS 9 ein neuer Befehl zum Einsatz. Mit dem Schalter -a werden alle benötigten Zertifikate installiert.

sudo openvas-manage-certs -a


OpenVAS Benutzer anlegen

openvasmd --create-user=admin --role=Admin
openvasmd --user=admin --new-password=NewPW


Update der NVT und Cert Datenbank

Die alten Befehle haben sich hier ebenfalls geändert.

greenbone-nvt-sync
greenbone-scapdata-sync
greenbone-certdata-sync

Troubleshooting

OpenVAS neu aufbauen

openvasmd --rebuild --progress

OpenVAS Installation prüfen

wget https://svn.wald.intevation.org/svn/openvas/trunk/tools/openvas-check-setup --no-check-certificate
sudo chmod +x openvas-check-setup
sudo ./openvas-check-setup --v9

System starten

sudo /usr/local/sbin/gsad start
sudo /usr/local/sbin/openvassd
sudo /usr/local/sbin/openvasmd



OpenVAS 9 via Script installieren

Auf Github befindet sich ein Script, welches viele der oben erwähnten Aufgaben für OpenVAS 8 und 9 automatisiert.

sudo wget https://raw.githubusercontent.com/leonov-av/openvas-commander/master/openvas_commander.sh
sudo chmod +x openvas_commander.sh

Folgende Befehle bescheren euch eine vollständige Installation ohne viel Handarbeit

./openvas_commander.sh  --install-dependencies

./openvas_commander.sh  --show-releases
OpenVAS-8
OpenVAS-9

./openvas_commander.sh --download-sources "OpenVAS-9" 
./openvas_commander.sh --create-folders
./openvas_commander.sh --install-all
./openvas_commander.sh --configure-all
./openvas_commander.sh --update-content
./openvas_commander.sh --rebuild-content
./openvas_commander.sh --start-all


OpenVAS 9 via PPA installieren

Falls doch lieber ein Repository zur Installation verwendet werden soll, bietet sich das PPA von mrazavi an.

sudo add-apt-repository ppa:mrazavi/openvas
sudo apt-get update
sudo apt-get install openvas9

openvas9-scan

Mit einer erfolgreichen Installation des Open Vulnerability Assessment Systems sollte einem ersten Schwachstellen-Management eigentlich Nichts mehr im Weg stehen.



Folgende Links könnten dich auch interessieren

Update Security Distributionen – Kali Linux mit OpenVAS 9 und Parrot Security 3.6

Ubuntu - OpenVAS 8.0 installieren, konfigurieren und ein Netzwerk scannen

ssh_scan – Sicherheits- und Konfigurationsscanner für SSH Einstellungen

ssh_scan – Sicherheits- und Konfigurationsscanner für SSH Einstellungen

Mit SSH Audit hatte ich bereits vor einiger Zeit ein Tool im Programm, welches SSH auf Einstellungen und Konfiguration testet (Artikel).

Mozilla hat mit ssh_scan ein ähnliches Tool im Portfolio. Das Tool bezieht sich auf die eigenen SSH Guidelines und prüft hinterlegte Ciphers, MACs, und Kex Algorithmen.

Laut eigener Aussage zählt zu den Vorteilen des Tools die einfache Installation ohne allzu viele Abhängigkeiten. Das Programm ist portabel, lässt sich mit eigenen Regeln konfigurieren und wirft am Ende einen Report im JSON Format aus.

Zunächst muss ssh_scan aber erst einmal den Weg auf die Festplatte finden.

Installation unter Ubuntu 16.04 LTS

Für die Installation steht neben einem ssh_scan gem Paket auch ein Docker Container zur Verfügung.

sudo apt-get install ruby gem
sudo gem install ssh_scan

oder via Docker

docker pull mozilla/ssh_scan
docker run -it mozilla/ssh_scan /app/bin/ssh_scan -t example.com

oder froM Source

git clone https://github.com/mozilla/ssh_scan.git
cd ssh_scan

gem install bundler
bundle install

./bin/ssh_scan

SSH Scan im Einsatz

Die SSH-Prüf-Anwendung ist denkbar einfach zu bedienen, es lassen sich einzelne Host scannen, ganze Ranges oder weitere Parameter angeben.

Eine IP scannen

ssh_scan -t ip-addresse

Mehrere IPs scannen

ssh_scan -t ip-addresse1,ip-addresse2,ip-addresse3

ssh_scan

Adressen aus einer Datei scannen

ssh_scan -f ip-addressen.txt

IP Adressen mit bestimmten Port scannen

ssh_scan -t ip-addresse -p 666

Eigene Policy verwenden

ssh_scan -P intermediate -t ip-addresse

In den Standardeinstellungen wird die Mozilla Modern Policy als Prüfvorlage verwendet. Es lässt sich aber mit der oben erwähnten Option P auch auf Intermediate oder andere Richtlinien prüfen.

Hier als Beispiel die Intermediate Richtlinie:

cat intermediate

# Host keys the client accepts - order here is honored by OpenSSH
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256

Alle SSH_scan Befehle lassen sich über die Hilfe einsehen

ssh_scan -h

 

Fazit

Mozilla bietet mit ssh_scan eine praktische Methode um SSH Einstellungen zu prüfen und zu härten. Dank eigener Policies und vieler weiterer Optionen, wie Reports würde ich das Tool vorziehen, alleine weil das eingangs erwähnte SSH-Audit seit 2016 nicht mehr aktualisiert wurde.

Allerdings empfinde ich die Masse an Paketen, welche mit ruby gem auf dem System landen nicht unerheblich, da ist ein einfaches Python Script schon handlicher. 
Zusätzlich setzt ssh_scan wohl weiterhin auf NIST Kurven wie ecdh-sha2-nistp521,ecdh-sha2-nistp384 und ecdh-sha2-nistp256 welchen ich eher kritisch gegenüber stehe.

Schlussendlich sollte bei solchen Tests immer das Ergebnis genau hinterfragt werden. Das Prüfen von SSH Konfigurationen vereinfachen beide Programme dennoch merklich.

 

ssh_scan

FileZilla - FTP-Client Master-Passwort aktivieren

Die File-Transfer-Software FileZilla hat mit der letzten Version 3.26.x eine langersehnte Funktion integriert.

Ein Master-Passwort, welches die verwendeten Passwörter verschlüsselt auf der Festplatte ablegt.

filezilla-changelog

FileZilla Master-Passwort setzen

Die Funktion ist etwas in den Einstellungen versteckt.

Unter "Einstellungen-->Oberfläche" kann das Master-Passwort gesetzt werden.

Filezilla-Masterpasswort-setzen

Bisher wurden Passwörter mit Base64 Encoding unter Windows in "C:\Users\Benutzer\AppData\Roaming\FileZilla\sitemanager.xml" gespeichert und konnten ausgelesen werden. Dies hat sich nun geändert, die neue Funktion kann direkt in dieser Datei kontrolliert werden.

Der Client ist sowohl für Linux, als auch für Windows oder MacOS verfügbar.

FileZilla