nftables: vstavite pravilo dovoljenja VPN pred ročico drop
V nftables insert in add postavita pravilo na nasprotni strani ročice. Poiščite drop, izberite stran in nato preverite datoteko, preden se nabor pravil spremeni.
Pravilo dovoljenja postavite na napačno mesto in obnaša se kot da pravila ni. V nftables izbira med insert in add določa, na katero stran navedenega pravila se usede nova izjava, ročica pa poimenuje pravilo v živi množici pravil, ne njegove številke vrstice. Če je umestitev napačna, paket najprej doseže drop.
Spodnja primerjava uporablja enega fiksnega partnerja in eno izmenjavo zunanjega poslušalca. Namenoma je ozka; zamenjava celotne verige je druga sprememba z drugačnim profilom tveganja.
Dve umestitvi, dva različna izida
insert postavi pravilo pred navedeno pravilo. add ga postavi za njim. Če je navedeno pravilo končni drop za tok, ta dva ukaza dajeta nasprotne rezultate, tudi ko je besedilo pravila enako.
Izpuščanje mesta ima svoje privzeto vedenje, kar je še en razlog, da ukaza ne kopirate s foruma, ne da bi prebrali, na kaj je zasidran. Sidro je celotna odločitev. Zapišite predvideno stran, preden vpišete ukaz. insert in add se v datoteki razlikujeta za eno besedo.
Umestitev je relativna glede na pravilo v določeni verigi. Premik iste izjave v drugo verigo ali drugo prioriteto hook spremeni, katere pakete vidi, tudi ko je sintaksa pravila videti pravilna.
Ročica označuje pravilo, ne številke vrstice
Ročica, kot je 42, je identifikator v trenutnem stanju nabora pravil. Ni dvainštirideseto pravilo in ni stabilna med gostitelji, ponovnimi gradnjami ali upraviteljem, ki znova naloži svojo konfiguracijo.
Pred izbiro sidra poiščite verigo in dejanski končni drop. Nato potrdite ročico na tem pravilu na istem seznamu, ki prikazuje drop, da se številka in pravilo bereta skupaj. Ročica, prebrana s starega seznama, lahko že pripada drugemu pravilu. Preberite jo znova v seji, ki bo spremembo uporabila.
iptables --version
nft -a list ruleset
Različica iptables sporoča, kateri backend se uporablja. Nabor pravil iptables-nft in neodvisno upravljana izvorna tabela lahko obstajata hkrati, zato seznam iz enega frontenda ni samodejno popolna slika filtriranja. Pred izbiro verige preverite oba pogleda.
Poiščite verigo in pravilo, ki v resnici izvede drop
Preberite vhodni hook, prioriteto verige in pravilo, ki zavrne ta tok poslušalca. Tabela inet lahko nosi obe družini naslovov, vendar se posamezno pravilo še vedno lahko ujema le z IPv4.
Vzemite enega odobrenega partnerja, kot primer uporabite 198.51.100.25 iz dokumentacijskega obsega. Pregledana izvorna datoteka bi lahko postavila zunanje dovoljenje pred ročico 42:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
Po pregledu zamenjajte družino, tabelo, verigo, ročico, vhodni vmesnik in partnerja. Primer uporablja obliko umestitve po ročici, dokumentirano za nft 1.0.9, in spada v vhodno datoteko; citiranje zavitih oklepajev je ločeno vprašanje, ko se ukaz vpisuje interaktivno.
Ohranite lastnika konfiguracije jasnega. Upravitelj, ki znova zgradi svoja pravila, lahko prepiše spremembo med izvajanjem, zagonska skripta s trdo kodirano zastarelo ročico pa bo bodisi spodletela bodisi se pritrdila na napačno pravilo.
Dovoljenje je omejeno, drop je končen
Razsodba dovoljenja konča vrednotenje na svoji trenutni poti, vendar lahko pozneje veljavna osnovna veriga paket vseeno zavrže. Razsodba drop je končna. Zato naraščajoči števec dovoljenj ni dokaz, da je tok uspel.
Preverite vse ustrezne prioritete hook namesto ene verige ločeno. Paket lahko preide vhodni filter in ga vseeno zavrne hook druge tabele pri drugi prioriteti. Naštejte vsako osnovno verigo, ki lahko vidi tok.
To pravilo pokriva le izmenjavo zunanjega poslušalca. ESP, zapakiran v transport, izvorni ESP, partnerji IPv6 in dešifriran promet znotraj tunela vsi potrebujejo lastne politike. To ni popoln požarni zid VPN za spletno mesto.
Preverite datoteko in nato potrdite živi rezultat
Pred uporabo zaženite preverjanje skladnje in transakcije na pregledani datoteki. Način preverjanja sporoča, ali lahko nft spremembo razčleni in pripravi; ne uporabi je in ne dokazuje, da bo drug hook paket spustil skozi. Datoteka ostaja predlog, dokler je lastnik ne uporabi:
nft -c -f reviewed-vpn-rule.nft
Uporabite jo prek lastnikovega nadzorovanega postopka in ohranite dostop za obnovitev. Če je pravilo napačno, lahko drop, ki ste mu želeli priti naproti, prereže tudi pot, ki jo uporabljate za popravek.
Po spremembi opazujte nov poskus dovoljenega partnerja in preverite, da so viri zunaj odobrenega partnerja še vedno zavrnjeni. Trajno pravilo premaknite v upravitelja, ki ima nabor pravil, ker ročice med izvajanjem najdejo trenutne objekte, namesto da bi jih prepoznale med zagoni.