Einführung
Eine Firewallregel ist nur nützlich, wenn sie die vorgesehene Zugriffsgrenze erzeugt und benötigte Dienste erhält. Eine Erlaubnisregel bei Standardrichtlinie ACCEPT allein beweist nicht, dass jemand beschränkt wurde.
Dieses Lab stellt einen eigenen Kali-Dienst und zwei Übungsclients bereit. Du prüfst ihren anfänglichen Zugriff, wendest geordnete quellenbasierte Regeln in Kali an, speicherst und restaurierst die Übungsrichtlinie und testest beide Clientpfade.
Das Übungsnetzwerk vor der Zugriffsbeschränkung beobachten
In diesem Schritt testest du zwei bereitgestellte Clientsichten und prüfst die Firewall ihres Übungsdienstes.
Dieses Lab stellt ein kleines eigenes Netzwerk in der VM bereit. Der Kali-Übungsdienst liegt unter 172.30.77.10:8080; der erlaubte Client verwendet 172.30.77.20, der zu sperrende 172.30.77.30. Beide haben zunächst Zugriff. Das sind Übungsnetzwerkadressen, keine öffentlichen Ziele.
Beginne im anfänglichen Terminal des Ubuntu-Hosts. Der vorbereitete Befehl training-client stellt eine Anfrage von einem genannten Übungsclient. Er läuft auf dem Host; Firewallverwaltung erfolgt dagegen in Kali. Wähle den gemeinsamen Arbeitsbereich:
cd /home/labex/project
Speichere den anfänglichen HTTP-Status des erlaubten Clients:
training-client allowed > allowed-before.txt
cat allowed-before.txt
Die Statuszeile sollte 200 OK enthalten. Dokumentiere den anfänglichen Zugriff des anderen Clients:
training-client blocked > blocked-before.txt
cat blocked-before.txt
Auch er sollte 200 OK melden. Die Bezeichnung benennt den später zu sperrenden Client, nicht seinen Anfangszustand.
Öffne jetzt Kali, um dessen Firewall zu prüfen:
kali
Iptables wertet Paketfilterregeln in Ketten aus. INPUT behandelt für diese Umgebung bestimmte Pakete, OUTPUT lokal erzeugte Pakete und FORWARD weitergeleitete Pakete. -L INPUT listet die Eingangskette; -n behält numerische Adressen und Ports, -v ergänzt Zähler:
sudo iptables -L INPUT -n -v
Die Übungskette hat anfangs Richtlinie ACCEPT. Eine Kettenrichtlinie gilt, wenn keine Regel bereits über das Paket entschieden hat. In diesem Lab ergänzt du enge Regeln für den eigenen Dienst und lässt Standardrichtlinien sowie Hostfirewall unverändert.
Eine geordnete Dienstrichtlinie anwenden und speichern
In diesem Schritt erlaubst du den zugewiesenen Client, bevor du andere Übungsnetzwerkquellen für denselben Dienst zurückweist.
Bleibe in Kali. -A INPUT hängt eine Regel an die Eingangskette, -p tcp trifft TCP, -s eine Quelladresse, --dport wählt den Zielport, und -j die Aktion. Ergänze zuerst die enge Erlaubnisregel:
sudo iptables -A INPUT -p tcp -s 172.30.77.20 --dport 8080 -j ACCEPT
Weise danach andere Quellen im eigenen Übungssubnetz für denselben Port zurück. Das Präfix /24 bezeichnet den Netzwerkbereich 172.30.77.0:
sudo iptables -A INPUT -p tcp -s 172.30.77.0/24 --dport 8080 -j REJECT
Regeln werden der Reihe nach ausgewertet. Die erlaubte Quelle trifft die erste abschließende ACCEPT-Regel; der andere Übungsclient erreicht die spätere REJECT-Regel. Umgekehrte Reihenfolge würde auch den erlaubten Client zurückweisen. Andere Ports und Quellen folgen weiter der unveränderten Standardrichtlinie.
Zeige Regelreihenfolge und Zähler. --line-numbers ergänzt die Position jeder Regel:
sudo iptables -L INPUT -n -v --line-numbers
Die erste Regel sollte den zugewiesenen Client auf TCP 8080 erlauben, die spätere den übrigen Übungssubnetzverkehr dieses Dienstes zurückweisen.
iptables-save gibt aktive Regeln in einem wiederherstellbaren Format aus. Speichere die Übungskonfiguration im gemeinsamen Arbeitsbereich:
sudo iptables-save > /home/labex/project/training.rules
Der Shell-Operator < liefert eine Datei als Standardeingabe eines Befehls. iptables-restore liest die gespeicherte Konfiguration. Hier restaurierst du genau die gerade gespeicherten Übungsregeln:
sudo iptables-restore < /home/labex/project/training.rules
Das wirkt nur in der eigenen Kali-Netzwerkumgebung. Leere nicht die Hostfirewall und ersetze keine Standardrichtlinien, um eine enge Dienstbeschränkung zu erreichen.
Erlaubten und verweigerten Clientzugriff prüfen
In diesem Schritt testest du die Richtlinie von beiden Clientquellen und bestätigst, dass der Übungsdienst verfügbar bleibt.
Kehre aus Kali zum Terminal des Ubuntu-Hosts zurück, um die bereitgestellten Clientsichten zu verwenden:
exit
Die Host-Eingabeaufforderung nennt labex. Dokumentiere das neue Ergebnis des erlaubten Clients:
training-client allowed > /home/labex/project/allowed-after.txt
cat /home/labex/project/allowed-after.txt
Es sollte weiterhin 200 OK melden.
Der nächste Befehl soll fehlschlagen, mit abgelehnter Verbindung oder anderem Verbindungsfehler: Diesen Client hast du absichtlich gesperrt. Fahre nach dem beabsichtigten Fehler fort:
training-client blocked
Eine fehlgeschlagene Anfrage des gesperrten Clients ist nur aussagekräftig, solange der erlaubte Pfad funktioniert. Den Webdienst zu stoppen würde beide Pfade unterbrechen und nicht die geforderte Richtlinie demonstrieren.
Kehre zu Kali zurück und prüfe nach den Tests die Zähler:
kali
sudo iptables -L INPUT -n -v --line-numbers
Die relevanten Regelzähler sollten gestiegen sein. Du hast tatsächliches Verkehrsverhalten und Regeltext geprüft; das LabEx-Hostterminal bleibt während der gesamten Übung verfügbar.
Zusammenfassung
Du hast Kettenrichtlinien geprüft, geordnete quellenbasierte Regeln für einen Dienst ergänzt, die Übungskonfiguration gespeichert und restauriert und tatsächlichen Zugriff von zwei Clients getestet. Die erlaubte Quelle und der Dienst blieben verfügbar, während die bezeichnete Quelle abgewiesen wurde.



