Povežite se enkrat, preden spremenite pravilo, in zabeležite, ali odjemalec obvisi ali je takoj zavrnjen. Ta ena razlika vam pove, katera odločitev je spustila paket, in prihrani uro branja datotek s politiko. Preostala pot je kratka: paket prečka kljuko, se ujema s pravilom in doseže poslušalca ali pa ne. Seznam dovoljenih je le knjigovodstvo okoli teh treh dejstev.

Sledite enemu poskusu SSH do vstopne kljuke

Odjemalec pošlje SYN na naslov gostitelja na vratih 22, jedro pa odloči, ali je ta paket za lokalno storitev. Če je, se izvede vstopna pot in nabor pravil paket sprejme ali zavrže. Tišina pomeni, da je SYN umrl, preden ga je poslušalec videl, medtem ko hitra zavrnitev pomeni, da je nekaj odgovorilo z ponastavitvijo. To so različne sodbe iz različnih pravil in obe sta zakoniti izida.

Nato potrdite poslušalca, ker nobeno pravilo ne reši storitve, ki je ni. Zaženite ss -ltnp in preverite, ali je kaj vezano na vrata in družino naslovov, ki jih pričakujete, nato preberite ssh -v na odjemalcu, da vidite, kje se ustavi.

Posredovanje je ločena odločitev

Na strežniku VPN je bolj zanimiva kljuka forward, ker se promet odjemalca usmerja skozi stroj, namesto da bi se mu dostavil. Gostitelj, ki poganja le lastnega odjemalca VPN, potrebuje veliko manjši nabor pravil kot tisti, ki posreduje pakete drugih ljudi. Mešanje obeh zasnov na enem stroju ustvari pravila, ki so videti pravilna in ne spustijo ničesar.

Notranjo politiko napišite kot ločeno vprašanje: kateri naslovi odjemalcev lahko dosežejo katere cilje skozi tunel. Administrativno pot, na primer SSH, držite na vstopni poti z lastno omejitvijo vira. Dovoljujoče pravilo forward, dodano med testiranjem, je klasična napaka, ki preživi test, zato po spremembi pregledajte celoten nabor pravil in ne vrstice, ki ste jo uredili. Odpiranje poslušalca tunela ni dovoljenje, da bi vsak povezan odjemalec upravljal gostitelja.

Zavrženje in zavrnitev sta dejanji, ne politiki

Politika osnovne verige sprejme ali zavrže in to je celoten seznam izbir, kot navaja referenca nftables. Zavrnitev obstaja kot dejanje pravila z izbrano odgovoritvijo, zato pisanje kot politika spodleti tako na nftables kot na iptables. V praksi drop odjemalcu ne da nobene informacije, medtem ko mu reject da napako, na katero se lahko odzove.

table inet admin {
    chain input {
        type filter hook input priority filter; policy drop;
        ct state established,related accept
        ip saddr 203.0.113.0/28 tcp dport 22 accept
        udp dport 51820 accept
        icmp type { destination-unreachable, time-exceeded } accept
    }
}

To skico berite kot obliko odločitve in ne kot datoteko za lepljenje, ker so razponi naslovov primeri. Izrecni reject na vratih SSH povzroči, da nepooblaščeni odjemalec spodleti v sekundi, namesto da bi čakal na časovno omejitev, kar skrajša vaše lastno razhroščevanje. Tišina odvrača od naključnega skeniranja in pooblaščenemu uporabniku ne pove čisto nič. Izberite za vsako storitev in zapišite zakaj, sicer bo naslednja oseba to obrnila nazaj.

Obdržite nadzorni promet, ki ga zares potrebujete

Blokiranje vsega ICMP je priljubljena privzeta nastavitev, ki pokvari odkrivanje MTU poti, simptom pa je povezava, ki se vzpostavi in nato obtiči pri večjih paketih. Odkrivanje sosedov na IPv6 je odvisno od lastnih vrst ICMPv6, njihovo zavrženje pa prekine povezavo, preden se prebere katero koli pravilo TCP. Oboje sodi na seznam dovoljenih kot imenovane odvisnosti in ne kot splošna dovoljenja. Politika, ki tiho pokvari odkrivanje, je slabša od tiste, ki dopusti malo diagnostičnega prometa.

Dovolite stanja established in related za povezave, ki ste jih začeli sami, in pustite stroju stanj, da poskrbi za odgovore. Nato potrdite, da pot odgovora ni blokirana dlje zunaj, ker omejitev samo za odhodni promet višje proizvede isto časovno omejitev, ki ste jo hoteli pripisati gostitelju.

Dokažite obnovitev, preden opustite staro pot

Držite odprto konzolno sejo, uporabite spremembo in odprite popolnoma novo upravljalno povezavo z drugega terminala. Obstoječa seja ne dokaže ničesar, ker lahko preživi pravilo, ki blokira vsako novo prijavo, kar jo naredi najbolj prepričljiv lažni pozitivni izid pri delu s požarnimi zidovi. Če gostitelja preverja nadzorni sistem, dodajte njegov izvorni naslov pred spremembo in ne po prvem opozorilu. Nato preizkusite en velik in en majhen paket, da dokažete, da odkrivanje še deluje.

Za storitev VPN ponovite z odjemalca, ki se nikoli ni povezal, ker lahko obnovljena seja znova uporabi stanje, o katerem se mora nova pogajati. Zapišite natančen nabor pravil, ki je prestal, s kontrolno vsoto ali kopijo, da bo poznejše urejanje mogoče primerjati in ne ugibati. Uskladite se s tistim, ki ima v lasti vrstni red pravil, ker prejšnje pravilo tiho premaga tisto, ki ste ga dodali.

Sorodni članki