Untitled
unknown
plain_text
8 months ago
2.5 kB
6
Indexable
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
# Ik ga een chain aanmaken voor inkomende ipv4 verkeer. Dit is overzichtelijker en ik kan deze later gebruiken om op te halen in regels.
chain inbound_ipv4 {
# Accepteer ping (icmp-echo-requests) voor diagnoses en limiteer deze tot 5 pings per seconde.
icmp type echo-request limit rate 5/second accept
}
# Nu een chain aanmaken voor inkomende ipv6 verkeer.
chain inbound_ipv6 {
# Neighbour discovery toelaten anders verbreekt de connectie.
icmpv6 type { nd-neighbor-solicit, nd-router-advert, nd-neighbor-advert } accept
# Accepteer ping (icmpv6-echo-requests) voor diagnoses en limiteer deze tot 5 per seconde.
icmpv6 type echo-request limit rate 5/second accept
}
# Deze chain zal al het inkomend verkeer regelen en gebruik maken van bovenstaande chains.
chain input {
#Standaard al het verkeer droppen tenzij deze aan een van de volgende regels/criteria voldoet.
type filter hook input priority 0; policy drop;
# Connection tracking (zal alleen gekend verkeer toelaten).
# Ik ga hier een vmap voor gebruiken voor een mooier overzicht.
ct state vmap { established : accept, related : accept, invalid : drop }
# Toestaan van verkeer op de loopback interface.
iif lo accept
# Dit zal op de laag 3 protocol springen naar de juiste chain. Bv als de protocol ipv4 is zal deze de chain inbound_ipv4 gebruiken.
meta protocol vmap { ip : jump inbound_ipv4, ip6 : jump inbound_ipv6 }
# SSH toestaan op poort TCP/2022 en HTTP(S) TCP/80 en TCP/443 toelaten. Dit is nodig voor updates en andere services.
tcp dport { 2022, 80, 443 } accept
# Om de tijd te synchroniseren word UDP poort 123 gebruikt dus deze zullen we ook accepteren
udp dport 123 accept
}
# Ik gebruik deze server niet als een router of dynamic tunneling en zal hier dus alles droppen.
chain forward {
type filter hook forward priority 0; policy drop;
}
# Geen reden voor want het default zal alles accepteren en dat is voor nu ok.
chain output {
type filter hook output priority filter;
}
}
Editor is loading...
Leave a Comment