Site icon bintorosoft.com

Datei- und Verzeichnisrechte: Secure Permissions für Webserver

Close up of computer web page code inside of html file. Big data and Internet of things trend. Application web source code on monitor.

Datei- und Verzeichnisrechte sind ein entscheidender Faktor für die Sicherheit von Webservern. Unsichere Berechtigungen können Angreifern ermöglichen, auf sensible Dateien zuzugreifen, Inhalte zu manipulieren oder Schadcode einzuschleusen. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers, wie Webserver-Dateien und -Verzeichnisse sicher konfiguriert werden, welche Rechte empfohlen werden und wie diese mit Linux-CLI-Befehlen umgesetzt werden.

Grundlagen von Linux-Dateiberechtigungen

Jede Datei und jedes Verzeichnis unter Linux besitzt drei Berechtigungsklassen:

Jede Klasse hat drei Berechtigungen:

Dateiberechtigungen prüfen

ls -l /var/www/html
# Beispielausgabe:
# -rw-r--r-- 1 www-data www-data 1024 Mär  7 10:00 index.html

Empfohlene Berechtigungen für Webserver

Die empfohlenen Rechte verhindern, dass andere Benutzer ungewollt Dateien ändern oder ausführen können.

Berechtigungen setzen

Verzeichnisse

sudo find /var/www/html -type d -exec chmod 755 {} ;

Dateien

sudo find /var/www/html -type f -exec chmod 644 {} ;

Besitzer und Gruppe anpassen

sudo chown -R www-data:www-data /var/www/html

Besondere Dateien absichern

Sensible Konfigurationsdateien oder Skripte sollten restriktivere Rechte haben.

sudo chmod 600 /var/www/html/config.php
sudo chown www-data:www-data /var/www/html/config.php

Verzeichnisschutz mit .htaccess

Apache-Webserver erlauben zusätzlichen Schutz über .htaccess:

# Zugriff nur von interner IP erlauben
Order deny,allow
Deny from all
Allow from 192.168.1.0/24

Nginx Zugriffsschutz

location /admin {
    allow 192.168.1.0/24;
    deny all;
}

SetUID, SetGID und Sticky Bit

Diese Sonderrechte werden nur in besonderen Szenarien benötigt:

Logs und temporäre Dateien absichern

Logdateien und temporäre Verzeichnisse sollten nur vom Webserver les- und beschreibbar sein.

sudo chmod 640 /var/log/nginx/*.log
sudo chown www-data:adm /var/log/nginx/*.log

Netzwerk und Subnetze berücksichtigen

Für IP-basierte Zugriffskontrollen ist eine saubere Subnetzplanung notwendig.

IPv4 Subnetz

<math>
Server-IP = 192.168.120.10/24
Subnetzadresse = 192.168.120.10 & 255.255.255.0 = 192.168.120.0
Broadcastadresse = 192.168.120.0 | ~255.255.255.0 = 192.168.120.255
</math>

IPv6 Subnetz

<math>
Server-IP = 2001:db8:abcd:120::10/64
Subnetzadresse = 2001:db8:abcd:120:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:120::0
Broadcastadresse = 2001:db8:abcd:120:ffff:ffff:ffff:ffff
</math>

Best Practices

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version