1. Schritt 1: Installation und Konfiguration der Firewall
Hi! Heute machen wir ein bisschen praktische Arbeit und setzen alles um, was ihr den ganzen Tag über Linux-Sicherheit gelernt habt. Wir richten eine Firewall ein, werfen einen Blick auf die Funktionsweise von SELinux und diskutieren, wie man ACL für die Verwaltung von Dateizugriffen nutzen kann. Diese Vorlesung ist euer "Trainingsgelände". Zeit, unsere Admin-"Schulterklappen" aufzusetzen und loszulegen!
Ihr wisst schon, dass eine gute Firewall wie ein Türsteher ist. Sie entscheidet, wer rein darf und wer nicht. Als Erstes schützen wir unser System, indem wir den Zugriff nur auf die Dienste SSH und HTTP beschränken.
Arbeiten mit UFW
Überprüfe den Status von UFW. Nicht installiert? Dann installieren wir es!
# Status von UFW überprüfen sudo ufw statusUFW installieren und starten.
# Installation (falls nötig) sudo apt install ufw # Firewall aktivieren sudo ufw enableZugriff konfigurieren. Wir möchten nur SSH (Port 22) und HTTP (Port 80) erlauben und alles andere blockieren. Die Logik ist klar: Der Server ist kein Drei-Sterne-Hotel für alle.
# SSH erlauben sudo ufw allow 22 # HTTP erlauben sudo ufw allow 80 # Einstellungen überprüfen sudo ufw statusÜberprüfung: Nach der Einrichtung solltet ihr etwa Folgendes sehen:
Status: aktiv Zu Aktion Von -- ------ ---- 22 ERLAUBEN Überall 80 ERLAUBEN Überall
Wenn der Befehl sagt, dass die "Firewall deaktiviert" ist, dann müssen wir das ändern.
Wenn ihr iptables verwendet, ist die Einrichtung etwas komplizierter, aber die Logik bleibt dieselbe: Regeln für SSH und HTTP erstellen und alles andere blockieren.
2. Schritt 2: Arbeiten mit SELinux
SELinux ist wie ein strenger Lehrer, der das Verhalten von Dateien und Nutzern auf deinem Server überwacht. Sein Motto: „Vertrauen ist gut, Kontrolle ist besser“. Lass uns SELinux aktivieren und seine Funktionalität überprüfen.
SELinux aktivieren
Status überprüfen:
# Herausfinden, ob SELinux aktiviert ist sestatusWenn der Modus
disabledangezeigt wird, muss er über die Konfigurationsdatei aktiviert werden.SELinux über die Konfiguration aktivieren:
Die SELinux-Konfigurationsdatei befindet sich unter
/etc/selinux/config. Öffne sie mit einem Texteditor (zum Beispielnano).sudo nano /etc/selinux/configFinde die Zeile:
SELINUX=disabledÄndere sie zu:
SELINUX=enforcingSpeichere die Änderungen und starte das System neu, damit die Änderungen wirksam werden:
sudo rebootÜberprüfung nach dem Neustart.
Nachdem das System neu gestartet wurde, überprüfe erneut den Status von SELinux:
getenforceWenn das System Enforcing antwortet, herzlichen Glückwunsch, du bist auf dem Weg zur Sicherheit!
Beispiel mit SELinux und einem Webserver
Angenommen, du hast einen Webserver, der Dateien im Verzeichnis /var/www/html speichert. Überprüfen wir, wie SELinux ihn schützt.
Dateikontext anzeigen: SELinux verwendet Kontexte zur Verwaltung des Zugriffs. Lass uns sehen, welchen Kontext das Verzeichnis
/var/www/htmlhat.ls -Z /var/www/htmlBeispielausgabe:
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/htmlWenn etwas nicht stimmt, kannst du den Kontext vorübergehend ändern:
sudo chcon -t httpd_sys_content_t /var/www/htmlWebserver überprüfen: Nach der Konfiguration des Kontexts überprüfe, ob dein Server funktioniert und ob es keine Zugriffsfelder gibt.
3. Schritt 3: Rechteverwaltung mit ACL
ACL (Access Control List) – das ist wie ein "zusätzlicher Schlüssel" zur Zugriffskontrolle. Wenn die Standardrechte rwx dich einschränken, erlaubt ACL dir, den Zugriff für bestimmte Benutzer genauer einzustellen.
Erstelle ein Testverzeichnis
Lass uns ein Verzeichnis project_dir erstellen und es so konfigurieren, dass zwei Benutzer darauf zugreifen können: user1 und user2.
Erstelle das Verzeichnis:
sudo mkdir /project_dirSetze die Zugriffsrechte:
Wir erlauben
user1vollen Zugriff unduser2nur Lesezugriff:# Voller Zugriff für user1 sudo setfacl -m u:user1:rwx /project_dir # Nur Lesezugriff für user2 sudo setfacl -m u:user2:r-- /project_dirÜberprüfe ACL:
# Überprüfung der aktuellen Rechte getfacl /project_dirDie Ausgabe sollte deine Einstellungen anzeigen:
# file: /project_dir user::rwx user:user1:rwx user:user2:r--Setze Standardrechte:
Damit alle neuen Dateien im Verzeichnis automatisch die ACL-Rechte erben, setzen wir sie als Standard:
sudo setfacl -d -m u:user1:rwx /project_dir sudo setfacl -d -m u:user2:r-- /project_dir
4. Überprüfung der endgültigen Konfiguration
Firewall:
- Stelle sicher, dass die SSH- und HTTP-Ports zugänglich sind und alle anderen blockiert werden. Versuche, dich per SSH mit dem Server zu verbinden und die Website im Browser zu öffnen.
SELinux:
- Überprüfe die Dateikontexte, um sicherzustellen, dass SELinux den Zugriff korrekt einschränkt.
ACL:
- Melde dich als
user1unduser2an und versuche, Dateien im Verzeichnis/project_dirzu lesen und zu schreiben.
- Melde dich als
Praktische Aufgaben
- Konfiguriere die Firewall so, dass nur auf SSH und HTTP zugegriffen werden kann.
- Aktiviere SELinux im
enforcing-Modus und stelle sicher, dass der Webserver korrekt funktioniert. - Richte ACLs für das Verzeichnis
/project_direin, sodassuser1vollen Zugriff hat unduser2nur Leserechte besitzt. - Prüfe die aktiven Benutzer im System mit dem Befehl
who.
Diese Übungen helfen dir, dein Wissen zu festigen und zu verstehen, wie du es in der Praxis anwenden kannst. Und denk daran: Sicherheit in Linux bedeutet nicht nur Konfigurationen, sondern auch ständige Aufmerksamkeit für Details. Viel Erfolg!
GO TO FULL VERSION