Linux Systeme gelten als relativ sichere Systeme, jedoch sind auch sie immer öfter von Backdoors oder Rootkits befallen (aktuelle Beispiele wären hier Jellyfish oder Ebury)
Es kann somit nicht schaden die eigenen Systeme regelmäßig auf diverse Schädlinge zu untersuchen
Ein Tool, welches seit Langem für diesem Sektor zuständig ist, nennt sich Rkhunter (Rootkit Hunter).
Die OpenSource Software scannt nicht nur euer Linux System nach unerwünschten Gästen, sondern sucht das System auch nach veränderten Dateien oder offenen Ports ab.
Auch diverse andere Sicherheitseinstellungen sind in den Tests enthalten. Eine Installation schadet somit sicherlich nicht.
Installation von Rkhunter auf Ubuntu 14.04 (Server)
Da Rkhunter in den Ubuntu Repositories enthalten ist, fällt ein Installation über die Paketverwaltung mehr als einfach aus.
sudo apt-get install rkhunter
In den Repositories von Ubuntu 14.04 ist die Version 1.4.0 enthalten, es kann aber auf die aktuelle Version 1.4.2 aktualisiert werden
Rkhunter auf Version 1.4.2 aktualisieren
wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz
Test der Checksumme
md5sum rkhunter-1.4.2.tar.gz
Entpacken und installieren
tar xzvf rkhunter*
cd rkhunter
sudo ./installer.sh --layout /usr --install
Checking system for:
Rootkit Hunter installer files: found
A web file download command: wget found
Starting update:
Checking installation directory "/usr": it exists and is writable.
Checking installation directories:
Directory /usr/share/doc/rkhunter-1.4.2: creating: OK
Directory /usr/share/man/man8: exists and is writable.
Directory /etc: exists and is writable.
Directory /usr/bin: exists and is writable.
Directory /usr/lib: exists and is writable.
Directory /var/lib: exists and is writable.
Directory /usr/lib/rkhunter/scripts: creating: OK
Directory /var/lib/rkhunter/db: exists and is writable.
Directory /var/lib/rkhunter/tmp: exists and is writable.
Directory /var/lib/rkhunter/db/i18n: exists and is writable.
Directory /var/lib/rkhunter/db/signatures: creating: OK
Installing check_modules.pl: OK
Installing filehashsha.pl: OK
Installing stat.pl: OK
Installing readlink.sh: OK
Installing backdoorports.dat: OK
Installing mirrors.dat: OK
Installing programs_bad.dat: OK
Installing suspscan.dat: OK
Installing rkhunter.8: OK
Installing ACKNOWLEDGMENTS: OK
Installing CHANGELOG: OK
Installing FAQ: OK
Installing LICENSE: OK
Installing README: OK
Installing language support files: OK
Installing ClamAV signatures: OK
Installing rkhunter: OK
Installing rkhunter.conf in no-clobber mode: OK
>>>
>>> PLEASE NOTE: inspect for update changes in "/etc/rkhunter.conf.22942",
>>> and apply to either "/etc/rkhunter.conf" or your local configuration
>>> file before running Rootkit Hunter.
>>>
Update complete
Versionsprüfung der Installation
sudo rkhunter --version
Erster Scan mit Rkhunter
Ein erster Scan gibt Erkenntnisse über das System, aber auch über "false positive" Ereignisse oder ähnliches. Diese werden am Ende in einer ausführlichen Zusammenfassung ausgegeben und lassen sich später auch über die Logs abrufen.
sudo rkhunter -c --enable all
Konfiguration von rkhunter
Sollten Fehler auftreten oder Warnungen angezeigt werden, welche definitiv keine Gefahr darstellen, kann dies unter "/etc/rkhunter.conf" beispielsweise in einer Whiteliste hinterlegt werden.
sudo nano /etc/rkhunter.conf
Auch Emailoptionen und ähnliches lassen sich hier hinterlegen. So kann unter "MAIL-ON-WARNING="mail@me.de" der gewünschte Ansprechpartner für Warnungen hinterlegt werden.
Alternativ können Prozesse und Verzeichnisse mit Hilfe einer Whitelist von der Suche ausgeschlossen werden.
Das ist in Bezug auf einzelne Systeme mit verschiedenen Konfigurationen immer sinnvoll.
Automatisieren mit Cron
Um den Scan regelmäßig auszuführen, bietet sich ein Script in Verbindung mit einem Cronjob an.
sudo nano /home/user/rkhunter-auto.sh
#!/bin/sh
(
rkhunter --versioncheck
rkhunter --update
rkhunter -c --cronjob -report-warnings-only
) | mail -s 'rkhunter pruefung' mail@me.de
sudo crontab -e
0 20 * * 7 /home/user/rkhunter-auto.sh
Mit dieser Einstellung würde rkhunter jede Woche das System scannen und nur bei Warnungen eine Meldungen abgeben.
Troubleshooting
Wie bereits erwähnt, kann es vorkommen, das Systembereiche angemahnt werden, obwohl diese keine Gefahr darstellen. Hier ein Beispiel:
sudo rkhunter -c --enable all --disable none
Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /usr/bin/lwp-request
Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /usr/sbin/prelink
In diesem Fall auf die Konfiguration zurückgreifen und unter "/etc/rkhunter.conf" die beiden Einträge auskommentieren.
Installation von Chkrootkit auf Ubuntu 14.04 (Server)
Doppelt hält bekanntlich besser, darum ist die Installation eines zweiten Tools, welches auf ähnlich Art und Weise das System überprüft sicherlich sinnvoll. In diesem Fall handelt es sich um das Tool Chkrootkit, welches, wie der Name vermuten lässt, ebenso auf Rootkits aus ist.
Die Installation und Konfiguration ist hier ähnlich einfach.
Installation Chkrootkit
sudo apt-get install chkrootkit
Konfiguration von Chkrootkit (wöchentliche Prüfung und Mailbenachrichtigungen)
In der Konfiguration kann eingestellt werden, ob täglich ein Check laufen soll. Alternativ lässt sich dies auch über einen extra Cronjob, z.B. monatlich lösen, wie es bei Rkhunter schon gemacht wurden.
sudo nano /etc/chkrootkit
sudo crontab -e
0 20 30 * * /usr/sbin/chkrootkit | mail -s "chkrootkit pruefung" me@home.de
Fazit
Beide Tools erfüllen im Prinzip ihren Job. Sollte ein System befallen sein, ist es effektiver solche Tools von einer nicht infizierten Live CD laufen zu lassen.
Bei einem Befall ist die sicherste Variante sowieso das Neusaufsetzen des Systems, wenn möglich.