Obwohl Linux eines der zuverlässigsten und sichersten Betriebssysteme ist, wird es aufgrund seiner Eigenschaften immer eine Art Schwachstelle geben, sei es systemimmanent oder vom Benutzer unbeabsichtigt. Um die Linux-Sicherheit zu erhöhen, haben wir verschiedene Tools zum Schutz von Diensten, Prozessen, Profilen oder Dateien und heute werden wir uns auf ein spezielles namens Iptables konzentrieren.
Was ist IptablesIptables ist ein fortschrittliches Firewall-Tool, das in den Linux-Kernel integriert ist, der Teil eines Projekts namens netfilter ist.
Dank Iptables können wir alle eingehenden und ausgehenden Verbindungen zum Server genau und direkt verwalten. Iptables wurde für die IPv4-Adressierung entwickelt, während wir für IPv6 Ip6tables haben.
1. Iptables-Struktur unter Linux
Die Struktur, die wir in Iptables finden, ist die folgende:
RohEs ist dafür verantwortlich, die Pakete vor allen anderen vorhandenen Tabellen zu filtern
FilterDies ist die Standardtabelle der Anwendung
NatEs wird für die Netzwerkadressübersetzung verwendet
MangroveEs wird für die Änderung von spezialisierten Netzwerkpaketen verwendet
SicherheitKann für Netzwerkverbindungsregeln für die obligatorische Zugriffssteuerung implementiert werden
2. Befehlsstruktur in Iptables unter Linux
In Iptables ist jede Regel ein Befehl, der angibt, wie der Netzwerkpaketverkehr gehandhabt werden soll.
Wir können die folgende Struktur verwenden:
-A INPUT -i eth0 -p tcp -m state - ETABLISHED, RELATED --sport 80 -j ACCEPTDie verwendeten Parameter sind:
- -A: Gibt an, dass die Regeln zu Iptables hinzugefügt werden
- -i: Gibt die Schnittstelle an, auf die die Regel angewendet wird
- -p: Bezieht sich auf das Protokoll, auf das die Regel angewendet wird
- -m: Bezieht sich auf die Tatsache, dass eine Bedingung erfüllt sein muss, um die Regel anzuwenden
- --state: Annahme neuer Verbindungen zulassen
- --sport: Gibt den Quellport an
- -j: (Jump) gibt an, dass sie den gesamten Verkehr akzeptieren können, der die gegebenen Bedingungen erfüllt.
3. Erstellen von Regeln mit Iptables unter Linux
Obwohl wir die Regeln manuell hinzufügen können, ist es viel praktischer, eine Regeldatei zu erstellen und sie dann zu importieren. In diesem Fall erstellen wir die Datei im Pfad /tmp/iptables-ip4 und können einen Editor für die entsprechende Anpassung verwenden:
sudo nano / tmp / iptables-ip4Die Syntax wird die folgende sein:
* Filter # Regeln zum Hinzufügen von COMMITJetzt erstellen wir die folgenden Regeln in dieser Datei:
Loopback = Es ist die externe Schnittstelle von Linux
-A EINGANG -i lo -j AKZEPTIEREN -A AUSGANG -o lo -j AKZEPTIEREN
Ping = Ermöglicht uns, Netzwerkverbindungen zu überprüfen
-A INPUT -i eth0 -p icmp -m state --state NEU --icmp-type 8 -j ACCEPT -A INPUT -i eth0 -p icmp -m state --state ESTABLISHED, RELATED -j ACCEPT -A OUTPUT - o eth0 -p icmp -j AKZEPTIEREN
Web = Durch diese Regeln kontrollieren wir den ein- und ausgehenden Verkehr.
-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED, RELATED --sport 80 -j ACCEPT -A INPUT -i eth0 -p tcp -m state --state ESTABLISHED, RELATED --sport 443 -j ACCEPT -A AUSGANG -o eth0 -p tcp -m tcp --dport 80 -j AKZEPTIEREN -A AUSGANG -o eth0 -p tcp -m tcp --dport 443 -j AKZEPTIEREN
Beim Hinzufügen des DNS verwenden wir die folgenden Zeilen:
-A INPUT -i ens3 -s 192.168.0.1 -p udp --sport 53 -m state --state ESTABLISHED, RELATED -j ACCEPT -A OUTPUT -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j AKZEPTIEREN
Notiz:Hier müssen wir die IP nach Bedarf ändern
Zeit = Diese Regeln ermöglichen eine Verbindung zu NTP für eine korrekte Zeitsynchronisation
-A INPUT -i eth0 -p udp -m state --state ESTABLISHED, RELATED --dport 123 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --sport 123 -j ACCEPT
Drucken = Ermöglicht die Aktivierung von USB-Anschlüssen zum Anschließen von Druckern
-A EINGANG -p udp -m udp --dport 631 -j AKZEPTIEREN -A EINGANG -p tcp -m tcp --dport 631 -j AKZEPTIEREN -A AUSGANG -p udp -m udp --sport 631 -j AKZEPTIEREN -A AUSGABE -p tcp -m tcp --sport 631 -j AKZEPTIEREN
E-Mail = Wir können die verschiedenen E-Mail-Protokolle aktivieren
# IMAP -A INPUT -i eth0 -p tcp -m state --state ESTABLISHED, RELATED --sport 993 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 993 -j ACCEPT
# POP3 -A INPUT -i eth0 -p tcp -m state --state ESTABLISHED, RELATED --sport 995 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 995 -j ACCEPT
# SMTP -A INPUT -i eth0 -p tcp -m state --state ESTABLISHED, RELATED --sport 465 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 465 -j ACCEPT
SSH = Sichere Verbindungen zum Computer über das SSH-Protokoll aktivieren
# Input -A INPUT -i ens3 -p tcp -m state --state NEU, ESTABLISHED --dport 22 -j ACCEPT -A OUTPUT -o ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT
# Output -A OUTPUT -o ens3 -p tcp -m state --state NEU, ESTABLISHED --dport 22 -j ACCEPT -A INPUT -i ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT
DHCP: Wir können Regeln erstellen, um die IP-Adressierung über DHCP zu autorisieren
-A INPUT -i eth0 -p udp -m state --state ESTABLISHED, RELATED --sport 67:68 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 67:68 -j ACCEPT
Alle Verbindungen ablehnen: Wir können die folgenden Zeilen hinzufügen, um alle oben genannten zu deaktivieren:
-A INPUT -j REJECT -A FORWARD -j REJECT -A OUTPUT -j REJECT
Alle diese Zeilen werden in der genannten Datei hinzugefügt:
VERGRÖSSERN
Wir speichern die Änderungen
Strg + Aus
Wir verlassen den Editor mit
Strg + X
4. Importieren der Regeln mit Iptables Linux
Sobald die Datei bearbeitet ist, können wir diese Regeln in Iptable importieren, indem wir den folgenden Befehl ausführen:
sudo iptables -F && sudo iptables -XWir können den Status der Regeln mit dem Befehl sudo iptables -S sehen:
VERGRÖSSERN
Falls wir alle Regeln wiederherstellen möchten, führen wir die folgende Zeile aus:
sudo iptables-restore </ tmp / itpables-ip4Wenn wir möchten, dass diese Regeln dauerhaft sind, führen wir Folgendes aus:
sudo apt install iptables-persistentAuf diese Weise ist Iptables unser bester Verbündeter bei der Konfiguration der Firewall in Linux-Umgebungen.