CodeGym /Kurse /Docker SELF /Firewall-Konfiguration, SELinux und grundlegende ACL-Rege...

Firewall-Konfiguration, SELinux und grundlegende ACL-Regeln

Docker SELF
Level 5 , Lektion 5
Verfügbar

Firewall-Konfiguration, SELinux und grundlegende ACL-Regeln

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

  1. Überprüfe den Status von UFW. Nicht installiert? Dann installieren wir es!

    # Status von UFW überprüfen
    sudo ufw status
  2. Wenn der Befehl sagt, dass die "Firewall deaktiviert" ist, dann müssen wir das ändern.

  3. UFW installieren und starten.

    # Installation (falls nötig)
    sudo apt install ufw
    
    # Firewall aktivieren
    sudo ufw enable
  4. Zugriff 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
  5. Überprüfung: Nach der Einrichtung solltet ihr etwa Folgendes sehen:

    Status: aktiv
    Zu                         Aktion      Von
    --                         ------      ----
    22                         ERLAUBEN    Überall
    80                         ERLAUBEN    Überall
    

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

  1. Status überprüfen:

    # Herausfinden, ob SELinux aktiviert ist
    sestatus

    Wenn der Modus disabled angezeigt wird, muss er über die Konfigurationsdatei aktiviert werden.

  2. SELinux über die Konfiguration aktivieren:

    Die SELinux-Konfigurationsdatei befindet sich unter /etc/selinux/config. Öffne sie mit einem Texteditor (zum Beispiel nano).

    sudo nano /etc/selinux/config
    

    Finde die Zeile:

    SELINUX=disabled
    

    Ändere sie zu:

    SELINUX=enforcing
    

    Speichere die Änderungen und starte das System neu, damit die Änderungen wirksam werden:

    sudo reboot
    
  3. Überprüfung nach dem Neustart.

    Nachdem das System neu gestartet wurde, überprüfe erneut den Status von SELinux:

    getenforce
    

    Wenn 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.

  1. Dateikontext anzeigen: SELinux verwendet Kontexte zur Verwaltung des Zugriffs. Lass uns sehen, welchen Kontext das Verzeichnis /var/www/html hat.

    ls -Z /var/www/html
    

    Beispielausgabe:

    drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
    

    Wenn etwas nicht stimmt, kannst du den Kontext vorübergehend ändern:

    sudo chcon -t httpd_sys_content_t /var/www/html
    
  2. Webserver ü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.

  1. Erstelle das Verzeichnis:

    sudo mkdir /project_dir
    
  2. Setze die Zugriffsrechte:

    Wir erlauben user1 vollen Zugriff und user2 nur 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
  3. Überprüfe ACL:

    # Überprüfung der aktuellen Rechte
    getfacl /project_dir

    Die Ausgabe sollte deine Einstellungen anzeigen:

    # file: /project_dir
    user::rwx
    user:user1:rwx
    user:user2:r--
  4. 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

  1. 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.
  2. SELinux:

    • Überprüfe die Dateikontexte, um sicherzustellen, dass SELinux den Zugriff korrekt einschränkt.
  3. ACL:

    • Melde dich als user1 und user2 an und versuche, Dateien im Verzeichnis /project_dir zu lesen und zu schreiben.

Praktische Aufgaben

  1. Konfiguriere die Firewall so, dass nur auf SSH und HTTP zugegriffen werden kann.
  2. Aktiviere SELinux im enforcing-Modus und stelle sicher, dass der Webserver korrekt funktioniert.
  3. Richte ACLs für das Verzeichnis /project_dir ein, sodass user1 vollen Zugriff hat und user2 nur Leserechte besitzt.
  4. 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!

1
Опрос
Arbeiten mit Benutzern in Linux,  5 уровень,  5 лекция
недоступен
Arbeiten mit Benutzern in Linux
Arbeiten mit Benutzern in Linux
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION