Der vergessene Ordner: wie die ungepflegte Website eines Kunden zur Spam-Schleuder wurde

Bei einem Kunden lag in einem alten Backup-Ordner ein Skript, das über seine Domain Spam verschickte. Möglich wurde das durch veraltetes WordPress und eine veraltete PHP-Version. Der Fall zeigt, warum eine Website nach dem Bau nicht fertig ist.

Bei einem Kunden von uns haben wir etwas gefunden, das viele Betriebe für ausgeschlossen halten: Über seine Domain und seine E-Mail-Adresse wurden Spam-Mails verschickt. Nicht von seinem Rechner, nicht von einem Mitarbeiter. Von seiner eigenen Website, ohne dass irgendjemand im Betrieb etwas davon ahnte.

Der Fall ist deshalb lehrreich, weil nichts daran spektakulär ist. Kein gezielter Angriff, kein raffinierter Trick. Nur drei ganz normale Versäumnisse, die zusammenkamen. Genau diese drei finden wir immer wieder. Der Kunde bleibt hier anonym, die Technik dahinter ist es nicht.

Was da zusammengekommen war

Drei Zutaten, jede für sich unauffällig:

  • Eine veraltete WordPress-Version. Seit Längerem keine Updates mehr eingespielt.
  • Eine veraltete PHP-Version auf dem Server. PHP ist die Sprache, in der WordPress läuft. Alte Versionen bekommen vom Hersteller keine Sicherheitsupdates mehr, bekannte Lücken bleiben also offen.
  • Ein alter Backup-Ordner auf dem Webspace. Eine Kopie der Website, irgendwann einmal angelegt und danach vergessen.

In diesem Backup-Ordner lag ein PHP-Skript, also ein kleines Programm auf dem Server, das dort nicht hingehörte. Seine Aufgabe: Massenmails verschicken, über die Domain und die Absenderadresse des Betriebs. Von außen betrachtet kam der Spam damit von einer seriösen Firma aus OWL. Für den Versender ist das der ganze Sinn der Sache.

Warum ausgerechnet der Backup-Ordner

Das ist der Punkt, an dem die meisten hängen bleiben, und er ist der wichtigste im ganzen Fall.

Die eigentliche Website war im Blick. Der Backup-Ordner nicht. Er galt im Kopf aller Beteiligten nicht als „Website", sondern als abgelegte Kopie, ungefähr wie ein Karton im Keller. Nur liegt dieser Karton nicht im Keller, sondern öffentlich im Internet, erreichbar für jeden, der die Adresse errät. Und er wird nie aktualisiert, weil ihn niemand mehr auf dem Zettel hat.

Solche Ordner entstehen bei ganz normalen Anlässen: vor einem Relaunch, beim Umzug zu einem neuen Hoster, bei einer größeren Änderung. Man legt sicherheitshalber eine Kopie an, alles läuft, und die Kopie bleibt liegen. Sie heißt dann backup, alt, website_neu, test oder wp-old.

Für einen Angreifer ist das die offene Tür neben der abgeschlossenen. Er muss die gepflegte Website gar nicht knacken. Die alte Kopie daneben genügt, denn beide liegen auf demselben Server.

Warum Spam und nicht Erpressung

Hier lohnt sich ein kurzer Blick auf die Denkweise dahinter, weil er erklärt, warum so etwas monatelang unbemerkt bleiben kann.

Eine gehackte Website wird meistens nicht zerstört. Sie wird benutzt. Zerstörung fällt sofort auf und bringt niemandem etwas. Eine funktionierende Website mit einer unauffälligen Domain dagegen ist ein Rohstoff: Sie hat einen guten Ruf bei den Mailanbietern, sie steht auf keiner Sperrliste, ihre Mails kommen an.

Deshalb bleibt die Seite normal erreichbar, sieht unverändert aus, und im Hintergrund läuft der Versand. Es gibt keine Warnmeldung, keinen Alarm, kein verändertes Aussehen. Das ist ein anderer Fall als der Verschlüsselungsangriff, den wir im Beitrag zur IT-Sicherheit im kleinen Betrieb beschreiben: Der schreit Sie an, dieser hier ist still.

Was dabei auf dem Spiel steht

Der Schaden entsteht nicht auf der Website. Er entsteht an einer Stelle, an die zuerst niemand denkt: bei Ihrer ganz normalen Geschäftspost.

  • Ihre Domain landet auf Sperrlisten. Mailanbieter merken sich, von wo Spam kommt. Steht Ihre Domain oder die Server-Adresse erst einmal auf so einer Liste, landen auch Ihre echten Mails im Spam-Ordner oder werden abgewiesen. Ihr Angebot. Ihre Rechnung. Ihre Terminbestätigung.
  • Der Hoster greift durch. Viele Anbieter sperren bei auffälligem Massenversand erst einmal den Mailversand oder das ganze Paket. Verständlich aus deren Sicht, unangenehm für Sie, und selten am günstigsten Tag.
  • Ihre Kunden und Lieferanten bekommen Post „von Ihnen". Das ist der Teil, der sich nicht mit Technik reparieren lässt.
  • Der Datenschutz kann hineinspielen. Waren personenbezogene Daten erreichbar, kann eine Meldepflicht mit enger Frist entstehen. Die Details dazu stehen im IT-Sicherheits-Beitrag.

Und der unangenehmste Teil zum Schluss: Das Skript zu löschen ist die kleinste Aufgabe. Den guten Ruf einer Domain wieder herzustellen, dauert. Das geht nicht auf Knopfdruck, sondern ist Nacharbeit bei mehreren Stellen. Deshalb ist Vorbeugen hier nicht die sparsamere Variante, sondern die einzige, die wirklich billig ist.

Warum das kein Einzelfall ist

Drei Gründe, warum genau diese Konstellation so häufig vorkommt:

Die PHP-Version steckt nicht in WordPress, sondern beim Hoster. Selbst wer brav auf „Aktualisieren" klickt, hat damit die PHP-Version nicht angefasst. Die stellt man im Kundenmenü des Hosters um, und wer nie danach sucht, weiß meist nicht einmal, welche bei ihm läuft.

Erweiterungen altern mit. Eine WordPress-Seite besteht selten aus WordPress allein, sondern aus einem Design-Paket und einer Handvoll Zusatzmodulen. Jedes davon ist ein eigenes Programm mit eigenem Lebenslauf. Wird eines vom Hersteller nicht mehr gepflegt, bleibt es liegen und funktioniert weiter, nur eben ohne Sicherheitsupdates.

Relaunch-Reste bleiben liegen. Siehe oben, der Karton im Keller, der eben doch draußen steht.

Die Website ist nicht fertig, wenn sie online geht

Und damit zu dem Punkt, um den es hier eigentlich geht.

Der Bau einer Website ist ein Projekt: Es hat einen Anfang, ein Ende und eine Rechnung. Der Betrieb einer Website ist etwas anderes, nämlich eine Daueraufgabe. Das ist keine Verkaufsmasche, das liegt in der Sache: Eine Website läuft auf Technik, die sich ständig weiterentwickelt, und was heute sicher ist, ist es in zwei Jahren nicht mehr, ohne dass sich an Ihrer Seite eine Zeile geändert hätte.

Bei allem anderen im Betrieb ist Ihnen das selbstverständlich. Niemand fährt den Transporter fünf Jahre ohne Inspektion, weil er beim Kauf ja fahrbereit war. Niemand lässt die Heizungswartung ausfallen, weil sie im Sommer nicht auffällt. Bei der Website denken viele genau so, und zwar nur deshalb, weil man ihr nichts ansieht. Sie sieht am Tag 2.000 exakt so aus wie am Tag 1. Bis sie es plötzlich nicht mehr tut.

Was Pflege konkret bedeutet, also was da eigentlich getan wird

„Wartung" klingt nach einem Posten auf der Rechnung, hinter dem sich niemand etwas vorstellen kann. Deshalb hier offen, worin die Arbeit wirklich besteht:

  • Updates einspielen und danach prüfen, ob alles noch funktioniert. Das Klicken ist die eine Minute. Der Aufwand steckt in der Kontrolle danach, denn ein Update kann ein Formular, ein Layout oder eine Schnittstelle zerlegen. Genau deshalb schieben viele Betriebe Updates auf, bis es zu spät ist.
  • Die PHP-Version aktuell halten, in Abstimmung mit dem Hoster und erst nachdem geprüft ist, dass die Seite damit läuft.
  • Sicherungen anlegen und das Zurückspielen testen. Eine ungetestete Sicherung ist eine Vermutung.
  • Aufräumen. Alte Ordner, ungenutzte Erweiterungen, Zugänge von Dienstleistern oder ehemaligen Mitarbeitern. Genau der Punkt, der in diesem Fall gefehlt hat.
  • Hinschauen. Läuft die Seite noch, ist sie noch schnell, verschickt der Server etwas, das er nicht verschicken sollte.
  • Erreichbar sein, wenn doch etwas ist. Jemand, der die Seite kennt und sofort draufschauen kann, statt sich erst einzuarbeiten.

Das Ehrliche daran: Neun von zehn Monaten passiert dabei nichts Aufregendes, und genau das ist das Ziel. Pflege fühlt sich deshalb schnell nach „wofür zahle ich das eigentlich" an, bis zu dem einen Monat, in dem sie fehlt. Der Kunde aus diesem Beitrag hätte für Jahre Pflege deutlich weniger bezahlt als für die Nacharbeit an einer Domain, deren Ruf beschädigt ist.

Was Sie heute selbst prüfen können

Wenn Sie eine WordPress-Seite haben, gehen Sie diese fünf Punkte durch. Das dauert eine halbe Stunde und Sie brauchen dafür niemanden:

  1. Welche PHP-Version läuft bei Ihnen? Steht im Kundenmenü Ihres Hosters. Ist sie älter als die aktuell unterstützten Versionen, haben Sie eine erste Antwort.
  2. Wann wurde zuletzt aktualisiert? WordPress selbst, das Design-Paket, die Erweiterungen. Wie viele Erweiterungen sind installiert, und wie viele davon benutzen Sie tatsächlich?
  3. Was liegt sonst noch auf Ihrem Webspace? Ordner wie backup, alt, test, dev oder eine zweite WordPress-Installation, die niemand mehr braucht. Alles, was nicht gebraucht wird, gehört herunter, nicht nur verschoben.
  4. Bekommen Sie Unzustellbarkeits-Meldungen für Mails, die Sie nie geschickt haben? Das ist eines der wenigen sichtbaren Alarmsignale.
  5. Wer hat noch Zugänge? Der Praktikant von damals, die Agentur davor, der Bekannte, der mal geholfen hat.

Wenn Sie bei einem dieser Punkte unsicher werden, ist das kein Grund zur Panik. Es ist der Normalzustand bei den allermeisten gewachsenen Websites.

Wie wir es halten

Zwei Dinge dazu, und beide gehören ehrlich gesagt.

Erstens: WordPress ist nicht schlecht. Es ist ein gutes System, wenn man es pflegt. Es ist nur eben eine Verpflichtung, und die geht man mit, ob man will oder nicht. Deshalb bauen wir Websites, wo es geht, ohne diesen Unterbau: keine Datenbank, keine Erweiterungen, nichts, was auf dem Server ausgeführt wird. Was nicht da ist, kann auch nicht angegriffen werden, und Sie haben nichts, wofür Sie monatlich Pflege einkaufen müssten. Wer ein Redaktionssystem zum Selberpflegen braucht, bekommt es natürlich, dann aber mit einem klaren Wort dazu, was daran dauerhaft zu tun ist. Mehr dazu auf der Seite zur Webagentur.

Zweitens: Sie müssen dafür nicht bei uns Kunde sein. Wenn Sie nur wissen wollen, wie Ihre bestehende Seite dasteht, schauen wir uns das an: PHP-Version, Aktualisierungsstand, was sonst noch auf dem Webspace liegt, alte Zugänge. Für eine übliche Betriebs-Website ist das eine Sache von wenigen Stunden zu 89 € pro Stunde, und Sie bekommen danach eine Liste, die Sie auch Ihrem jetzigen Dienstleister vorlegen können. Wer dauerhaft einen festen Draht will, nimmt die IT-Sprechstunde ab 149 € im Monat.

Was wir nicht machen: Ihnen ein Paket verkaufen, das Sie nicht brauchen. Wenn Ihre Seite gepflegt ist, sagen wir Ihnen das und Sie haben eine Sorge weniger.

Weiterlesen

← Alle Ratgeber-Beiträge