Frisch notiert!
Die neusten Artikel aus unserem Blog.

Erfahrungsbericht: ISPProtect Web Scanner – ein effektiver Malware Scanner für deinen Webserver

von Adrian Lambertz / Zuletzt aktualisiert am 01/09/2016 / Netzwelt / Server & Technik / 0
So wie jeder andere Hoster bzw. Serveradministrator, haben auch wir mit Angriffen auf unsere Server zu kämpfen. Neben DDOS und ständigen Bruteforce-Attacken, ist auch Malware bei uns ein gängiges Problem. Mit einer guten Firewall (soft- und hardwareseitig) bekommt man DDOS und Bruteforce Attacken jedoch meist sehr gut in den Griff. Doch was tun mit der Malware, die ein Angreifer durch schlecht programmierte oder unsichere Software auf dem Server ablegen kann?

Wir als Webshoster standen vor Kurzem vor einer schwierigen Wahl: zum einen hosten wir unsere eigenen WordPress-Projekte, zum anderen hosten wir aber auch die Websites externer Kunden. Bei den selbst entwickelten Systemen, kann man durch ständige Updates und Pflege davon ausgehen, dass die Software sicher ist. Bei den anderen Hostings ist dies allerdings nur Wunschdenken. Oft werden hier „Eigenentwicklungen“ hochgeladen oder gar ein CMS von „anno dazumal“ installiert. Diese werden oftmals nicht gewartet und stellen somit ein Paradies für Angreifer dar.

Deshalb kam es regelmässig zu Sicherheitslücken in den Codes und es wurde massenweise Malware auf dem Server abgelegt. Unser eigener Webserver entwickelte sich so zu einem „Spam verschickenden Monster“. Glücklicherweise konnten wir schnell die notwendigen Gegenmaßnahmen einleiten, damit unsere Webserver nicht auf einer Blacklist landeten.

Kurzerhand haben wir uns dann entschieden, alle „externen Hostings“ auf einen speziell dafür vorgesehenen Server umzuziehen, um die eigenen Websites nicht zu gefährden. Dieser Server wurde dann auch sehr straff aufgesetzt (standardmässig kein FTP-Zugriff mehr, sehr wenig Benutzerrechte etc.).

Somit haben wir schonmal eine klare Trennung zwischen den Sites erreicht. Doch das Malware Problem bestand natürlich weiterhin…

Problem: Malware effizient erkennen

Als Administrator kannst du deinen Server so gut absichern wie du möchtest. Wenn Kunden Software mit massenhaft Sicherheitslücken hochladen, werden diese natürlich prompt ausgenutzt. Ich habe deshalb unzählige Artikel, Tipps, Grep-Befehle etc. zusammengetragen, um die Erkennung von Malware so effizient wie möglich zu gestalten.

Das allerdings nur mit mäßigem Erfolg… Die Angreifer sind nämlich clever genug, ihren Code nach immer neuen Mustern zu verstecken. Ich war deshalb oft sehr weit „hinten dran“ und kehrte den (nicht eingeladenen) feiernden Partygästen immer nur hinterher…

Dann habe ich es mit verschiedenen Virenscannern versucht, die mir jedoch – nicht zuverlässig – alle infizierten Dateien und Backdoors identifizierten … . Und dann stieß ich auf die Website- des Malware Scanners von ISPProtect.

Der ISPProtect-Web Scanner

Auf der Website des Anbieters wird der Scanner wie folgt beschrieben:

ISPProtect ist ein Malware- und Antivirus-Scanner für Webserver. Der ISPProtect Scanner enthält drei Filterstufen: einen signaturbasierten Filter, einen heuristischen Filter und einen Filter zum Aufspüren veralteter CMS Software wie WordPress, Joomla, Drupal, Magentocommerce etc. ISPProtect wird durch die Programmierer und Administratoren von ISPConfig entwickelt.

„Nun gut“, dachte ich, „dann wollen wir mal testen“. Die Installation ging sehr einfach von der Hand. Ein paar Ordner erstellen, downloaden, entpacken, einen Symlink setzen – fertig.

Einen Scan erhält man kostenfrei. Danach muss man sich entscheiden: Kaufe ich mir Credits oder nehme ich eine Lizenz für ein Jahr? Aber dazu später mehr.

Dann habe ich den ersten kostenfreien Scan gestartet und direkt mal den gesamten Server (und nicht nur den Hosts-Ordner) „durchgescannt“. Das dauert natürlich seine Zeit – erstaunlicherweise aber blieb der Load des Servers recht niedrig.

Das Ergebnis war erschreckend und erfreulich zugleich: Egal welche Grep oder Anti-Viren Scans ich vorher habe laufen lassen – ISPProtect schlug sie um Längen. Jegliche noch so verdächtige Datei wurde gelistet, ebenso der genaue Dateipfad und auf welche Signatur der Scanner genau anschlug.

Doch das war noch nicht alles. Ich erhielt ebenfalls einen Report, welche Hosts zum Beispiel ein PHPMyAdmin, ein WordPress, ein Joomla o.Ä. installiert haben… mit der dazugehörigen Programmversion. So sehe ich direkt, welchen Kunden man mit der Bitte kontaktieren kann, seine Software zu aktualisieren.

Das große Reinigen

Wie bei jedem Malware-Scan, gab es auch hier einige false-positives. Aus diesem Grund habe ich jede Datei manuell gecheckt, bevor ich sie bereinigt oder gelöscht habe. Das hat natürlich einige Zeit in Anspruch genommen.

Nach dem großen „Cleanup“ war der Server aber tatsächlich sauber – die MailQ blieb über Tage hinweg leer und ich konnte auch keine verdächtigen Aktivitäten mehr feststellen.

Grund genug, sich eine Lizenz zu kaufen! Knapp 100€ verlangt der Anbieter für ein Jahres-Abo. Oder man entscheidet sich für das Credits-Modell mit z.B. 100 Scans für ca. 71€.

Auf den ersten Blick recht viel Geld… aber auch nur auf den ersten Blick. Wenn ich bedenke, wieviel Zeit und Mühe ich in die Bekämpfung der Malware reingesteckt habe, ist diese Summe wohl  eher ein Tropfen auf den heissen Stein.

Da ich per Cron jede Nacht den Server checken möchte, haben wir uns für die Jahres-Lizenz entschieden. Cronjob eingerichtet, der nun jede Nacht läuft und mir einen detaillierten Report per Mail schickt… und „Go“:

# Daily ISPProtect cronjob
0 3 * * * root /usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=root@localhost --non-interactive --scan-key=AAA-BBB-CCC-DDD

# Daily incremental ISPProtect cronjob
0 3 * * * root /usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --no-version-scan --path=/var/www --email-results=root@localhost --non-interactive --max-age=2 --scan-key=AAA-BBB-CCC-DDD

# Weekly ISPProtect cronjob run on sunday
0 3 * * 0 root /usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=root@localhost --non-interactive --scan-key=AAA-BBB-CCC-DDD

# Monthly ISPProtect cronjob
0 3 1 * * root /usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=root@localhost --non-interactive --scan-key=AAA-BBB-CCC-DDD

Endlich … fast … sorgenfrei :)

Seitdem der Cron läuft und ich jeden Morgen schön per Mail meinen Report durchchecken kann, läuft der Server wie eine Eins. Hin und wieder kommen ein paar neue infizierte Dateien hinzu, diese checke ich sofort und bereinige sie. Danach checke ich, woher die Lücke kommt, kontaktiere den Kunden und kann mich dann wieder der „normalen Arbeit“ widmen.

Die False Positives, die das Tool erkennt, kann man per Befehl mitteilen – diese werden dann berücksichtigt und in Zukunft nicht mehr erkannt (insofern sie sich nicht ändern und infiziert werden).

Umgekehrt kann ich per Befehl eine infizierte Datei, die das Tool nicht gefunden hat, eintragen. Diese wird dann von dem Anbieter überprüft und mit in die Signaturen aufgenommen.

Was das Tool alles genau kann und welche Optionen es gibt, erfahrt ihr in der Dokumentation.

Fazit

Seitdem der Scanner auf dem Server läuft, hat Malware bei uns kaum eine Chance mehr. Backdoors und infizierte Dateien werden zuverlässig erkannt. Während zu Spitzenzeiten damals tausende Mails pro Tag verschickt wurden, ist seit der Installation Ruhe in der MailQ.

Ich bin mir bewusst, dass dies auch wieder ein „Hinterherkehren“ ist, jedoch ein sehr gründliches. Solange Kunden eigene PHP-Software auf dem Server installieren können, muss ich jederzeit mit Malware rechnen. Es ist aufwandstechnisch fast unmöglich, ständig alle Lücke zu schliessen und deren Systeme auf dem neuesten Stand zu halten. Vor allem wenn der Kunde bewusst nicht dafür zahlt (denn sonst hätte er z.B. ein entsprechendes Wartungspaket für Updates und Fixes im Hosting, welches wir z.B. bei unseren WordPress-Systemen immer inklusive haben).

Solange der Scanner zuverlässig seinen Dienst erledigt, bin ich mit dieser Lösung mehr als zufrieden.

Ein letzter Hinweis

Zu guter Letzt möchte ich noch erwähnen, dass es sich hier nicht um einen „Sponsored Post“ o.Ä. handelt. Wir wurden nicht dafür bezahlt, diesen Post zu schreiben und haben auch keine Lizenzen oder andere Dinge dafür erhalten! Ich möchte lediglich meine Erfahrungen mit anderen Nutzern teilen und einem Tool den Respekt zollen, den es verdient hat.


Adrian Lambertz

Seit 2010 bin ich nun schon bei Pixelbar mit dabei. Zuerst als Auszubildender und nach erfolgreichem Abschluss meiner Ausbildung als Frontend-Entwickler.

Ohne Musik und Kaffee kann ich nicht leben, daher konsumiere ich beides während der Arbeit praktisch durchgehend :).

Daneben liebe ich WordPress – darauf habe ich mich spezialisiert.

Weitere Beiträge von adrian anzeigen

Hinterlasse eine Antwort