Ich möchte zu Hause eine kleine Site hosten und habe Apache usw. wie folgt installiert:
sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server
Das hat alles funktioniert und alles läuft.
Jetzt bin ich es gewohnt, mit XAMPP zu entwickeln, und ich wollte das nicht live verwenden, da viele Referenzen sagten, es sei nicht sehr sicher.
Meine Frage ist also, jetzt, wo ich Apache/PHP &MySql mit der obigen Methode installiert habe; Wie ist das Sicherheitsniveau standardmäßig ?
Gibt es Möglichkeiten, es sicherer zu machen, und vielleicht eine Checkliste oder einen Überblick über eventuell empfohlene Änderungen?
Klarstellung:Der LAMP-Server wäre eine Live-Site, keine in der Entwicklung befindliche.
Akzeptierte Antwort:
Ich betreibe meine eigenen LAMP-Server auf Ubuntu, die mit dem Internet verbunden sind, daher folge ich immer denselben Richtlinien. Normalerweise überprüfe ich Folgendes:
- Entfernen Sie in Apache die Dokumentation oder präsentieren Sie sie zumindest nicht über den Webserver (indem Sie den Link
/etc/apache2/conf-enabled/apache2-doc.conf
entfernen ) - Stellen Sie in Apache sicher, dass keine unnötigen Module geladen werden. Bei Ubuntu geschieht dies durch Entfernen der Links in
/etc/apache2/mods-enabled
. Jeder Link verweist auf eine Datei in/etc/apache2/mods-available
Verzeichnis, das jeweils ein Modul lädt und konfiguriert. - Sie sollten die Datei
/etc/apache2/conf-available/security.conf
überprüfen und aktivieren . Sie schlagen einige Sicherheitstipps vor, die standardmäßig nicht aktiviert sind : - Verweigerung des Zugriffs auf das gesamte Dateisystem mit Ausnahme der Verzeichnisse, die Sie später explizit zulassen würden
- Ändern des Server-Banners, um so wenig Informationen wie möglich über die laufende Software zu geben.
- Überprüfen Sie in PHP, dass Sie im Fehlerfall nicht zu viele Protokollinformationen auf den Bildschirm drucken (Parameter im Abschnitt Fehlerbehandlung und Protokollierung der
/etc/php4/apache2/php.ini
Datei. Die Kommentare in der Datei geben viele Informationen darüber, was besser zu tun ist) -
Sie müssen Ihren MySQL-Server nicht dem Internet aussetzen. Standardmäßig lauscht der Mysql-Server in Ubuntu nur auf localhost. Überprüfen Sie
/etc/mysql/my.cnf
im Abschnitt mysqld für den Parameter bind-address . Es sollte auf 127.0.0.1 sein:Bindungsadresse =127.0.0.1
-
Installieren Sie auf diesem Server nicht mehr Dienste als Sie benötigen.
- Vergessen Sie nicht, das Update anzuwenden, wenn es ankommt.
- Verlassen Sie sich nicht nur auf die Konfiguration des LAMP-Servers, vergessen Sie nicht, dass Sie auch eine PHP-Anwendung ausführen müssen, die einige Sicherheitsbedrohungen einführen kann (Eingabevalidierung und all diese Dinge, um die Eingabe von SQL-Abfragen in der Eingabe zu vermeiden Feld, um aus der DB mehr Informationen abzurufen, die Sie selbst gegeben hätten, …)
Das sind die ersten Dinge, die mir in den Sinn kommen. Ausführlichere Anleitungen und Anleitungen finden Sie natürlich im Internet :
- Sicherheit in MySQL 5.5
- Sicherheitsüberlegungen in PHP
- Sicherheitstipps für Apache 2.4