In diesem Artikel wird der Schwachstellenscanner Lynis vorgestellt, der neben benutzerdefinierten Profilen auch zeitgesteuert aufgerufen werden kann. In diesem ersten Beitrag wird auf die Installation und Anwendung von Lynis eingegangen. Im nächsten Artikel wird die Integration mit Check_MK eingerichtet, um die laufenden Reports zu überprüfen.

Was ist Lynis?

Lynis ist ein Open Source Auditing Tool von CISOfy, mit dem ein Unix-basiertes System auf seine „Härte“ getestet und die Einhaltung von vorhandenen Sicherheitsrichtlinien überprüft werden kann. Zu diesen Zwecken wurde ein passiver Scanner eingebaut, der Schwachstellen und Konfigurationsfehler detektiert und reportet. Der Unterschied zu netzwerkbasierten Schwachstellenscannern wie OpenVAS besteht darin, dass die Systemtests lokal stattfinden und daher viel mehr in die Tiefe gehen können als bei Tests, die über das Netzwerk laufen. So wird beispielsweise vom Bootloader beginnend die installierte Software und laufende Services überprüft bis zu Schreibrechten auf Systemdateien und noch viel mehr. Derzeit (Juli 2016) werden 364 Tests durchgeführt, die mittels Plugins oder eigenem Code beliebig erweitert werden können. Gefundene Schwachstellen werden gekennzeichnet und – sofern möglich – mit Hinweisen zur Behebung vervollständigt.

CISOfy bietet neben der freien Variante auch noch eine Enterprise Version an, die noch weitere Features bietet, auf die hier nicht eingegangen wird.

Installation

Die Installation ist denkbar einfach: Das Programm kann einfach auf die Zielmaschine übertragen und ausgeführt werden: Entweder per Download vom Hersteller, über ein Github-Archiv, das man auf der Maschine auschecken kann oder man bemüht die Repository Quellen der installierten Distribution. So schnell natürlich ein apt-get install lynis auf der Konsole getippt ist, sollte man diese Lösung nicht wählen, da die verfügbaren Versionen mitunter recht alt sind. ==Hier hat CISOfy kürzlich nachgebessert und eigene Repositories== für CentOS, Debian, Fedora, Ubuntu und RHEL zur Verfügung gestellt. Hiermit ist nun endlich auch sicher gestellt, dass Updates zeitnah eingespielt werden können.

Anwendung

Grundsätzlich sollte man lynis mit Root-Rechten (sudo) starten, um das volle Potential aus dem Scan herauszuholen und um keine verfälschten Ergebnisse zu erhalten. Anmerkung: Ich gehe davon aus, dass lynis per Repository installiert wurde und daher systemweit aufgerufen werden kann. Sollte lynis aus einem einzelnen Verzeichnis heraus gestartet werden, muss dies dem Programm bekannt gemacht werden mit: ./lynis audit system -Q

Hiermit wird ein erster Check gestartet, das System untersucht und jeder untersuchte Punkt mit OK, Warnung oder Error gekennzeichnet.


Zum Abschluß wird ein Report generiert, der unter

/var/log/lynis-report.dat

eingesehen werden kann.
Dies kann in etwas so aussehen:

Profile

Um die Tests auf die aktuelle Verwendung des zu untersuchenden Systems einzuschränken, unterstützt Lynis die Verwendung von Profilen. Je nachdem, welchen Rollen man testen will (DNS-Server, Web- oder Mailserver), kann man sich auch seine eigenen Profile anlegen.
Profile bieten aber noch eine weitere Konfigurationsmöglichkeit: Man kann bestimmte Tests ausnehmen (Whitelisting), um Warnungen zu Testergebnissen zu unterdrücken, die keine Relevanz haben. Dies passiert mit der Option test_skip_always unter Angabe der Testnummer:

config:test_skip_always:AAAA-1234 BBBB-5678 CCCC-9012:

Zeitsteuerung (Cron)

Um sein System laufend zu untersuchen, bietet lynis natürlich die Möglichkeit des Parameters cronjob. Damit wird der Scan komplett automatisiert durchgeführt
Hier das Beispiel von der Webseite:

Die Weiterverarbeitung passiert im nächsten Artikel im Auslesen des „Hardening Index“ und der Überwachung in Check_mk.