Povežite se jednom prije nego promijenite pravilo i zabilježite da li klijent visi ili je odmah odbijen. Ta jedna razlika kaže vam koja je odluka ispustila paket i štedi sat čitanja datoteka politike. Ostatak puta je kratak: paket prelazi hak, poklapa se s pravilom i ili stigne do slušača ili ne. Popis dopuštenih je samo evidencija oko te tri činjenice.

Pratite jedan SSH pokušaj do ulaznog haka

Klijent šalje SYN na adresu hosta na portu 22, a kernel odlučuje je li taj paket za lokalnu uslugu. Ako jest, izvodi se ulazni put i skup pravila ili prihvaća paket ili ga odbacuje. Tišina znači da je SYN umro prije nego što ga je slušač vidio, dok brzo odbijanje znači da je nešto odgovorilo resetom. To su različite presude iz različitih pravila i obje su legitimni ishodi.

Zatim potvrdite slušač, jer nijedno pravilo ne može spasiti uslugu koje nema. Pokrenite ss -ltnp i provjerite je li nešto vezano za port i porodicu adresa koju očekujete, a zatim pročitajte ssh -v na klijentu da vidite gdje staje.

Prosljeđivanje je odvojena odluka

Na VPN serveru zanimljiviji je hak forward, jer se klijentski promet usmjerava kroz stroj umjesto da mu se dostavlja. Host koji pokreće samo vlastiti VPN klijent treba mnogo manji skup pravila od onoga koji prosljeđuje pakete drugih ljudi. Miješanje dvaju dizajna na jednom stroju stvara pravila koja izgledaju ispravno i ne propuštaju ništa.

Napišite unutarnju politiku kao zasebno pitanje: koje klijentske adrese smiju dosegnuti koja odredišta kroz tunel. Držite administrativni put, poput SSH-a, na ulaznom putu s vlastitim ograničenjem izvora. Dopuštajuće pravilo forward dodano tijekom testiranja klasičan je nedostatak koji nadživi test, zato nakon promjene pregledajte cijeli skup pravila, a ne redak koji ste uredili. Otvaranje slušača tunela nije dopuštenje svakom povezanom klijentu da upravlja hostom.

Odbacivanje i odbijanje su radnje, ne politike

Politika osnovnog lanca prihvaća ili odbacuje i to je cijeli popis izbora, kako navodi nftables referenca. Odbijanje postoji kao radnja pravila s odabranim odgovorom, zato pisanje kao politike ne uspijeva i na nftablesu i na iptablesu. U praksi odbacivanje klijentu ne daje nikakvu informaciju, dok mu odbijanje daje pogrešku s kojom može raditi.

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
    }
}

Čitajte tu skicu kao oblik odluke, a ne kao datoteku za lijepljenje, jer su rasponi adresa primjeri. Izričito odbijanje na SSH portu čini da neovlašteni klijent padne u sekundi umjesto da čeka istek vremena, što skraćuje vaše vlastito otklanjanje pogrešaka. Tišina odvraća slučajno skeniranje i ovlaštenom korisniku ne govori ništa. Odaberite po usluzi i zapišite zašto, jer će to sljedeća osoba inače vratiti natrag.

Zadržite kontrolni promet koji vam doista treba

Blokiranje svega ICMP-a popularna je zadana postavka koja kvari otkrivanje MTU-a puta, a simptom je veza koja se uspostavi i zatim zapne na većim paketima. Otkrivanje susjeda na IPv6 ovisi o vlastitim ICMPv6 vrstama, a njihovo odbacivanje kvari vezu prije nego što se pregleda ijedno TCP pravilo. Oboje pripada na popis dopuštenih kao imenovane ovisnosti, a ne kao sveobuhvatna dopuštenja. Politika koja tiho kvari otkrivanje gora je od one koja propušta malo dijagnostičkog prometa.

Dopustite stanja established i related za veze koje ste sami pokrenuli i pustite mehanizam koji pamti stanja da obradi odgovore. Zatim potvrdite da put odgovora nije blokiran dalje, jer ograničenje samo na odlazni promet uzvodno stvara isti istek vremena koji ste htjeli pripisati hostu.

Dokažite oporavak prije nego što umirovite stari put

Držite otvorenu konzolnu sesiju, primijenite promjenu i otvorite posve novu upravljačku vezu s drugog terminala. Postojeća sesija ne dokazuje ništa, jer može preživjeti pravilo koje blokira svaku novu prijavu, što je čini najuvjerljivijim lažno pozitivnim rezultatom u radu s vatrozidom. Ako sustav nadzora provjerava host, dodajte njegovu izvornu adresu prije promjene, a ne nakon prvog upozorenja. Zatim isprobajte jedan veliki i jedan mali paket da dokažete da otkrivanje još radi.

Za VPN uslugu ponovite s klijenta koji se nikada nije povezao, jer nastavljena sesija može ponovno upotrijebiti stanje koje svježa mora pregovarati. Zapišite točan skup pravila koji je prošao, s kontrolnim zbrojem ili kopijom, da se kasnija izmjena može usporediti, a ne nagađati. Uskladite s onim ko posjeduje redoslijed pravila, jer ranije pravilo tiho pobjeđuje ono koje ste dodali.

Povezani članci