Ein paar Hinweise für den sicheren Betrieb von Webseiten

Nachdem in letzter Zeit wieder mal verstärkt Kundenwebseiten gehackt wurden, ein paar Grundlagen, wie man das bestmöglich verhindern kann und was man tun sollte, falls es trotz aller Vorsicht doch einmal dazu gekommen ist.

  1. Sichere Passwörter für Kundenlogin, FTP und alle anderen Zugänge verwenden (also nicht wie hier wieder demonstriert 1234 oder ähnliches), sichere Passwörter bestehen aus einer Kombination aus Zahlen, Groß- und Kleinbuchstaben und Sonderzeichen und sollten mindestens 8 Stellen lang sein).
  2. Sichere Rechte für Dateien und Verzeichnisse (niemals chmod 777 verwenden), da unsere Server beim Upload per FTP aber direkt restriktive Rechte setzen, muß man sich darum selbst nicht kümmern (es sei denn, man ändert diese manuell).
  3. Software und sämtliche Komponenten auf dem Webspace immer aktuell halten, sobald ein Update erschienen ist, das wirklich umgehend einspielen, ansonsten ist ein erfolgreicher Angriff extrem wahrscheinlich, am besten RSS-Feeds von den Herstellern (für Joomla wäre das z.B. http://feeds.joomla.org/JoomlaSecurityNews) und unabhängigen Sicherheitsportalen wie milw0rm oder Secunia abonnieren. Speziell für Joomla-Anwender gibt es auf Joomla-Downloads eine gut gepflegte Liste unsicherer Komponenten.
  4. Nicht benötigte Komponenten löschen und nicht bloß deaktivieren! Ein beliebtes Angriffsziel sind Komponenten für CMS, die beim Erstellen der Webseite mal getestet wurden und dann doch nicht wirklich genutzt werden. Diese geraten dann oft in Vergessenheit, weil sie einfach deaktiviert wurden. Das stellt aber keinen Schutz vor Hackerattacken dar, da sie trotzdem aufrufbar sind, deshalb wirklich löschen, was nicht unbedingt benötigt wird, je weniger installierte Software, desto geringer die Angriffsmöglichkeiten.
  5. Nicht benötigte PHP-Funktionen deaktivieren! Wer Funktionen wie register_globals oder allow_url_fopen für seine Skripte nicht benötigt, sollte diese domainspezifisch per php.ini-Editor deaktivieren, da über diese eine große Anzahl erfolgreicher Angriffe erfolgt.
  6. Absicherung des eigenen PC! Windows-Anwender sollten zwingend immer mit aktuellem Virenscanner arbeiten und auch die installierte Software + Betriebssystem auf dem aktuellen Stand halten. Mit dem Secunia Personal Software Inspector kann man seinen Rechner auf veraltete Softwareversionen scannen und entsprechende Updates einspielen. Mittlerweile gibt es mehrere Trojaner, die Passworte für FTP etc. vom Rechner auslesen und so Zugriff auf den Webspace ermöglichen.

Was tun, wenn es trotz aller Vorsichtsmaßnahmen doch zu einem erfolgreichen Hack gekommen ist?

  1. Als erstes in den Domaineinstellungen die Domain auf einen anderen Ordner lenken, damit ist kein direkter Zugriff der Hacker mehr möglich! Stellen wir die Existenz von schadhaften Skripten fest, sperren wir die Domain und informieren darüber umgehend per Mail, sobald der Nachweis über dauerhafte Beseitigung und Absicherung erbracht wurde, entsperren wir natürlich wieder umgehend.
  2. Wenn im Kundenaccount mehre Webseiten bzw. Installationen liegen, sind alle grundsätzlich als kompromittiert anzusehen, da zwischen den Verzeichnissen kein Zugriffsschutz besteht. Wenn gewünscht, können wir aber auch da harte Quotas im Account einrichten, um ein Übergreifen zwischen den Installationen auszuschließen, kurze Mail genügt (dafür muss allerdings pro Verzeichnis ein eigener FTP-Account angelegt werden und eine feste Größe für das Verzeichnis definiert werden).
  3. Änderung aller Passwörter für Login, FTP, MySQL, etc.!
  4. Logfileanalyse (diese liegen im Wurzelverzeichnis im Verzeichnis weblogs), um die Ursache herauszufinden und die entsprechende Lücke beseitigen zu können! Natürlich helfen wir dabei gern. Extrem wichtig ist aber wirklich das Finden der Ursache und nicht bloß Bekämpfung der Symptome, sonst erfolgt in kürzester Zeit der nächste erfolgreiche Angriff.
  5. Garantiert sauberes Backup einspielen und Updates der angreifbaren Skripte, sollten keine Updates verfügbar sein, müssen diese gelöscht werden, auch wenn dann gewünschte Funktionen für die Webseite nicht mehr zur Verfügung stehen.
  6. Zum Abschluss die Domain wieder ins ursprüngliche Verzeichnis lenken.