Ich habe eine einfache LAMP-Anwendung installiert und möchte sicherstellen, dass PHP nicht auf etwas außerhalb des Verzeichnisses /var/www zugreifen kann. Wie mache ich das? Mit „Zugriff“ meine ich auch das Lesen von Dateien und Verzeichnislisten.
Ich frage das aus Sicherheitsgründen. Auf meinem Server läuft WordPress und wenn jemand Zugriff auf das Administratorkonto hat, kann er den Vorlagencode bearbeiten, über den er überall im System zugreifen kann.
Danke schön!
Antwort1
Hier sind die wichtigsten Schritte zum Sichern einer LAMP-Einrichtung:
- Stellen Sie sicher, dass alle Websites mit ihrem eigenen Benutzer ausgeführt werden. Sie können dies mit Apache mod_itk/mod_php oder PHP-FPM erreichen (normalerweise mit Apache oder Nginx).
- Stellen Sie sicher, dass Root der Eigentümer der Dateien ist und die Gruppe ein Webserverbenutzer ist (oder umgekehrt).
- Stellen Sie sicher, dass die Zugriffsrechte 640 für Dateien und 750 für Verzeichnisse betragen. Nur Wordpress-Upload-Ordner haben die Rechte 660/770.
- Ändern Sie die Zugriffsrechte für PHP-Dateien nur, wenn Sie ein Upgrade durchführen oder Plugins installieren.
Stellen Sie sicher, dass PHP-Dateien nicht im Bilderordner ausgeführt werden können:
<FilesMatch "/uploads/\.(asp|php|php5|pl)$"> Deny from all </FilesMatch>
Diese Technik funktioniert nicht so gut mit Wordpress, da Plugins PHP-Dateien in diesen Ordner installieren. Es ist vielleicht besser, die Ordner uploads/2017 etc. zu sichern.
- Halten Sie die Installation auf dem neuesten Stand
- Halten Sie die Serversoftware auf dem neuesten Stand
- Führen Sie eine regelmäßige Protokollüberprüfung durch
- Erstellen Sie Backups
- Schnell wiederaufbauen können