TroLUG 2021-03#

Datum: 2021-03-04 1900 Uhr auf http://bbb.trolug.de/
Thema: Firewall Setup mit nftables

Anmeldungen#

  • Jonas
  • Michael
  • Georg
  • Norbert
  • Karl
  • Andy
  • Thorsten
  • Maic
  • Jan kann leider, leider nicht :(((
  • Harald W.

– Agenda –

A) Terminfindung
B) Firewall Setup\

  • Warum überhaupt nftables?
  • Vor- und Nachteile zu iptables und ifw

– Verteilte Informationen – A) Informationen zur Terminfindung
A) 1. Wer möchte welchen Termin?
wünscht sich Treffen an folgendem monatlichem Termin, solange die Treffen rein online stattfinden
Norbert: Tag egal
Michael: Weitere Treffen nur donnerstags (welcher im Monat: egal)
Georg: Weitere Treffen dienstags, donnerstags, freitags (welcher Tag ist egal)
Karl: Dienstags, Donnerstags oder Freitags dritte oder vierte Woche
Maic, Jan: Bin für die Beibehaltung des bisherigen Turnus mit dem jeweils ersten Donnerstag im Monat
Thorsten: Dienstags bis Donnerstags –> egal welche Woche im Monat
Harald: Dritter Donnerstag im Monat

A) 2. Andere regelmäßige Events, die im Idealfall nicht kollidieren sollten\

  1. Montag des Monats ab 19:30 Uhr Freier Software Abend im C4\
  2. Donnerstag im Monat 1900 Uhr Adminstammtisch Berlin \
  3. Dienstag im Monat 1900 Uhr Liwok \
  4. Donnerstag im Monat 20 Uhr V.E.R.A. Stammtisch\
  5. Samstag im Monat um 19:30 Uhr MykLUG\
  6. Dienstag im Monat um 19:00 Uhr FRAOSUG
    Letzter Mittwoch im Monat: Freier Software Abend Düsseldorf\
  7. MIttwoch im Monat um 19 Uhr pyCologne

A) 3. Weitere Treffen (Bitte oben eintragen!):\

  • CCCC?
  • LUSA?
  • FSFE?
  • PyCologne?
  • FRAOSUG PythonMeetingDüsseldorf

A) 3. Terminkalender
http://trolug.de/gruppen.html (wer mag die Termine hier mal updaten?)

A) 4. Wer kann wann Schluesseldienst machen?
Michael D. Donnerstags

– Protokoll –

Doodle-Umfrage zum Termin (Thorsten)
Ggf. neuer Schlüsselverantwortlicher benötigt

Protokoll zu NFTABLES / FIREWALL ab hier

Derzeit gibt es drei Firewall (Paketfilter) Frameworks im Linux-Kernel:

IPtables (seit Kernel 2.4)
nftables gibt es seit 2008.
Berkeley Packet Filter (bpfilter, eBPF)

Vorgänger waren:
ipfw und später ipfwadm in Kernel 2.0
ipchains in Kernel 2.2

CLI Tools:
iptables-legacy - für den IPtables stack
iptables-nft - für den nftables stack mit iptables-kompatibler Syntax
bpf-iptables - für den bpfliter stack mit iptables-kompatibler Syntax
siehe https://github.com/mbertrone/bpf-iptables

Infos zu NFtables:

https://netfilter.org/projects/nftables/

iptables und nftables ist von der Konfiguration weitgehend kompatibel

Warum nftables? https://wiki.nftables.org/wiki-nftables/index.php/Main_differences_with_iptables

Beispiel 1)

cat /tmp/nftables_firewall \

firewall#

table ip filter {
# allow all packets sent by the firewall machine itself
chain output {
type filter hook output priority 100; policy accept;
}

Anm. TroLUG#

“output” hinter chain ist frei wählbarer Name#

hook output gehört zusammen#

# allow LAN to firewall, disallow WAN to firewall\
chain input {\
    type filter hook input priority 0; policy accept;\
    iifname "lan0" accept # Anm. TroLUG: redundant, erzeugt aber Counter \
    iifname "wan0" drop\
}

# allow packets from LAN to WAN, and WAN to LAN if LAN initiated the connection\
chain forward {\
    type filter hook forward priority 0; policy drop;\
    iifname "lan0" oifname "wan0" accept \
    iifname "wan0" oifname "lan0" ct state related,established accept\
}\
# iifname Eingang\
# oifname Ausgang\
# ct = connection tracker, Modul conntrack soll geladen werden\

}

Ausschnitt zum Testen der Regel, die Seite www.Trolug.de (ip v4 und ip v6) zu blockieren

chain output {
type filter hook output priority 0 ; policy accept;
ip daddr 134.119.234.51 counter drop
ip6 daddr 2a00:1158:2d:300::33 counter drop

Wirksamkeit überprüfen:

sudo nft list table inet filter

sudo tcpdump -n host 134.119.234.51

Links zu nftables und Multipath-TCP:
https://netfilter.org/projects/nftables/
https://wiki.nftables.org/wiki-nftables/index.php/Why_nftables%3F
https://wiki.nftables.org/wiki-nftables/index.php/Main_differences_with_iptables
https://wiki.gentoo.org/wiki/Nftables/Examples
https://wiki.nftables.org/wiki-nftables/index.php/Quick_reference-nftables_in_10_minutes
https://wiki.debian.org/nftables
https://www.heise.de/select/ix/2018/1/1514658860742410
https://www.heise.de/newsticker/meldung/Multipath-TCP-Unterstuetzung-soll-endlich-in-Linux-einziehen-4518447.html
https://www.heise.de/newsticker/meldung/Linux-Kernel-5-6-wird-Wireguard-und-Multipath-TCP-unterstuetzen-4647825.html
https://www.admin-magazine.com/Archive/2020/55/Linux-nftables-packet-filter

andere Links:
https://www.it-administrator.de/lexikon/simple_service_discovery_protocol.html
https://de.wikipedia.org/wiki/Multicast
https://de.wikipedia.org/wiki/Simple_Service_Discovery_Protocol