Firewall (Netfilter) unter Ubuntu Server

NFTables Kurz gesagt:

  • Es ist in Linux-Kerneln >= 3.13 verfügbar.
  • Es wird mit einem neuen Befehlszeilenprogramm geliefert NFT deren Syntax sich von iptables unterscheidet.
  • Es verfügt außerdem über eine Kompatibilitätsschicht, mit der Sie iptables-Befehle über das neue nftables-Kernel-Framework ausführen können.
  • Es bietet eine generische Set-Infrastruktur, mit der Sie Karten und Verkettungen erstellen können. Mit diesen neuen Strukturen können Sie Ihren Regelsatz in einem mehrdimensionalen Baum anordnen drastisch Reduziert die Anzahl der Regeln, die überprüft werden müssen, bis die endgültige Aktion auf einem Paket erreicht ist.

Mittlerweile unter allen aktuellen Debian ähnlichen Linux Servern ist NFTABLES stand der Dinge.

Kurze Anleitung:

iptables und ufw löschen.

NFTABLES installieren.

Um nftables unter Ubuntu zu installieren und zu aktivieren, kannst Du die folgenden Befehle in der Konsole verwenden:

sudo apt install nftables
sudo systemctl enable nftables.service

Dadurch wird sichergestellt, dass der Dienst beim Booten startet und Regeln aus der Konfigurationsdatei nftables.conf lädt

Nach Installation Eingabe in Reihenfolge auf der Konsole:

nft flush ruleset (regelwerk leeren)

nft -f /etc/nftables.conf (vorher eines der beiden 
Regelwerke unten abspeichern)

und mit nft list ruleset das Regelwerk anzeigen lassen.

Das Regelwerk NFTABLES unten als sehr einfaches Beispiel als datei nftables.conf im Verzeichnis /etc  abspeichern:

table inet basic-filter {
chain INPUT {
type filter hook input priority 0; policy drop;
iif lo accept
ct state { established, related } accept
   icmp type echo-request accept
   tcp dport { 22, 80, 443 } accept
   udp dport { 53, 68, 137, 138, 514 } accept
   tcp dport { 53, 139, 445, 50514 } accept
   tcp dport { 20, 21, 990 } accept
   tcp dport { 110, 143, 465, 587, 993, 995 } accept
   tcp dport 1300-1310 accept
   tcp dport 49152-65535 accept
   udp dport 33434-33523 reject

}

chain FORWARD {
type filter hook forward priority 0; policy accept;
}

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

Alernatives Regelwerk gleiche Funktion einzeln aufgegliedert:

table inet basic-filter {
chain INPUT {
type filter hook input priority 0; policy drop;
iif lo accept
ct state { established, related } accept
icmp type echo-request accept
        udp dport 68 accept
        tcp dport 49152-65535 accept
        tcp dport 80 accept
        tcp dport 443 accept
        tcp dport 20 accept
        tcp dport 21 accept
        tcp dport 990 accept
        tcp dport 22 accept
        tcp dport 587 accept
        tcp dport 25 accept
        tcp dport 465 accept
        tcp dport 110 accept
        tcp dport 995 accept
        tcp dport 143 accept
        tcp dport 993 accept
        tcp dport 106 accept
        tcp dport 3306 accept
        tcp dport 5432 accept
        udp dport 137 accept
        udp dport 138 accept
        tcp dport 139 accept
        tcp dport 445 accept
        udp dport 53 accept
        tcp dport 53 accept
        tcp dport 1300-1310 accept
        udp dport 33434-33523 reject
}

chain FORWARD {
type filter hook forward priority 0; policy accept;
}

chain OUTPUT {
type filter hook output priority 0; policy accept;
}
}
Dieser Beitrag wurde unter Linux veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar