tas2580
Blog über Webentwicklung

phpBB absichern

tas2580  

Das phpBB3 ist eigentlich sehr sicher aufgebaut, der Code wurde vor der Veröffentlichung von mehreren Experten auf Sicherheit getestet und die große Community sorgt dafür das potentielle Lücken schnell enteckt und geschlossen werden. Trotzdem gibt es ein paar Dinge die man noch tun kann um die Sicherheit zu erhöhen. Oft sind Angriffe erfolgreich weil der Admin eines Forums leichtsinnig ist und so Lücken aufreist. Ich werde hier beschreiben wie man die Sicherheit erhöhen kann und gerade Lücken die durch Leichtsinnsfehler entstehen schließen kann.

Updates einspielen

Sollte eine Sicherheitslücke in phpBB bekannt werden reagieren die Entwickler im Normalfall recht schnell und veröffentlichen ein Update. Aus diesem Grund ist es sinnvoll das mein sein Forum immer aktuell hält. Im Adminbereich wird immer die installierte Version angezeigt und falls die Version nicht aktuell ist eine Warnung ausgegeben. Auch wenn mit einem Update mal keine Sicherheitslücken geschlossen werden sollte es immer möglichst schnell eingespielt werden da man immer nur von einer Version zur nächsten updaten kann. Wenn man also mehrere Versionen hinterher hängt und muss dann wegen einer Sicherheitslücke updaten kommt plötzlich sehr viel Arbeit auf einen zu.

Adminbereich per .htaccess schützen

Wenn ein Angreifer den Admin-Account übernommen hat kann er mit dem Forum praktisch alles machen. Aus diesem Grund sollte der Adminbereich besonderst geschützt werden. Beim ersten Aufruf des Adminbereichs wird man zwar noch mal extra nach dem Passwort gefragt was aber nichts bringt wenn ein Angreifer das Passwort für den Adminbenutzer kennt. Wer auf Nummer Sicher gehen will sollte also den Adminbereich nochmal extra per htaccess schützen, wie das genau funktioniert wird hier beschrieben. Natürlich sollte man in der htaccess andere Zugangsdaten verwenden wie man als Benutzer im Forum verwendet.

Datenbank Backup Funktion löschen

Im Adminbereich gibt es die Möglichkeit ein Backup von der Datenbank anzulegen. Wenn ein Angreifer Zugang zum Adminbereich hat kann er also ein Backup der Datenkank runter laden und so den Inhalt der Datenbank sehen. Da die Funktion bei größeren Datenbanken eh nicht richtig funktioniert kann man darauf auch verzichten und Backups der Datenbank mit externen Tools wie dem MySQLDumper machen. Um die Funktion zu löschen gehe in den Adminbereich unter System -> Administrations-Bereich -> Wartung -> Datenbank und lösche dort die Module "Wiederherstellen" und "Backup". Danach können die Dateien includes/acp/acp_database.php und includes/acp/info/acp_database.php vom Webspace gelöscht werden.

Remote File Inclusion verhindern

Manchmal wird versucht an einen Parameter der URL eine andere URL mit Code zu übergeben. Wenn das Script schlecht geschrieben ist kann es passieren das der fremde Code ausgeführt wird. Um das zu verhindern gibt es in der php.ini die Option allow_url_include mit der verhindert werden kann das Dateien von fremden URLs includet werden können. Wer kein Zugriff auf die php.ini hat oder ganz sicher gehen will kann mit einer mod_rewrite Regel alle Aufrufe die eine URL an einen Parameter übergeben einfach wieder weg schicken so das die Angriffe schon geblockt werden bevor sie überhaupt am PHP-Script ankommen.

RewriteEngine On 
RewriteCond %{QUERY_STRING} (.*)=http://(.*) [OR]
RewriteCond %{QUERY_STRING} (.*)=https://(.*) [OR]
RewriteCond %{QUERY_STRING} (.*)=ftp://(.*)
RewriteRule (.*) 127.0.0.1 [L,R=301]

Wenn man Mods verwendet die z.B. Links aus dem Forum über eine lokale Datei umleiten kommt es damit allerdings zu Problemen da sobald die Rewrite Regeln eingebaut sind keine URLs mehr in Parametern vorkommen dürfen.

Backup der config.php

Manche Editoren legen beim bearbeiten von Dateien automatisch eine Backup-Datei an. Wenn diese Datei auf den Webserver gelangt kann der Inhalt im Browser angezeigt werden da vom Webserver nur Dateien mit der Endung .php verarbeitet werden, alles andere wird einfach so ausgegeben. Da in der Datei die Zugangsdaten zur Datenbank stehen sollte man den Zugriff auf die Backup Dateien auf jeden Fall verhindern. Dazu trägt man einfach folgendes in die htaccess ein:

<Files "config.*">
Order Allow,Deny
Deny from All
</Files>

Achtung bei Mods

Das phpBB selber ist eigentlich sehr sicher, sollte es trotzdem man zu einer Sicherheitslücke kommen wird eigentlich immer schnell reagiert und es gibt ein Update. Bei Mods gilt das aber nicht unbedingt. Über Updates von phpBB selber wird man im Adminbereich informiert, wenn es aber ein Update zu einer Mod gibt erfährt man dafür nur wenn man regelmäßig auf der Webseite des Mod Autors nachsieht. Man sollte sich also gut überlegen welche Mods man einbaut, gerade bei Beta Mods besteht die Gefahr das sie noch Sicherheitslücken beinhalten. Mods die in die Mod Datenbank bei phpbb.com oder phpbb.de aufgenommen wurden werden im Normalfall ausführlich getestet so das hier das Risiko von Sicherheitslücken kleiner ist. Auf jeden Fall sollte man sich irgendwo im Forum eine Liste anlegen in der alle verbauten Mods mit Link zum Download notiert werden, so kann man regelmäßig prüfen ob es neue Versionen gibt.

Spam Beiträge

Forenspam hat nichts mit der Sicherheit des Forums zutun da zum spammen keine echten Sicherheitslücken ausgenutzt werden und außer das es nervt dadurch kein Schaden entsteht. Wie Forenspam funktioniert und was man dagegen tun kann habe ich hier beschrieben.


Ähnliche Beiträge


Kommentare


Bitte warten ...

Kommentar schreiben

URLs werden automatisch umgewandelt.
[b]DEIN TEXT[/b] für Fett gedruckt
[quote]DEIN ZITAT[/quote] für Zitate
[code]DEIN CODE[/code] für Code
captcha