Konfiguration der Linux Firewall mit iptables
Erfahren Sie hier, wie Sie einen Server mit iptables sichern
Ziel
Ihr VPS ist mit einer Firewall ausgestattet. Firewalls schaffen eine Barriere zwischen einem vertrauenswürdigen und einem unzuverlässigen Netzwerk. Firewalls implementieren Regeln, die erlaubten und gesperrten Traffic verwalten. Die für Linux-Systeme etablierte Firewall ist iptables.
Diese Anleitung erklärt, wie Sie Ihren Server mit iptables sichern.
Informationen zur Verwaltung Ihrer OVHcloud Dienste und wie Sie die passende Unterstützung finden
Beachten Sie bei der Verwendung der OVHcloud Anleitungen die folgenden Bedingungen:
- Die Anweisungen sind so detailliert wie möglich, können jedoch nicht alle individuellen Anwendungsfälle abdecken. Gegebenenfalls müssen Sie die beschriebenen Schritte an Ihre Anforderungen anpassen.
- Das OVHcloud Ökosystem ist auf Flexibilität und Wahlfreiheit ausgelegt. Kunden sind daher für die sichere und ordnungsgemäße Konfiguration ihrer Dienste verantwortlich. Um Datenverlust vorzubeugen, empfehlen wir dringend, Backup-Strategien für alle wichtigen Daten anzuwenden.
- Unsere Anleitungen und Tutorials können Software oder Dienste von Drittanbietern in Kombination mit OVHcloud Lösungen umfassen. Der technische Support von OVHcloud beinhaltet nicht die Konfiguration von Systemen oder Produkten außerhalb unserer Verantwortung. Dazu zählen unter anderem:
- Betriebssysteme und Benutzeroberflächen (Windows, Debian, Plesk etc.).
- Jegliche andere Drittanbieter-Software (FTP-Clients, E-Mail-Programme etc.).
- Dienste anderer Anbieter (DNS, APIs, Benutzeroberflächen etc.).
Um bei Problemen die passende Unterstützung zu erhalten, beachten Sie folgende Hinweise:
- Sie benötigen individuelle Hilfe oder möchten ein Thema besprechen, das in unserer Dokumentation nicht ausführlich behandelt wird?
Treten Sie der OVHcloud Community bei, um nach Ihrem Thema zu suchen und sich mit anderen Nutzern auszutauschen. - Sie möchten einen Vorfall zu Ihrem OVHcloud Dienst melden oder haben Schwierigkeiten im OVHcloud Kundencenter?
Erstellen Sie eine Supportanfrage in unserem Help Center. - Sie benötigen professionelle Unterstützung für Ihr Projekt oder Hilfe bei Aufgaben außerhalb unseres Support-Bereichs?
Besuchen Sie unser Partnerportal, um Experten zu finden, die mit OVHcloud Lösungen vertraut sind. - Sie suchen ausführlichere Informationen zu unseren Support Levels und Professional Services?
Besuchen Sie unsere Webseiten zu den OVHcloud Support Levels und den OVHcloud Professional Services.
Sie können dazu beitragen, unsere Dokumentation zu verbessern:
- Sie möchten Feedback zur Verbesserung einer Anleitung geben oder unzureichende Informationen auf einer bestimmten Seite melden?
Nutzen Sie die Schaltflächen unter „War diese Seite hilfreich?“ am Ende der Seite. - Sie möchten eine konkrete Aktualisierung der Dokumentation vorschlagen?
Verwenden Sie die Funktion „Diese Seite bearbeiten“ am Ende der Seite oder in der Seitenleiste.
Voraussetzungen
- Sie haben einen VPS in Ihrem OVHcloud Kunden-Account.
- Sie haben administrativen Zugriff (root/sudo) über SSH auf Ihren Server.
In der praktischen Anwendung
Diese Anleitung verwendet Befehle für eine Ubuntu Server Distribution.
Es handelt sich hierbei um eine generelle Vorgehensweise. Möglicherweise müssen aufgrund der Distribution und/oder des Betriebssystems, das Sie verwenden, einige Befehle entsprechend angepasst werden. Vereinzelt wird Ihnen geraten, ein Tool eines Drittanbieters zu verwenden. Bei Fragen zur Nutzung eines solchen Tools lesen Sie bitte die offizielle Dokumentation des jeweiligen Herausgebers.
Die meisten der hier beschriebenen Regeln gehen davon aus, dass Ihr iptables so konfiguriert ist, dass es eingehenden Datenverkehr selektiv zulässt und dann DROP anwendet. Wenn Sie vorhaben, eine andere Art von Konfiguration einzurichten, empfehlen wir Ihnen, die zugehörige Dokumentation zu konsultieren.
Schritt 1: Ihr System aktualisieren
Die Entwickler von Distributionen und Betriebssystemen bieten häufig Updates für Softwarepakete an, meist aus Sicherheitsgründen. Deswegen ist es für die Sicherheit Ihres Servers äußerst wichtig, Ihre Distribution oder Ihr Betriebssystem immer auf dem neuesten Stand zu halten.
Weitere Informationen finden Sie in unserer Anleitung zur Sicherung eines VPS.
Schritt 2: Die iptables Firewall mit Ubuntu installieren
Es gibt zwei verschiedene Versionen von iptables, für IPv4 und IPv6. Die Regeln, die wir in diesem Linux-spezifischen Tutorial erläutern, betreffen IPv4. Um iptables für IPv6 zu konfigurieren müssen Sie das Dienstprogramm iptables6 verwenden. Diese beiden Protokolle funktionieren nicht miteinander und müssen unabhängig konfiguriert werden.
iptables ist standardmäßig für die meisten Linux-Systeme installiert. Um zu bestätigen, dass iptables installiert ist, verwenden Sie folgenden Befehl:
Das folgende Beispiel des Outputs in Ubuntu bestätigt, dass die neueste Version von iptables bereits vorhanden ist:
Ein iptables-Befehl ist im Allgemeinen folgendermaßen aufgebaut:
Diese Liste enthält einige der üblichen Optionen:
- -A --append: Füge eine Regel zu einer Kette (Chain) hinzu (am Ende).
- -C --check: Suche nach einer Regel, die den Anforderungen der Kette entspricht.
- -D --delete: Die spezifizierten Regeln einer Kette löschen.
- -F --flush: Löscht alle Regeln.
- -I --insert: Füge eine Regel an einer bestimmten Position hinzu.
- -L --list: Zeigt alle Regeln einer Kette an.
- -N --new-chain: Erstelle eine neue Kette.
- -v --verbose Zeigt bei der Verwendung einer Listenoption mehr Informationen an.
- -X --delete-chain: Die gegebene Kette löschen.
Schritt 3: Den aktuellen Zustand von iptables überprüfen
Um alle aktuellen Regeln auf Ihrem Server anzuzeigen, geben Sie folgenden Befehl in der Kommandozeile ein:
Das System zeigt den Status Ihrer Tabellen an.
Die Ausgabe enthält drei Ketten:
Schritt 4: Traffic auf localhost erlauben
Um Traffic von Ihrem eigenen System (localhost) zu erlauben, fügen Sie die Eingangskette wie folgt hinzu:
Dieser Befehl konfiguriert die Firewall, um den Input-Traffic für das Interface (-i) von localhost (lo) zu akzeptieren. Damit wird dieser Traffic über Ihre Firewall übertragen. Sie müssen diese Regel festlegen, damit Anwendungen mit der Schnittstelle des localhost kommunizieren können.
Schritt 5: Traffic auf bestimmten Ports erlauben
Diese Regeln erlauben den Traffic auf spezifischen Ports, die Sie mithilfe der unten aufgeführten Befehle festlegen. Ein Port ist ein Kommunikationsendpunkt für einen bestimmten Datentyp.
Um HTTP-Web-Traffic zu erlauben geben Sie folgenden Befehl ein:
Um eingehenden SSH-Traffic (Secure Shell) zu erlauben, geben Sie Folgendes ein. (Beachten Sie dabei, dass der Standardport 22 im Beispiel verwendet wird. Wenn Sie eine andere Portnummer nutzen müssen die Befehle entsprechend angepasst werden.)
Um HTTPS-Web-Traffic zu erlauben geben Sie folgenden Befehl ein:
Die Optionen funktionieren wie folgt:
- -p: Überprüft das angegebene Protokoll (TCP).
- -—dport: Gibt den Zielport an.
- -j (jump): Führt die Aktion aus.
Wenn Sie den Zugriff auf Ihren Server verlieren, können Sie immer noch das KVM/IPMI Tool verwenden, um Ihre Konfiguration zu ändern oder Ihre Regeln zu löschen.
Weitere Informationen zum Zugriff auf dieses Tool finden Sie in dieser Anleitung.
Schritt 6: Den Traffic nach IP-Adresse kontrollieren
Verwenden Sie folgenden Befehl, um den Traffic von einer bestimmten IP-Adresse zu akzeptieren.
Ersetzen Sie IP_Adresse im Befehl mit der IP-Adresse, die Sie autorisieren möchten.
Sie können auch den Traffic von einer IP-Adresse aus sperren:
Ersetzen Sie die IP_Adresse im Befehl mit der IP-Adresse, die Sie blockieren möchten.
Sie können den Traffic aus einem IP-Adressbereich mit folgendem Befehl zurückweisen:
Die in den Beispielen verwendeten Optionen funktionieren wie folgt:
- -m: Entspricht der angegebenen Option.
- -iprange: Teilt dem System mit, einen IP-Adressbereich zu erwarten statt einer einzelnen IP-Adresse.
- --src-range: Identifiziert den IP-Adressbereich.
Schritt 7: Unerwünschten Traffic ablehnen
Wenn Sie Firewall-Regeln für iptables festlegen, müssen Sie unerwünschten Zugriff verhindern, indem Sie Traffic aus anderen Ports ablehnen:
Die Option "-A" fügt der Kette eine neue Regel hinzu. Wenn eine Verbindung über andere Ports als die von Ihnen bereits definierten läuft, wird sie abgebrochen.
Wenn Sie diesen Befehl eingeben, bevor Sie Schritt 5 ausführen, blockieren Sie alle Zugänge und damit auch die laufende SSH-Verbindung. Dies ist besonders relevant bei einem Server, auf den Sie remote zugreifen.
Schritt 8: Eine Regel löschen
Eine genauere Methode besteht darin, die Zeilennummer einer Regel zu löschen:
Lassen Sie zunächst alle Regeln anzeigen:
Suchen Sie die Zeile der Firewall-Regel, die Sie löschen möchten, und führen Sie diesen Befehl aus:
Ersetzen Sie Nummer mit der Zeilennummer, die Sie löschen möchten.
Schritt 9: Ihre Änderungen speichern
Beim Neustart des Systems werden Regeln, die Sie für iptables erstellt haben, nicht beibehalten. Jedes Mal, wenn Sie iptables unter Linux konfigurieren, greifen alle von Ihnen vorgenommenen Änderungen nur bis zum nächsten Neustart.
Auf Ubuntu-basierten Systemen übernimmt das Paket iptables-persistent das Wiederherstellen Ihrer Regeln beim Systemstart. Installieren Sie es mit folgendem Befehl:
Während der Installation werden Sie gefragt, ob die aktuellen IPv4- und IPv6-Regeln gespeichert werden sollen. Antworten Sie mit Yes, um die Regeln beizubehalten, die Sie gerade erstellt haben.
Anschließend können Sie Ihre Regeln jederzeit mit folgendem Befehl speichern:
Ihre IPv4-Regeln werden in die Datei /etc/iptables/rules.v4 geschrieben (und Ihre IPv6-Regeln in die Datei /etc/iptables/rules.v6).
Beim nächsten Start Ihres Systems lädt iptables automatisch die Firewall-Regeln.
Sie können nun Firewall-Regeln mit iptables für Ihren Linux-Server konfigurieren. Zögern Sie nicht, zu experimentieren, denn Sie können nicht mehr benötigte Regeln immer wieder löschen, oder alle Regeln leeren und neu starten.
Weiterführende Informationen
Treten Sie unserer User Community bei.