Hallo zusammen,
ich wäre euch wirklich SEHR dankbar, wenn ihr mir zu den unten genannten Punkten je nach Euren Erfahrungen helfen könntet!
Ich habe hier eine allgemeine Frage. Ich möchte Contao für meine neue erste Seite benutzen und möglichst von Beginn an alle Einstellungen so setzen, um eine möglichst sichere Seite aufzubauen.
Welche Möglichkeiten gibt es, um die Sicherheit einer Seite hinsichtlich Hacker-Angriffen (von meist automatisierten Angriffsprogrammen) zu erhöhen?
Meine Seite soll evtl. im Shared-Webhosting-Bereich erstellt werden.
Hier habe ich so einige Fragen, die sich mir diesbezüglich aus meiner eigenen Recherche heraus gestellt haben:
1) Ich habe einen Leitfaden gefunden, wie eine WordPress Seite vor Hackern "geschützt" wird:
http://www.drweb.de/magazin/eine-wor...ekt-absichern/
Gibt es so etwas Ähnliches auch für Contao?
2) Was ist zu folgenden Leistungen, die von Webhostern angeboten werden, zu sagen? Wichtig oder nicht so wichtig, um Sicherheit zu erhöhen? SSH SFTP, FTPS, POP3s, IMAPs, TLS, SSL.
3) Worauf kann man alles aus Sicherheitssicht achten bei der Installation?
4) Wie wird die Webseite am sichersten aktualisiert? Mit FTP wohl nicht.
5) Ist es aus Sicherheitssicht besser mod_php oder php als cgi (CGI oder FASTCGI) zu verwenden? Und CGI-PHP erlaubt doch den Einsatz der Apache-Erweiterung suexec, wo CGI-Programme in einer geschützten Umgebung ausgeführt werden, oder?
6) Wie kann man z.B. mit Hilfe der Konfiguration der PHP-Umgebung (php.ini Zugriff leider nicht bei allen Webhostern möglich) für mehr Sicherheit sorgen? Z.B. wird glaube ich oft folgendes allgemein Empfohlen:
-allow_url_fopen auf OFF setzen
-allow_url_include auf OFF setzen
-disable_functions. Empfohlene Einstellung: escapeshellcmd, exec, ini_restore, passthru, popen, proc_nice, proc_open, shell_exec, system.
-display_errors auf OFF setzen
-open_basedir. Empfohlene Einstellung: Root Verzeichnis der Internetpräsenz
-register_globals auf OFF setzen
-safe_mode Einstellung? Da es glaube ich eh nicht empfohlen wird, hiermit die Sicherheit zu erhöhen und Contao besser ohne dem läuft, sollte es auf OFF gesetzt werden, oder?
Und was sagt ihr zu folgenden Tipps?
7) Ein Tipp aus dem Web war: eine leere index.XXX in jeden einzelnen Ordner abzulegen - vielicht noch mit redirekt auf die Startseite, somit kann man schon nicht mehr einen Ordner gezielt über die Adresszeile ansteuern man landet automatisch auf der leeren Seite, die nix anzeigt.
8) Ein weiterer Tipp: Bei PHP/MySQL sollte man vorzugsweise mit PDO und prepared statements arbeiten. Damit kann man auf einfache und elegante Weise SQL-Injections verhindern.
9) Ein weiterer Tipp: Die meisten Webanwendungen mit MySQL-Anbindung legen ihre Datenbankpasswörter im Klartext im Webverzeichnis ab. Im Idealfall sollten diese Dateien nur für den Besitzer lesbar sein, was sich mit den meisten FTP-Programmen über die Dateieigenschaften festlegen lässt.
10) Ein weiterer Tipp war, bei php.ini-Dateien und den Verzeichnissen, in denen sie liegen, die Schreibrechte zu entfernen und mit Hilfe von disabled_functions dafür sorgen, dass PHP-Skripte nicht mit chmod() an den Zugriffsrechten drehen können. Ein gekapertes PHP-Programm könnte die Dateien dann nicht mehr mit eigenen Werten füttern oder löschen und so die Sicherheitsvorkehrungen aushebeln. Allerdings müssen die Schreibrechte etwa zum Einspielen von Updates vorübergehend wieder zurückgedreht werden.
11) Dann wird z.B. noch erwähnt, dass sich allow_url_fopen = off unter Umständen mit Hilfe sogenannter Streams ("php://input" und "data://") umgehen lässt und lediglich die Suhosin-Erweiterung das unterbinden kann.