Suricata Bridge Firewall
Vorab
- Bei Virtualisierungen Bridge Ports auf Promisc setzen
Installation der Bridgeutils
- apt install bridge-utils
/etc/network/interfaces
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet static
address 10.88.113.69/24
gateway 10.88.113.1
auto enp0s8
iface enp0s8 inet manual
auto enp0s9
iface enp0s9 inet manual
auto vmbr0
iface vmbr0 inet manual
bridge_ports enp0s8 enp0s9
bridge_fd 5
bridge_stp no
- ifup vmbr0
Arp
- arp ist im Gegensatz zur Layer 3 Firewall nicht automatisch freigeschaltet
Ein weiteres Beispiel zum Akzeptieren von ARP-Paketen
- nft add rule bridge filter forward ether type arp accept
Zustandsabhängige Filterung
- Die Bridge-Familie unterstützt die Verbindungsverfolgung.
- Sie müssen nur auf den Verbindungsstatusinformationen aus Ihrer Regelmenge übereinstimmen, um dies zu aktivieren.
Beispiel: Zustandsabhängige Bridge-Firewall
- Wir erstellen einen bridgefilter
- Wir erstellen die Policy drop
- Connection Tracking wie üblich
- arp ist generell erlaubt
nftables schnellstart
Bridge Firewall
Regeln
- cat /etc/nftables.conf
#!/usr/sbin/nft -f
define open = enp0s8
define filter = enp0s9
flush ruleset
table bridge filter {
chain forward {
type filter hook forward priority 0; policy drop;
ct state established,related accept
# Arp freischalten
iif $open ether type arp accept
iif $filter ether type arp accept
####icmp von filter nach open freischalten
#iif $filter oif $open ip protocol icmp ct state new accept
####dns von filter nach open freischalten
#iif $filter oif $open udp dport 53 ct state new accept
####http von filter nach open freischalten
#iif $filter oif $open tcp dport 80 ct state new accept
####https von filter nach open freischalten
#iif $filter oif $open tcp dport 443 ct state new accept
####alles von open nach filter freischalten
#iif $open oif $filter ct state new accept
#### Loggen von abgelehnten Paketen
log prefix " nft-drop"
}
}
Regel Handling
- Laden der Regeln
- nft -f /etc/nftables.conf
- Kontrolle der Regeln
- nft list ruleset
- Löschender Regeln
- nft flush ruleset
Live Log der Regel Verstösse
- journalctl -f -t kernel -g "nft-drop"

