Wie sichert man das System gegen Angriffe ab
- Datei jhot.php löschen. JGraphPad funktioniert dann nicht mehr, bis wir eine korrigierte Datei bereitstellen. Per CVS (BRANCH-1-9 oder HEAD) ist ein Fix schon verfügbar.
- Datei tiki-editpage.php untersuchen. Wenn die Zeile
Copy to clipboard
chmod("$wiki_up/$picname", 0755); // seems necessary on some system (see move_uploaded_file doc on php.net
existiert, bitte entfernen (gefixt im kommenden Tiki 1.9.5)
Links:
- howto .htaccess files
- Script zum automatisierten Ein-/Ausschalten von .htaccess Dateien
- hardened php
- chroot apache
- Meldung des Internet Storm Centers
- Meldung bei Heise
- .htaccess Dateien aktivieren. Tiki liefert diese schon mit, sie müssen nur noch von _htaccess nach .htaccess umbenannt werden. Ein Script zum automatischen Ein-/Auschalten der .htaccess Dateien gibt es http://tikiwiki.org/tiki-index.php?page=ScriptEnableHtaccess" class="wiki wikinew text-danger tips">hier.
- Rechte aller Dateien im Document Root neu setzen mit fixperms.sh von Tiki. Wir arbeiten an einer verbesserten Version des Scripts.
- Über tiki-install.php oder per mysql Client das Script tiki-secdb_1.9_mysql.sql in die Datenbank importieren und in Tiki dann im Menü unter Sicherheit "Alle Dateien Prüfen" anklicken. Tiki vergleicht dann alle gefundenen PHP-Dateien mit Prüfsummen aus der Datenbank und meldet entsprechende Differenzen. Angemeckerte Dateien sollte man sich anschauen.
Das ist, was man auf die Schnelle tun kann. Wer mehr machen möchte:
- Apache in einer chroot-Umgebung starten. Die Attacken benutzen perl, wget, curl etc. Wenn diese nicht mehr gefunden werden, laufen die Aufrufe ins Leere.
- Die Befehle zum Aufruf externer Dateien oder andere gefährliche Befehe in der php.ini deaktivieren:
Copy to clipboard
disable_functions passthru, system, shell_exec, popen, proc_open, exec, eval
Am besten gleich das Hardened PHP benutzen, hier sind noch viele andere Sicherheitsfixes enthalten.
Wir können nicht garantieren daß das hilft, aber es ist ein Anfang.
Wie stellt man fest, ob man sich schon was gefangen hat
- Es läuft eine Anwendung auf Port 443. Kann man am schnellsten feststellen indem man apache durchstartet. apache meldet dann, daß der er nicht starten kann weil Port 443 schon blockiert ist. Man muß dafür natürlich Listen 443 in der httpd.conf eingetragen haben.
- Die Dateien img/wiki/tiki-setup.php (tiki-setup.php im root-Verzeichnis ist von Tiki), tmp.php, tiki-lang.php, mod_wiki.php oder lang/lang.php sind alles Hacks und gehören nicht zu PHP! Weg damit.