Nftables Netze absichern: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 18: | Zeile 18: | ||
*Wir wollen aber von vorneherein verstärkt mit Variablen arbeiten. | *Wir wollen aber von vorneherein verstärkt mit Variablen arbeiten. | ||
*Dies macht die Scripte universeller. | *Dies macht die Scripte universeller. | ||
| + | *cat /etc/nftables.conf | ||
| + | <pre> | ||
| + | #!/usr/sbin/nft -f | ||
| + | define remote_tcp_ports = { 22,25,53,80,465,443 } | ||
| + | define remote_udp_ports = { 53 } | ||
| + | define local_tcp_ports = { 22,80,443 } | ||
| + | |||
| + | flush ruleset | ||
| + | table inet filter { | ||
| + | chain input { | ||
| + | type filter hook input priority filter; policy drop; | ||
| + | ct state established,related accept | ||
| + | ct state new tcp dport $local_tcp_ports accept | ||
| + | log prefix "--nftables-drop-input--" | ||
| + | } | ||
| + | chain forward { | ||
| + | type filter hook forward priority filter; policy drop; | ||
| + | ct state established,related accept | ||
| + | log prefix "--nftables-drop-forward--" | ||
| + | } | ||
| + | |||
| + | chain output { | ||
| + | type filter hook output priority filter; policy drop; | ||
| + | ct state established,related accept | ||
| + | ct state new oifname "lo" accept | ||
| + | ct state new tcp dport $remote_tcp_ports accept | ||
| + | ct state new udp dport $remote_udp_ports accept | ||
| + | log prefix "--nftables-drop-output--" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </pre> | ||
Version vom 9. November 2022, 18:44 Uhr
Einleitung
- Nachdem wir ein Hostsystem abgesichert haben, kommen wir nun zum Absichern von Netzen.
- Die Firewall agiert als Mittler zwischen verschiedenen Netzen.
- In unserem Beispiel haben wir 3 Netzbereiche.
WAN
- Wide Area Net steht für alles was nicht die anderen beiden Netze betrifft
LAN
- Local Area Net steht in der Regel für ein Netz das von aussen nicht erreichbar ist.
- Meist ist es über Netzwerk Translation angebunden.
DMZ
- Demilitarized Zone ist ein Netz welches von aussen erreichbar ist.
- Es die Zugriffe werden aber durch die Firewall abgesichert.
- Dort werden meist Dienste wie Mail, Web gehostet. Teilweise auch Proxy Server.
Der Plan
Das Grundgerüst
- Wir nutzen unsere Host Firewall als Ausgangsscript
- Wir wollen aber von vorneherein verstärkt mit Variablen arbeiten.
- Dies macht die Scripte universeller.
- cat /etc/nftables.conf
#!/usr/sbin/nft -f
define remote_tcp_ports = { 22,25,53,80,465,443 }
define remote_udp_ports = { 53 }
define local_tcp_ports = { 22,80,443 }
flush ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy drop;
ct state established,related accept
ct state new tcp dport $local_tcp_ports accept
log prefix "--nftables-drop-input--"
}
chain forward {
type filter hook forward priority filter; policy drop;
ct state established,related accept
log prefix "--nftables-drop-forward--"
}
chain output {
type filter hook output priority filter; policy drop;
ct state established,related accept
ct state new oifname "lo" accept
ct state new tcp dport $remote_tcp_ports accept
ct state new udp dport $remote_udp_ports accept
log prefix "--nftables-drop-output--"
}
}
