nftables permite definirea filtrării IPv4 și IPv6 într-o politică explicită. Exemplul se adaptează unui server web simplu, nu oricărei infrastructuri.
nftables este un cadru de filtrare din Linux, nu o aplicație care promite protecție DDoS completă. Poți defini politici clare pentru conexiunile acceptate de un VPS. Rezultatul depinde însă de servicii, rutare și ceilalți administratori ai regulilor.
1. Definește domeniul configurației
Exemplul următor este pentru un VPS web cu adresare pregătită, fără rutare pentru alte sisteme și fără alte instrumente care administrează firewall-ul. Nu îl aplica direct peste CSF, firewalld, UFW, Docker sau un hipervizor. Dacă platforma folosește asemenea componente, proiectează integrarea separat.
Inventariază porturile și accesul de recuperare. Confirmă dacă ai nevoie de DHCP, monitorizare din exterior, rețele private ori alte servicii. Aceste cerințe nu sunt acoperite automat de exemplul minimal.
2. Inspectează și salvează situația existentă
sudo nft list ruleset
sudo nft list ruleset > nftables-inainte.txt
Păstrează copia într-un loc administrativ protejat. Ea este o evidență, nu o garanție că restaurarea va fi potrivită după orice modificare. Verifică și mecanismul distribuției pentru încărcarea regulilor la pornire.
3. Pregătește un fișier pentru un sistem de test
Salvează următorul exemplu în xservere-web.nft. Înlocuiește adresa administrativă demonstrativă și portul SSH înainte de validare:
table inet xservere_host {
chain input {
type filter hook input priority 0; policy drop;
iifname "lo" accept
ct state invalid drop
ct state established,related accept
meta l4proto { icmp, ipv6-icmp } accept
ip saddr 203.0.113.10 tcp dport 22 ct state new accept
tcp dport { 80, 443 } ct state new accept
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}
Familia inet permite reguli comune IPv4 și IPv6. Accesul SSH din exemplu este permis numai de la IPv4-ul indicat; dacă administrezi prin IPv6, ai nevoie de o regulă explicită potrivită. Politica permite ICMP și ICMPv6, utile funcționării rețelei, fără să propună o filtrare completă a acestor protocoale.
4. Validează fără aplicare
sudo nft -c -f xservere-web.nft
Verificarea sintaxei nu confirmă faptul că IP-ul administratorului este corect sau că toate serviciile vor rămâne accesibile. Citește fiecare regulă și pregătește revenirea din consolă. Tabela demonstrativă trebuie să fie absentă înainte de prima încărcare; repetarea necontrolată a fișierului nu este o procedură de actualizare idempotentă.
5. Aplică numai într-o intervenție controlată
sudo nft -f xservere-web.nft
sudo nft list table inet xservere_host
Testează imediat o conexiune SSH nouă, HTTP, HTTPS și accesul IPv6 relevant. Pentru a elimina exclusiv tabela demonstrativă în cadrul revenirii, comanda este:
sudo nft delete table inet xservere_host
Nu folosi flush ruleset ca metodă generică de depanare. Poate elimina politici ale altor componente. Persistența la repornire se configurează numai după verificare, prin mecanismul distribuției.
Unde se încadrează în protecția DDoS
Aceasta este o politică de expunere minimă, nu un set universal anti-flood. Pragurile de pachete sau conexiuni cer măsurare și testare. Pentru un atac care umple legătura, discută filtrarea din rețea cu XSERVERE; pentru cereri HTTP costisitoare, adaugă control la nivelul proxy-ului și aplicației.
Surse
- Netfilter — manual nft — https://netfilter.org/projects/nftables/manpage.html
Ți-a fost util acest articol?


