Pravila požarnega zidu samo za NEW ne zaprejo vsake poti WAN
Zavračanje novih povezav pusti vzpostavljene tokove in odgovore nedotaknjene. Preberite stanje conntracka, vrstni red pravil in izjeme, preden politiko označite za zaprto.
Zavračanje novih odhodnih povezav na WAN je videti kot politika, ki se zapre ob napaki, a je ožja obljuba, kot se zdi. Paketi, ki pripadajo že obstoječim tokovom, se z njo ne ujemajo, in tudi veliko odgovorov ne. To vrzel je lahko spregledati, ker se pravilo bere, kot da pokriva vmesnik in ne enega stanja povezave na njem. In branje ujemanja stanja kot razsodbe je tisto, kar ustvari lažen občutek zaprtosti.
Stanje je pogoj ujemanja, ne razsodba
Sledenje povezavam razvršča pakete po tem, kar je požarni zid že videl, ne po tem, kar verjame aplikacija. Tok, opažen v obe smeri, je vzpostavljen, in njegovi poznejši paketi ostanejo vzpostavljeni, tudi ko se pot pod njim spremeni iz predora v običajno odhodno povezavo. Tudi odgovor na dohodno povezavo je lahko vzpostavljen promet. Ti paketi nikoli več ne postanejo novi.
Zato pravilo, omejeno na nove povezave, ne more dokazati, da je vsak zaščiten paket blokiran. Druga stanja prepusti temu, kar z njimi počne preostanek nabora pravil, to pa je lahko dovoljenje, postavljeno prej v verigi.
Berite pravilo v njegovi okolici
Široko dovoljenje za vzpostavljen in povezan promet, postavljeno pred blokiranjem, spusti paket skozi, preden se blokiranje sploh oceni. Odstranitev pogoja stanja iz poznejšega pravila tega ne bo spremenila, ker ocena nikoli ne seže do njega. Izid odloči vrstni red, in kateri paketi dosežejo ta vrstni red, odloči ujemanje stanja.
Preverite dejaven nabor pravil, ne datoteke, ki ste jo uredili, vključno s skoki v druge verige in vsem, kar ustvari platforma. Na usmerjevalniku, ki ga upravlja iptables, izpis verige pokaže definicije pravil, in tudi verige, na katere se sklicuje, je treba slediti. Izvorni sistem nftables zahteva pregled lastnega nabora pravil in prioritet kljuk, saj vdelana programska oprema le redko ustvari enake verige.
Števci povedo, katero pravilo se je res ujemalo, in običajno so bolj poučni kot zajem paketov, opravljen po odločitvi. Pravilo z ničelnim števcem ni bilo doseženo, kar koli že namiguje njegov položaj.
Prepoved izrazite neodvisno od stanja
Če skupina odjemalcev nikoli ne sme doseči interneta zunaj predora, povejte to neposredno, namesto da bi to približali z enim stanjem. Pravilo mora izbrati po izvoru, izhodu in cilju brez odvisnosti od stanja povezave in mora stati tam, kjer ga nobeno prejšnje dovoljenje ne more obiti. Takrat upravljavski dostop in izjeme za lokalno omrežje dobijo svoja izrecna pravila, zato je namera vidna v politiki.
Izbira reject namesto drop spremeni, kako odpove ujemajoči se promet, in ne razširi nabora paketov, ki jih pravilo izbere. Zavrnjena povezava in tihi potek časa sta različna simptoma, ki kažeta na isto izbiro.
Politika, ki namerno dovoli odgovore na dostop, sprožen na daljavo prek WAN, je branljiva. Le opisati jo je treba tako, namesto da bi jo predstavili kot popolno izolacijo samo skozi predor.
Preverite, kdo je v skupini v resnici
Primer zajema posredovan promet IPv4 iz enega predpone skozi en vmesnik. Ne pove ničesar o IPv6, drugi odhodni povezavi ali prometu, ki ga ustvari usmerjevalnik sam. Usmerjevalnik, ki deluje kot razreševalnik DNS, pošilja svoje odhodne poizvedbe in te sploh ne gredo skozi verigo forward.
Potrdite, da imajo zaščiteni odjemalci še vedno naslove znotraj izbranega predpone, ker je naprava, ki je iz njega odšla, neposredna po naključju in ne po politiki. Razširitev blokade na celotno LAN brez pregleda zasnove izjem tudi navadno odstrani vašo lastno upravljavsko pot.
iptables -S FORWARD
iptables -L FORWARD -v -n
cat /proc/net/nf_conntrack | grep -c ESTABLISHED
Nato preizkusite star tok ob novem. Nov poskus povezave in že dejaven dvosmerni prenos se pod tem pravilom obnašata drugače, in le preizkus obeh pokaže, kakšno politiko v resnici imate.