Aufgabe 08 - Angriffsfläche bestimmen und schließen
Aufgabe 08 - Angriffsfläche bestimmen und schließen
Abschnitt betitelt „Aufgabe 08 - Angriffsfläche bestimmen und schließen“Worum geht es?
Abschnitt betitelt „Worum geht es?“Sie bestimmen, was an Ihrem Server von außen erreichbar ist, schließen alles, was nicht offen sein muss, und belegen die Veränderung mit einer Gegenüberstellung von Ausgangs- und Endzustand (siehe Kapitel Server aufsetzen und härten). Zu jeder offenen Tür beantworten Sie zwei Fragen: Welcher Dienst steht dahinter, und muss er wirklich aus dem Internet erreichbar sein?
Was Sie dafür brauchen
Abschnitt betitelt „Was Sie dafür brauchen“- Kapitel Server aufsetzen und härten, Abschnitte Was von außen erreichbar ist bis Automatisierte Angriffe dämpfen.
- Ihren Server aus den Aufgaben 04 bis 07, mindestens 24 Stunden in Betrieb.
- Einen zweiten Rechner außerhalb des Servers, um die Erreichbarkeit von außen zu prüfen. Ein Handy im Mobilfunknetz genügt.
Welche Kompetenzen Sie erwerben und zeigen
Abschnitt betitelt „Welche Kompetenzen Sie erwerben und zeigen“- Sie bestimmen die Angriffsfläche eines Servers und begründen jeden offenen Port.
- Sie richten eine Firewall mit Standardverbot ein und aktivieren automatische Sicherheitsupdates.
- Sie beurteilen die Wirkung und die Grenzen einer Härtungsmaßnahme, statt sie nur zu nennen.
Pädagogische Einordnung
Abschnitt betitelt „Pädagogische Einordnung“- Reproduktion: offene Ports ermitteln und die Firewallregeln nach Vorlage setzen (Teil A).
- Reorganisation und Transfer: die Wirkung von außen prüfen und belegen (Teil B).
- Reflexion, Problemlösung und Urteilsbildung: Maßnahmen nach ihrer Wirkung bewerten und Grenzen benennen (Teil C).
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Die Übung ist auf etwa zwei Stunden ausgelegt.
Teil A - Der Ausgangszustand
Abschnitt betitelt „Teil A - Der Ausgangszustand“-
Rufen Sie
ss -tulpnauf und sichern Sie die vollständige Ausgabe in einer Datei. Sie ist das „Vorher” Ihres Nachweises und lässt sich nach Teil B nicht mehr herstellen. -
Legen Sie daraus eine Tabelle mit fünf Spalten an: Port, Adresse, Dienst, aus dem Internet nötig?, Begründung. Füllen Sie jede Zeile aus. In der Begründungsspalte steht ein ganzer Satz, nicht „ja” oder „nein”.
-
Sehen Sie sich die Adressspalte genau an. Unterscheiden Sie Dienste, die an
0.0.0.0oder[::]lauschen, von solchen an127.0.0.1. Erklären Sie in drei bis vier Sätzen, was der Unterschied für die Erreichbarkeit aus dem Internet bedeutet, und warum er wichtiger ist als die Portnummer. -
Prüfen Sie die Erreichbarkeit von Ihrem zweiten Rechner aus, zum Beispiel mit
nc -zv <ip> <port>für jeden Port aus Ihrer Tabelle. Notieren Sie, welche Ports von dort antworten. -
Erklären Sie in zwei Sätzen, warum eine Prüfung auf dem Server selbst diese Frage nicht beantworten kann.
Teil B - Firewall und automatische Updates
Abschnitt betitelt „Teil B - Firewall und automatische Updates“-
Richten Sie
ufwmit Standardverbot für eingehenden Verkehr ein und erlauben Sie SSH sowie die Ports 80 und 443. Notieren Sie jeden abgesetzten Befehl. -
Achten Sie auf die Reihenfolge: Die SSH-Regel steht vor dem
ufw enable. Erklären Sie in zwei Sätzen, was bei umgekehrter Reihenfolge passiert und wie Sie dann wieder auf den Server kämen. -
Rufen Sie
sudo ufw status verboseauf und wiederholen Sie danach die Erreichbarkeitsprüfung vom zweiten Rechner. Stellen Sie das Ergebnis dem aus Teil A Punkt 4 gegenüber. -
Nehmen Sie sich die Zeilen Ihrer Tabelle vor, die Sie in Teil A mit „nein” beantwortet haben. Binden Sie diese Dienste zusätzlich an
127.0.0.1, statt sich allein auf die Firewall zu verlassen. Begründen Sie in drei Sätzen, warum zwei Ebenen hier besser sind als eine. -
Installieren Sie
unattended-upgradesund richten Sie es so ein, dass Sicherheitsupdates automatisch eingespielt werden und die Maschine dafür zu einer festen Uhrzeit neu startet. Notieren Sie die beiden geänderten Einstellungen aus/etc/apt/apt.conf.d/50unattended-upgrades. -
Begründen Sie den automatischen Neustart in zwei bis drei Sätzen. Gehen Sie dabei auf Kernel-Updates ein und darauf, was ein Server ansammelt, der aus Vorsicht nie neu startet.
-
Installieren Sie
fail2banund aktivieren Sie es. Lesen Sie nach 24 Stundensudo fail2ban-client status sshdund notieren Sie die Zahl der gesperrten Adressen.
Teil C - Belegen und beurteilen
Abschnitt betitelt „Teil C - Belegen und beurteilen“-
Erzeugen Sie den Endzustand:
ss -tulpnerneut, dazusudo ufw status verboseund die Prüfung vom zweiten Rechner. -
Stellen Sie Ausgangs- und Endzustand in
docs/haertung.mdnebeneinander. Diese beiden Ausgaben sind der kürzeste Beleg dafür, dass sich etwas geändert hat. -
Schreiben Sie zu Firewall und automatischen Updates je einen Eintrag nach dem Muster des Kapitels, mit Überschrift, Datum, Vorher, Maßnahme, Nachher und Gegenprobe.
-
Kopieren Sie die geänderten Dateien aus
/etcins Repository und committen Sie sie. Dazu gehören die Firewallregeln,50unattended-upgradesund die Konfiguration vonfail2ban. -
Beurteilen Sie
fail2banin fünf bis sechs Sätzen anhand Ihrer eigenen Zahl aus Teil B Punkt 7. Beantworten Sie dabei zwei Fragen: Wogegen hilft es messbar, und warum richtet es gegen jemanden, der es gezielt auf Ihren Server abgesehen hat, wenig aus? -
Im nächsten Kapitel kommen Container hinzu. Erklären Sie in fünf bis sechs Sätzen, warum ein mit
ports: "5432:5432"veröffentlichter Datenbankport aus dem Internet erreichbar ist, obwohlufwihn verbietet undufw statusweiterhin „deny” anzeigt. Nennen Sie danach die beiden Gegenmaßnahmen aus dem Kapitel. -
Prüfen Sie, ob Ihr Anbieter eine Cloud-Firewall außerhalb der Maschine anbietet. Richten Sie sie ein, falls verfügbar, und erklären Sie in drei bis vier Sätzen, warum Docker diese Ebene nicht aushebeln kann.
-
Schreiben Sie eine Härtungsbilanz von etwa 15 Zeilen. Sie listet jede Maßnahme dieses Kapitels mit einer Einschätzung ihrer Wirkung als hoch, mittel oder gering. Maßnahmen, die Sie bewusst nicht umgesetzt haben, stehen mit Begründung ebenfalls darin.
-
Legen Sie einen Snapshot des gehärteten Zustands an und notieren Sie ihn in
docs/betrieb.md. Er ist der Ausgangspunkt für das nächste Kapitel.
Wissenscheck
Abschnitt betitelt „Wissenscheck“- Was zeigt
ss -tulpn, und warum ist jede Zeile davon eine Entscheidung? - Worin unterscheidet sich ein Dienst an
0.0.0.0von einem an127.0.0.1? - Warum dreht eine Firewall die Grundeinstellung um, und wie heißt das Prinzip dahinter?
- Warum muss die SSH-Regel vor dem
ufw enablestehen? - Warum prüft man die Erreichbarkeit von einem zweiten Rechner aus und nicht vom Server selbst?
- Wogegen hilft
fail2ban, und wogegen hilft es nicht? - Warum ist eine veraltete Softwareversion einer der häufigsten Einbruchswege, und was tut
unattended-upgradesdagegen?
In docs/haertung.md stehen die Gegenüberstellung der offenen Ports vor und nach dieser Übung, die Einträge zu Firewall und automatischen Updates mit Nachweis sowie die Härtungsbilanz. Die geänderten Dateien aus /etc sind committet. Snapshot und Eingriffe stehen in docs/betrieb.md. Die Porttabelle, die Erreichbarkeitsprüfungen und die Antworten aus Teil C stehen in protokoll.md.