Pievienot aizlieguma noteikumu un redzēt, ka atvērta lejupielāde turpinās, nav UFW kļūda. Pievienotais noteikums atrodas aiz noteikumiem, kas plūsmu jau pieņēmuši, un agrāk nodibināts savienojums joprojām tiem atbilst. To salabot nozīmē ievietot īstajā vietā un saprast, ko sola iepriekšējie noteikumi. Šaurs šīs izmaiņas variants ir šāds.

Izšķir secība, nevis noteikuma esamība

UFW ir priekšgals, kas netfilter noteikumus raksta pa posmiem: karkasa sadaļa, kas darbojas pirms lietotāja noteikumiem, tad paši lietotāja noteikumi, tad sadaļa, kas darbojas pēc tiem. Standarta iepriekšējie noteikumi pieņem nodibināto un saistīto savienojumu satiksmi, un šie noteikumi tiek novērtēti pirms visa, ko pievienojat ar parastu allow vai deny. UFW komandu uzziņa dokumentē ievietošanas sintaksi un numurēto stāvokļa skatu, no kuriem atkarīga šī izmaiņa.

Šī secība izskaidro pārsteigumu. Jūsu jaunais noteikums ir īsts un atrodas pareizajā tabulā, taču tas nav pirmais lēmums, ar ko sastopas pakete. Savienojums, kas jau tiek izsekots kā nodibināts, to nekad nesasniedz.

Šim darbam izmantojiet route noteikumus, jo pakete tiek pārsūtīta caur vārteju, nevis adresēta tās pašas pakalpojumiem. Ievades noteikums filtrētu nepareizo satiksmi un izskatītos tā, it nemaz nedarbojas.

Ievietojiet virs plašās atļaujas

Pirms piemērošanas apskatiet ievietojumu priekšskatījumā un pārliecinieties, ka noteikums jau nav citur sarakstā. Identiskas politikas dublēšana vēlāku noņemšanu padara neviennozīmīgu, un tas, kurš noņems nepareizo kopiju, to nepamanīs nedēļām.

sudo ufw --dry-run route insert 1 deny in on tun0 proto tcp from 10.88.0.55/32 to 192.0.2.88/32

Ja priekšskatījums rāda tieši vienu noteikumu gaidītajā vietā, piemērojiet to pašu komandu bez dry-run karodziņa. Pozīcija 1 to ievieto virs plašākajām lietotāja atļaujām, nevis virs iepriekš apskatītajiem karkasa noteikumiem. Pārliecinieties, ka saskarnes nosaukums atbilst šīs vārtejas tuneļa ierīcei, jo noteikums, kas piesaistīts saskarnei, kuras vairs nav, paliks sarakstā un izskatīsies pareizi, bet neatbildīs nekam. Pārsauciet ierīces atsauci pirms piemērošanas, nevis pēc tam, kad tests ir neizdevies.

Šajā noteikumā nav galamērķa porta, tāpēc tas aizliedz visus TCP portus šajā adresē, ne tikai HTTPS. Ja nodoms ir viens pakalpojums, nosauciet portu; noteikums, kas plašāks par politiku, ir nākotnes incidents, kas gaida savu pirmo lasītāju.

Ierobežojiet avotu ar vienu adresi tikai tad, ja šī adrese ir piesaistīta paredzētajai identitātei. VPN kopums ar dinamisku piešķiršanu rīt var dot to pašu adresi citam klientam, un aizliegums sekos adresei, nevis personai.

Nodibinātās plūsmas pārdzīvo jauno noteikumu

Savienojumu izsekošana ir iemesls, kāpēc esošā sesija turpinās. Tiklīdz plūsma tiek reģistrēta kā nodibināta, iepriekšējie noteikumi pieņem tās paketes pirms jūsu aizlieguma apskates, un pārsūtīšana beidzas tā, it nekas nebūtu mainījies. Tāpēc pārbaude ar pārlūku, kas atkārtoti izmanto atvērtu savienojumu, neko neizsaka par jauno politiku. Aizliegums var šķist bezjēdzīgs minūtes pēc ieviešanas un būt pilnīgi efektīvs nākamajam lietotājam, kurš pieslēdzas.

Ja prasība ietver dzīvās satiksmes pārtraukšanu, šīs lietotāja noteikuma izmaiņas to nevar nodrošināt. Izsekotā stāvokļa atsaukšana ir atsevišķa darbība ar savu ietekmes rādiusu, un tā pieder ugunsmūra īpašniekam, nevis tam, kurš noteikumu pievienoja. Visu savienojumu iztīrīšana vārtejā, lai viena sesija pazustu, ir tāds labojums, kas rada otru incidentu.

Atcerieties arī robežas. Šis noteikums neko nesaka par ICMP, UDP vai IPv6, tāpēc veiksmīgs ping nav pierādījums, ka aizliegums neizdevās. Viena IPv4 adrese arī nav vietne: vārds var atrisināties uz vairākām adresēm, un aptverta ir tikai tā, kuru nosaukāt.

Pārbaudiet ar svaigu plūsmu

Izlasiet numurētos lietotāja noteikumus un efektīvo neapstrādāto skatu, pēc tam atveriet jaunu savienojumu no izvēlētā klienta:

sudo ufw status numbered
sudo ufw show raw
# from 10.88.0.55, a new TCP connection to 192.0.2.88 should fail

Neapstrādātais skats ir svarīgs, jo status izlaiž ar roku rakstītus karkasa noteikumus, tāpēc secība var izskatīties citādi nekā tā, ko īsteno kodols. Salīdziniet abus pirms secinājuma, ka noteikums ir nepareizajā vietā.

Pēc tam pārbaudiet divas kontroles, kas pierāda, ka noteikums ir šaurs, nevis plašs: atļautais galamērķis no tā paša klienta joprojām darbojas, un otrs klients joprojām sasniedz aizliegto galamērķi, ja viņa politika to atļauj. Aizliegums, kas sagrauj abus testus, ir politikas maiņa, nevis mērķēts pasākums.

Kad tests ir beidzies, noņemiet tikai to noteikumu, kuru pievienojāt, precīzi to atkārtojot. Ja politika ir pastāvīga, nododiet to ugunsmūra īpašniekam ar klienta identitāti, galamērķa īpašnieku un pārskatīšanas datumu, lai no jauna piešķirta tuneļa adrese neatstātu novecojušu aizliegumu.

Saistītie raksti