Ich hatte in den letzten Wochen öfters mal das Problem, das mein Server auf verschiedenen Email-Spam-Listen gelandet ist und die Mailzustellung entsprechend problematisch wurde.
Ein Check des Mailserver Log ergab jedoch keine Anomalien. Es wurde zumindest über den Mailserver keine hohe Anzahl Mails verschickt. Wie kann das also sein?
Auf die Spur kam ich der Sache als ich den SMTP Port überwachte:
1 | sudo lsof -i | grep smtp |
Das ein oder andere Mal erwischte ich damit einen Prozess, der unter einem Hosting-Account lief. Auf diesem Account war nur eine Joomla Installation untergebracht. Und diese war wohl verseucht. Es fanden sich mehrere seltsame Nutzeraccounts und kleine, seltsame benannte PHP-Scripte im Verzeichnis. Eine kurze Analyse der Scripte offenbarte, dass diese wohl nichts anderes tun als Kommandos von “Aussen” auszuführen. Also ein direktes eval() von POST-Content. Eine Analyse des Access-Log offenbarte, dass alle 1-2 Minuten so ein Kommando von einer unbekannten Quelle abgeschickt wurde.
Also hab ich mich mal dazwischen gehängt und das verschlüsselte Kommando abgefangen. Es war ein relativ langes Stück Programmcode welches im Prinzip einen Mail-Server emuliert. Das komplette Protokoll wurde als PHP-Script nachgebaut. Bingo!
Ein entfernen der Scripte, Updaten von Joomla und entfernen der Einfallstore schaffte Abhilfe, notfalls ein Diff über das aktuelle Verzeichnis machen. Es ist einfach ein Muss, eine CMS-Systeme auf dem aktuellen Stand zu halten. Nur wie schafft man es den Überblick zubehalten wenn man mehrere Installationen überwachen muss?
Pingback: Mehrere WordPress / Joomla Installationen überwachen | skyBlog