Lynis - Linux Auditing

Posted on Fri 26 September 2014 in security

Vor kurzer Zeit bin ich auf Lynis gestoßen. Eine Open Source Lösung, um Linux Systeme schnell und einfach zu auditieren.

Dieses Jahr werden immer mehr Lücken in allen möglichen Applikationen, welcher jeder auf seinen Servern verwendet, bekannt. Zuletzt war GNU Bash betroffen. Die Lücke wurde auf ShellShock getauft.

Vorsorge zu tragen ist gut. Neben regelmäßigen Updates auf den eigenen Systemen und dem Lesen von entsprechenden Seiten und Einträgen in Exploit Datenbanken gehört auch das Hardening der Systeme dazu.

Nutzung

Über die Lynis Downloadseite kann die Applikation direkt herunterladen, entpackt und als root ausgeführt werden:

cd /tmp
wget http://cisofy.com/files/lynis-1.6.2.tar.gz
tar xvzf lynis-1.6.2.tar.gz
cd lynis
./lynis -c -Q

Wobei -c alle Prüfungen ausführt und -Q entgegen dem Standardverhalten nicht nach jedem Test darauf wartet, dass der Benutzer das Fortfahren bestätigt.

Lynis auditing tool

Ergebnisse überprüfen

Lynis ist für nahezu jedes Unix oder Linux System ausgelegt. Es läuft beispielsweise auch dem Mac. Es ist verständlich, dass es aufgrund der Vielzahl der Distributionen zu fehlerhaften Meldungen kommt.

Nachfolgend Auschnitte des Ergebnisses eines Servers. Das System ist ein Ubuntu 14.04 und relativ frisch installiert. Hier gibt es noch Einiges zu tun!

Kernel

Natürlich möchte mein System neugestartet werden, da ich Kernel Updates installiert habe:

- Checking for available kernel update [ OK ]
- Checking core dumps configuration [ DISABLED ]
- Checking setuid core dumps configuration [ PROTECTED ]
- Check if reboot is needed [ YES ]

Benutzer, Gruppen und Authentifizierung

Deutlich interessanter ist der Bereich der Benutzer, Gruppen und Authentifizierung. Nach und nach, um meine Gedanken dazu festzuhalten:

[+] Users, Groups and Authentication
------------------------------------
- Checking consistency of group files (grpck) [ WARNING ]

Beim TLDP gibt es eine Seite zu den Dateien /etc/shadow und /etc/gshadow. Die Dateien dienen der Sicherheit. Beide können nur von root gelesen werden und enthalten die Kennwörter und weitere Informationen, welche bei den Unix-Systemen direkt in der /etc/passwd stehen.

grpck verrät einem auch wie man diese Warnung beseitigen kann:

# grpck
'backupuser' is a member of the 'www-data' group in /etc/group but not in /etc/gshadow

...
- Checking PAM password strength tools [ SUGGESTION ]

Dieser Hinweis trifft leider nicht auf mich zu, da am Ende der Login nur über SSH mit Private Key für bestimmte User möglich ist. Die Passwortkomplexität muss am Ende nur auf Systemen überprüft werden, welche durch mehrere Nutzer per Passwort-Authentifizierung genutzt werden können.

...
- Checking accounts without expire date [ OK ]
- Checking accounts without password [ OK ]
- Checking user password aging [ DISABLED ]
- Determining default umask
- Checking umask (/etc/profile) [ OK ]
- Checking umask (/etc/login.defs) [ SUGGESTION ]
- Checking umask (/etc/init.d/rc) [ SUGGESTION ]

Ebenso wie der Hinweis zuvor treffen viele Informationen nicht auf mein System zu.

Allerdings sollte ich tatsächlich die /etc/login.defs prüfen und unter Umständen die umask anpassen.

Am Ende zeigt Lynis auch Informationen zu Meldungen an:

- Default umask in /etc/login.defs could be more strict like 027 [AUTH-9328]

Definitiv sollte die umask beispielsweise auf 022 umgestellt werden.

Postfix

[+] Software: e-mail and messaging
------------------------------------
- Checking Exim status [ NOT FOUND ]
- Checking Postfix status [ RUNNING ]
- Checking Postfix configuration [ FOUND ]
- Checking Postfix banner [ WARNING ]

Unter Ubuntu zeigt der Banner zu viele Informationen. Die Anpassung erfolgt in der /etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)

Meine Systeme dürfen mitteilen, dass ein Postfix läuft. Allerdings wird oft empfohlen gar keinen sinnvollen mitzusenden. Beispielsweise:

smtpd_banner = ESMTP Banner? Overrated!

Firewall

Firewallregeln zu überprüfen macht immer sinn. Lynis wertet vermutlich die Counter aus. Allerdings sind diese bei mir nicht akkurat. So steht der Zähler für eingehende Pakete über Port 80 auf 0, obwohl ich gerade einen Scan auf den Port laufen lasse.

[+] Software: firewalls
------------------------------------
- Checking iptables kernel module [ FOUND ]
- Checking for empty ruleset [ OK ]
- Checking for unused rules [ WARNING ]
- Checking pf [ NOT FOUND ]
- Checking host based firewall [ ACTIVE ]

Weiteres

Einige von den oben genannten Punkten sind nicht auf mein System zutreffend. So wird es vielen Admins gehen.

Allerdings folgen im Verlauf des Tests auch Hinweise auf Kernel Hardening, File Integrity Toold sowie Malware Scanner auf.

Fazit

Lynis hat erreicht, dass ich mich wieder einmal mehr mit der Sicherheit meiner Systeme befasse. Alleine dadurch wird bereits viel erreicht.