Firewalls und Einstellungen mit nftables verwalten: Ein vollständiger und praktischer Leitfaden
Firewall- und nftables-Schulung für Serveradministratoren und alle, denen Netzwerksicherheit am Herzen liegt.

Firewalls und Einstellungen mit nftables verwalten: Ein vollständiger und praktischer Leitfaden

Dieser Artikel bietet praktische Anleitungen zur Verwendung von nftables als neue Linux-Firewall und Netzwerk-Sicherheitsmanagementlösung mit praktischen Beispielen.
0 Aktien
0
0
0
0

Wie verwaltet man Firewalls und nftables von den Grundlagen bis zu fortgeschrittenen Themen?

Firewall-Verwaltung und -Einstellungen nftables Dieses Handbuch ist unerlässlich für jeden Systemadministrator, DevOps-Experten und Serverbesitzer. Wir behandeln die technische und operative Sprache von den Grundlagen bis hin zu fortgeschrittenen Szenarien und bieten praxisnahe Beispiele sowie Konfigurationsdateien.

Grundkonzepte von nftables

nftables Um ein Regelwerk zu entwerfen, müssen Sie mit bestimmten Komponenten vertraut sein:

  • Familie: Protokollfamilie (z.B. Internet Für gleichzeitiges IPv4 und IPv6, ip, ip6, arp, bridge).
  • Tisch: Regelcontainer (z.B. Internetfilter).
  • Kette: Kette von Regeln mit Haken, Typ (Eingabe, Weiterleitung, Ausgabe) und Priorität.
  • Regel: Bedingungen und Aktionen (annehmen, verwerfen, ablehnen, Gegenvorschlag, protokollieren).
  • Set / Karte: Sammlungen zum Speichern von IPs, Ports oder Werten für einen schnellen Abgleich.
  • Verbindungstrack: Verbindungsstatus verfolgen (hergestellt, verbunden, neu, ungültig).

Warum nftables?

Hauptgründe für die Wahl nftables Dazu gehören:

  • Gleichzeitige Unterstützung von IPv4 und IPv6 Familie einbeziehen Internet.
  • Bessere Leistung Und die Möglichkeit Atomarersetzen Um das Regelset sicher zu laden.
  • Unterstützung für Sets mit Timeout Und Karten Für fortgeschrittenes NAT.
  • Kompatibilität mit iptables durch eine Kompatibilitätsschicht in neuen Distributionen.

Schnellstart: Regeln installieren, überprüfen und speichern

Grundlegende Befehle zum Prüfen, Laden und Speichern von Regelsätzen:

nft --version
nft list ruleset
nft -f /etc/nftables.conf
nft list ruleset > /etc/nftables.conf
systemctl enable --now nftables

Praktisches Beispiel: ein einfaches Regelwerk (für einen Linux-Server)

Empfohlene /etc/nftables.conf-Datei unter Verwendung der Familie Internet Um sowohl IPv4 als auch IPv6 abzudecken:

table inet filter {
    set allowed_ssh {
        type ipv4_addr; flags timeout;
    }

    chain input {
        type filter hook input priority 0;
        policy drop;

        # loopback
        iif "lo" accept

        # established/related
        ct state established,related accept

        # ICMP/ICMPv6
        ip protocol icmp accept
        ip6 nexthdr ipv6-icmp accept

        # Allow SSH with rate limit & whitelist
        tcp dport 22 ct state new limit rate 3/minute accept
        ip saddr @allowed_ssh accept

        # HTTP/HTTPS
        tcp dport { 80, 443 } ct state new accept

        # DNS
        udp dport 53 accept
        tcp dport 53 accept

        # log and drop others
        counter log prefix "nft-drop: " flags all drop
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }
}

Erläuterung: Dieses grundlegende Regelset erlaubt Loopback, bestehende Verbindungen, SSH (mit Ratenbegrenzung), HTTP/HTTPS und DNS und protokolliert und verwirft den restlichen Datenverkehr. set allowed_ssh Geeignet zum Whitelisting von IPs mit Timeout.

Sets und temporäre Blöcke verwalten

Das Erstellen und Verwalten von Whitelist- oder Blacklist-Sets ist sehr nützlich. Beispiele:

nft add element inet filter allowed_ssh { 203.0.113.5 timeout 1h }
nft list set inet filter allowed_ssh

Um Angreifer vorübergehend zu blockieren, setzen Sie ein Flag. Time-out Erstellen und Hinzufügen von IPs für einen bestimmten Zeitraum.

NAT, Portweiterleitung und Masquerade

Beispiel für NAT für einen VPS, der mehrere Dienste hinter einer privaten IP-Adresse veröffentlicht:

table ip nat {
    chain prerouting {
        type nat hook prerouting priority 0;
        tcp dport 2222 dnat to 10.0.0.10:22
        tcp dport 8443 dnat to 10.0.0.20:443
    }

    chain postrouting {
        type nat hook postrouting priority 100;
        oif "eth0" masquerade
    }
}

Notiz: In Cloud-Architekturen mit mehreren Adressen verwenden Sie Masquerading oder Quell-NAT für ausgehenden Datenverkehr. Für IPv6 verwenden Sie geeignete DNAT- oder CIDR-Zuordnungen.

Abwehr von DDoS- und SYN-Angriffen

nftables verfügt über Ratenbegrenzungs- und Flowtable-Funktionen, die zur Minderung der Auswirkungen von Angriffen eingesetzt werden können.

# allow limited number of new SYNs per second
tcp flags syn ct state new limit rate 10/second burst 20 accept

# synproxy can be used in extreme cases (kernel feature)
# nftables can match and direct traffic to synproxy or other mitigations

Bei groß angelegten Angriffen wird die Kombination eines Firewall-Servers (nftables) mit einem Netzwerk-Anti-DDoS-Schicht Die beste Vorgehensweise ist, schädlichen Datenverkehr zu filtern, bevor er den Server erreicht.

Protokollierungs- und Überwachungsregeln

Nützliche Tools und Befehle für die Überwachung:

  • Zähler für jede Regel anzeigen: nft list ruleset.
  • Protokollierung mit Präfix und Ratenbegrenzung aktivieren:
nft add rule inet filter input tcp dport 22 counter log prefix "ssh-drop: " limit rate 10/minute drop

Weitere Werkzeuge: journalctl -f -u nftables, tcpdump, tshark, Und NFT-Monitor.

Praktische Sicherheitstipps

Einige praktische und wichtige Ratschläge:

  • Immer ein Backup erstellen: Vor der Bereitstellung Ausgabe nft list ruleset Speichern.
  • Atomares Laden verwenden: nft -f /etc/nftables.conf Lädt die Datei atomar.
  • SSH-Sperren verhindern: Richten Sie eine temporäre Zulassungsregel für Ihre IP-Adresse ein oder verwenden Sie eine externe Konsole.
  • Automatisches Rückgängigmachen-Skript: Bei sensiblen Änderungen sollte eine automatische Rücksetzung eingerichtet werden, falls diese nicht bestätigt wird.

Praktische Tipps für verschiedene Anwendungen

Für WordPress- und Website-Administratoren

Öffnen Sie nur die unbedingt notwendigen Ports (80/443/22). Verwenden Sie Ratenbegrenzungen für Anmeldeformulare und XML-RPC und erstellen Sie eine Liste von Sperr-IP-Adressen, um Brute-Force-Angriffe zu verhindern. Die Kombination mit einem CDN und einer WAF wird empfohlen.

Für Programmierer und DevOps

Aus der Familie Internet Nutzen Sie IPv4/IPv6-Unterstützung für die gleichzeitige Bereitstellung. Speichern Sie Regeln in einem Versionskontrollsystem und verwenden Sie CI/CD für die automatisierte Bereitstellung. Testen Sie Änderungen mithilfe von Datei-Upload und schnellem Rollback.

Für Trader (VPS für den Handel)

Wählen Sie einen Standort in der Nähe der Broker- oder Exchange-Server, um die geringste Latenz zu erzielen. Beschränken Sie den ein- und ausgehenden Datenverkehr auf die erforderlichen IP-Adressen und verwenden Sie Whitelisting, um zu verhindern, dass Ports während Aktualisierungen geschlossen werden.

Für Gamer (Gaming-VPS)

Öffne die vom Spiel benötigten UDP-Ports und optimiere die Conntrack-Timeouts für UDP. Falls du NAT benötigst, verwende flowtable für eine bessere Performance und wähle einen Standort mit niedrigem Ping.

Für KI- und GPU-Cloud

Der Zugriff auf Management-Ports (SSH, Kubernetes-API) sollte nur von bestimmten IP-Adressen gestattet werden. In verteilten Umgebungen sollten Regeln zwischen den Knoten definiert und die Conntrack-Performance überprüft werden. Für mehr Sicherheit und hohen Durchsatz wird die Verwendung eines privaten Netzwerks und BGP/Private VLANs empfohlen.

Praktische Tipps für Implementierung und Wartung

Einige praktische Tipps für den Wartungsprozess:

  • Sichern Sie die Regeln immer, bevor Sie Änderungen vornehmen.
  • Verwendung von Atomarersetzen Mit nft -f /etc/nftables.conf.
  • Legen Sie vor der Durchführung sensibler Änderungen eine temporäre Zulassungsregel für die Management-IP fest.
  • Richten Sie einen Cron- oder Systemd-Timer für ein automatisches Rollback ein, falls keine Bestätigung eingeht.

Werkzeuge und Debugging

Wichtige Werkzeuge für Fehlersuche und Überwachung:

  • nft list ruleset
  • NFT-Monitor / nft-Monitor-Trace
  • ss -tunlp An Displayanschlüsse
  • conntrack -L Aus dem Paket conntrack-tools
  • tcpdump Oder tshark Zur Paketerfassung

Schlussfolgerung und praktische Empfehlungen

nftables ist ein leistungsstarkes Tool, das die Firewall-Verwaltung modern, schnell und flexibel gestaltet. Die Verwendung der nftables-Familie InternetMit Sets, Rate Limit und Conntrack lässt sich eine effektive Schutzschicht erstellen, die für Webserver, VPS-Trading, Gaming und GPU-Cloud geeignet ist.

Zusammen mit der Serverkonfiguration sorgt die Kombination mit Netzwerkdiensten wie CDN, Anti-DDoS und BGP, die an mehr als 85 Standorten weltweit bereitgestellt werden, für ein zuverlässigeres Sicherheits- und Verfügbarkeitsniveau.

Häufig gestellte Fragen

Das könnte Ihnen auch gefallen