Auf dem Rootserver gibt es ab- und zu mal Panik, weil wieder mal eine Sicherheitslücke in einer Applikation (meist Joomla) oder in einem unscheinbaren plugin ausgenutzt wurde. Meist liegen das Eindringdatum und das aktive ausnutzen als Botserver, Spamschleuder, what ever sehr weit auseinander.
Das manuelle Auffinden der kompromittierten Datei, bzw. des Webs ist nicht ganz ohne. Man muss evtl. ganz schön kramen.
Da wir auf unserem Server eigentlich nur Bekannte haben, ist der Versuch verständlich ein betroffenes Web zu "reparieren" und keine Rücksicherung zu machen.
Doch hier muss man sich im Klaren sein, dass es die durchaus hohe Wahrscheinlichkeit gibt, dass man die Bereinigung nicht vollständig geschafft hat.
Nun bin ich vor knapp einem halben Jahr auf maldet gestoßen. Das kleine tool scannt seit dem inkrementell alle WEB Dateien und schickt gefundene verseuchte Dateien in die Quarantäne.
Benutzt wird der ohnehin installierte clamav Virenscanner. Maldet bringt seine eigenen Signaturen mit, die automatisch aktuell gehalten werden.
Einmal habe ich schon durch maldet einen Einbruch erkannt, bevor der Erfolg an zahlende Auftraggeber weitergegeben wurde.
https://www.rfxn.com/projects/linux-malware-detect/ Installiert habe ich es in /usr/local/bin, nach Anleitung im Paket.Für Jessie muss man noch die init.d Datei ein wenig anpassen.
#!/usr/bin/env bash ### BEGIN INIT INFO # Provides: maldet # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Linux Malware Detect file monitoring # processname: maldet # chkconfig: 345 70 30 ### END INIT INFO
Ein grep -b1 'scan report saved' /usr/local/maldetect/logs/event_logergibt z.B.
5446-Dec 16 00:06:13 rootgemeinschaft maldet(23642): {scan} scan completed on /var/www/: files 47554, malware hits 0, cleaned hits 0, time 3068s 5586:Dec 16 00:06:13 rootgemeinschaft maldet(23642): {scan} scan report saved, to view run: maldet --report 151215-2315.23642 5707-Dec 16 06:30:12 rootgemeinschaft maldet(26094): {update} checking for available updates...Und hier noch ein logratotate Eintrag
cat /etc/logrotate.d/maldet /usr/local/maldetect/logs/event_log { weekly missingok rotate 4 compress delaycompress notifempty create 640 root adm } /usr/local/maldetect/logs/clamscan_log { weekly missingok rotate 4 compress delaycompress notifempty create 640 root adm postrotate /sbin/service clamscan restart endscript } /usr/local/maldetect/logs/inotify_log { weekly missingok rotate 4 compress delaycompress notifempty create 640 root adm postrotate /sbin/service maldet restart endscript }