Vermeintlich einfach: Schwierigkeiten bei Content Management Systemen

Fragen?

Viele Webentwickler greifen bei Webseiten auf Content Management Systeme (CMS) wie Joomla! oder WordPress zurück. Auf diesem Wege können Aufwand und Kosten gespart werden und es stehen zugleich viele Funktionen zur Verfügung. Die Entwicklung mittels eigener Skripte scheint angesichts der Anforderung für die meisten Projekte zu aufwändig zu sein. Dabei bringen auch CMS nicht nur Vorteile.

Fehler bei der Einrichtung eines CMS

Die Installation wirkt auf den ersten Blick zunächst einfach, jedoch müssen auch dabei technische Details berücksichtigt werden, die von der Anleitung vorausgesetzt werden oder von der jeweiligen Systemumgebung abhängig sind.

So ist beispielsweise die Dateiberechtigung zu beachten. Bei Problemen während der Installation wird in Foren oft die Anpassung der Berechtigung beschrieben. Falsche Berechtigungen können aber auch durch Einstellungen im FTP-Client entstehen. Sollte eine Dateiberechtigung falsch gesetzt sein, kann eine Manipulation durch Dritte ermöglicht werden. Dateiberechtigungen sollten daher niemals höher als in der Installations-Anweisung des jeweiligen Anbieters gesetzt werden. Gegebenenfalls sind niedrigere Berechtigungen möglich, um die Sicherheit zu erhöhen, ohne dass dies explizit in der Installationsanweisung beschrieben ist.

Die meisten CMS werden mit PHP ausgeführt. Bei den Webhosting-Paketen und dem Managed Server von netclusive stehen verschiedene PHP-Versionen zur Verfügung. Die Wahl sollte dabei stets auf die aktuellste Version fallen. Aktuellere Versionen haben oft Sicherheitslücken geschlossen, welche in älteren Versionen bestehen. Zusätzlich dazu bringen aktuellere PHP-Versionen, insbesondere ab PHP7, deutlich bessere Performance und liefern Webseiten dadurch schneller aus.

Zusätzliche Sicherheitslücken

Ist das CMS installiert, kann der Inhalt erstellt werden. Um dabei den Anforderungen gerecht zu werden, sind oft zusätzliche Plugins erforderlich. Auch diese können zusätzliche Sicherheitslücken mitbringen. Daher sollte zuvor geprüft werden, ob die Entwickler das Plugin weiterhin mit Updates versorgen und ob das Plugin im Netz bereits durch Sicherheitslücken aufgefallen ist.

Manipulation

Code Injection (CI) ist eins der häufigsten Probleme durch Sicherheitslücken in CMS. Dabei werden die Dateien des CMS zum Beispiel durch Cross-Site-Scripting manipuliert. Anschließend kann der Angreifer einen Code ausführen und so weitere Dateien manipulieren. Oft wird dies ausgenutzt, um Spamnachrichten zu generieren, was anschließend zu einer Sperre des Webhosting-Pakets oder des Servers durch den Provider führen kann. Die Sperre ist dabei auch im Interesse des Webseiten-Betreibers, da durch Code Injection oder Spamversand auch andere negative Einflüsse entstehen. Vor allem sollen aber Benutzer vor möglichen schädlichen Inhalten geschützt und der Spamversand unterbunden werden.

Die anschließende Bereinigung der Webseite wird schnell zu einem größeren und zeitraubenden Projekt. Manipulationen lassen sich dabei nicht allein anhand des Zeitstempels der Dateien erkennen, da dieser ggf. ebenfalls manipuliert wurde oder die Dateien von einem anderen System geladen wurden und die älteren Zeitstempel der Quelle übernommen haben. Außerdem besteht zusätzlich die Gefahr, dass die Datenbank ebenfalls manipuliert wurde. Daher lassen sich die bestehenden Daten oftmals nicht zuverlässig bereinigen und die einzigen Möglichkeiten sind die Wiederherstellung aus einem Backup, sofern gewährleistet ist, dass dieses nicht bereits betroffen ist, oder eine Neu-Installation des CMS.

Updates

Um die Gefahr von Problemen durch Sicherheitslücken zumindest zu reduzieren, sollte das CMS stets auf dem aktuellsten Stand sein. Je nach CMS wird im Backend auf ein Update hingewiesen und die Update Möglichkeit bereits angeboten, dennoch sollten zusätzliche Quellen wie Newsletter oder RSS-Feeds genutzt werden, um auf dem Laufenden zu bleiben.

Ein CMS kann eine Menge Arbeit abnehmen, es schützt jedoch nicht davor, sich mit der Technik, auch außerhalb des CMS, auseinanderzusetzen und bringt im Live-Betrieb weitere Verpflichtungen mit sich.

Nach oben scrollen