Ang magdagdag ng panuntunan ng pagtanggi at makitang nagpapatuloy ang isang bukas na download ay hindi bug ng UFW. Ang panuntunang idinagdag mo ay nasa likod ng mga panuntunang tumanggap na sa daloy, at ang koneksyong itinatag kanina ay patuloy na tumutugma sa mga ito. Ang pagwawasto ay nangangahulugang pagpasok sa tamang posisyon at pag-unawa sa ipinapangako ng mga naunang panuntunan. Ang makitid na bersyon ng pagbabagong iyon ang sumusunod.

Ang pagkakasunod-sunod ang nagpapasya, hindi ang pag-iral ng panuntunan

Ang UFW ay isang front end na nagsusulat ng mga panuntunan ng netfilter nang paunti-unti: isang seksyon ng balangkas na tumatakbo bago ang mga panuntunan ng gumagamit, pagkatapos ang mga panuntunan ng gumagamit mismo, pagkatapos isang seksyon na tumatakbo pagkatapos ng mga ito. Ang mga karaniwang naunang panuntunan ay tumatanggap ng trapiko ng mga koneksyong established at kaugnay, at ang mga panuntunang iyon ay sinusuri bago ang anumang idinagdag mo gamit ang ordinaryong allow o deny. Ang sanggunian ng mga utos ng UFW ay nagdodokumento ng sintaks ng pagpasok at ang numerong tanawin ng estado na pinagbabatayan ng pagbabagong ito.

Ipinapaliwanag ng pagkakasunod-sunod na iyon ang sorpresa. Totoo ang bago mong panuntunan at nasa tamang talahanayan, ngunit hindi ito ang unang desisyong nararanasan ng packet. Ang koneksyong sinusubaybayan na bilang established ay hindi kailanman umaabot dito.

Gumamit ng mga panuntunang route para sa gawaing ito, dahil ipinapasa ang packet sa gateway sa halip na indirihon sa sariling mga serbisyo ng gateway. Ang panuntunan sa input ay sasala ng maling trapiko at magmumukhang walang ginagawa.

Ipasok sa itaas ng malawak na pahintulot

Tingnan muna ang pagpasok bago ito ilapat, at tiyakin na wala pa ang panuntunan sa ibang bahagi ng listahan. Ang pagkopya ng magkatulad na patakaran ay nagpapalabo sa pag-alis mamaya, at ang taong mag-aalis ng maling kopya ay hindi ito mapapansin nang ilang linggo.

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

Kung ang paunang tanawin ay nagpapakita ng eksaktong isang panuntunan sa posisyong inaasahan mo, ilapat ang parehong utos nang walang dry-run flag. Inilalagay ito ng posisyon 1 sa itaas ng mas malawak na pahintulot ng gumagamit, hindi sa itaas ng mga tuntunin ng balangkas na tinalakay kanina. Tiyakin na ang pangalan ng interface ay tumutugma sa tunnel device sa gateway na ito, dahil ang panuntunang nakatali sa isang interface na wala na ay mananatili sa listahan at magmumukhang tama habang wala namang tinutugma. Palitan ang pangalan ng sanggunian ng device bago ilapat, hindi pagkatapos mabigo ang pagsubok.

Walang port ng destinasyon sa panuntunang iyon, kaya tinatanggihan nito ang bawat port ng TCP sa address na iyon at hindi lamang HTTPS. Kung isang serbisyo lamang ang layunin, pangalanan ang port; ang panuntunang mas malawak kaysa patakaran ay isang pangyayari sa hinaharap na naghihintay sa unang mambabasa nito.

Limitahan ang pinagmulan sa isang address lamang kung ang address na iyon ay nakatali sa inaasahang pagkakakilanlan. Ang pool ng VPN na may dinamikong paglalaan ay maaaring magbigay ng parehong address sa ibang kliyente bukas, at ang pagtanggi ay susunod sa address hindi sa tao.

Ang mga established na daloy ay nakakaligtas sa bagong panuntunan

Ang pagsubaybay ng koneksyon ang dahilan kung bakit nagpapatuloy ang kasalukuyang sesyon. Kapag naitala ang isang daloy bilang established, tinatanggap ng mga naunang panuntunan ang mga packet nito bago pa tingnan ang iyong pagtanggi, at natatapos ang paglilipat na parang walang nagbago. Kaya ang pagsubok gamit ang browser na muling gumagamit ng bukas na koneksyon ay walang sinasabi tungkol sa bagong patakaran. Ang pagtanggi ay maaaring magmukhang walang silbi ilang minuto pagkatapos ng deployment at maging ganap na epektibo para sa susunod na user na kumonekta.

Kung kasama sa pangangailangan ang pagputol ng live na trapiko, hindi ito kayang ibigay ng pagbabago sa panuntunan ng gumagamit. Ang pagbawi ng sinusubaybayang estado ay hiwalay na aksyon na may sariling saklaw ng epekto, at pag-aari ito ng may-ari ng firewall at hindi ng nagdagdag ng panuntunan. Ang paglilinis ng lahat ng koneksyon sa isang gateway upang mawala ang isang sesyon ay ang uri ng pagwawastong lumilikha ng pangalawang insidente.

Tandaan din ang mga hangganan. Walang sinasabi ang panuntunang ito tungkol sa ICMP, UDP o IPv6, kaya ang matagumpay na ping ay hindi patunay na nabigo ang pagtanggi. Ang isang address na IPv4 ay hindi rin website: ang isang pangalan ay maaaring mag-resolve sa maraming address, at ang pinangalanan mo lamang ang saklaw.

Subukan gamit ang bagong daloy

Basahin ang mga numeradong panuntunan ng gumagamit at ang epektibong hilaw na tanawin, pagkatapos buksan ang bagong koneksyon mula sa piniling kliyente:

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

Mahalaga ang hilaw na tanawin dahil inaalis ng status ang mga tuntunin ng balangkas na isinulat sa kamay, kaya maaaring magmukhang iba ang pagkakasunod-sunod kaysa sa ipinapatupad ng kernel. Ihambing ang dalawa bago magpasyang nasa maling lugar ang isang panuntunan.

Pagkatapos suriin ang dalawang kontrol na nagpapatunay na makitid ang panuntunan at hindi malawak: gumagana pa rin ang pinahintulutang destinasyon mula sa parehong kliyente, at naaabot pa rin ng pangalawang kliyente ang tinanggihang destinasyon kung pinapayagan ng patakaran nito. Ang pagtangging sumisira sa dalawang pagsubok ay pagbabago ng patakaran, hindi naka-target na hakbang.

Kapag tapos na ang pagsubok, alisin lamang ang panuntunang idinagdag mo, sa pamamagitan ng eksaktong pag-uulit nito. Kung permanente ang patakaran, ibigay ito sa may-ari ng firewall kasama ang pagkakakilanlan ng kliyente, may-ari ng destinasyon at petsa ng pagsusuri, upang ang muling naitalagang address ng tunnel ay hindi mag-iwan ng lipas na pagtanggi.

Kaugnay na mga artikulo