Додати правило одбијања и гледати како отворено преузимање наставља није грешка у UFW-у. Правило које сте додали стоји после правила која су ток већ прихватила, а веза успостављена раније наставља да им одговара. Поправка значи уметање на право место и разумевање шта ранија правила обећавају. Ужа верзија те промене следи.

Редослед одлучује, не постојање правила

UFW је предња страна која записује netfilter правила у фазама: део оквира који се извршава пре корисничких правила, затим сама корисничка правила, затим део који се извршава после њих. Стандардна претходна правила прихватају саобраћај успостављених и повезаних веза, и та правила се оцењују пре свега што додате обичним allow или deny. Референца UFW команди документује синтаксу уметања и нумерисани приказ стања од којих зависи ова промена.

Тај редослед објашњава изненађење. Ваше ново правило је стварно и налази се у правој табели, али није прва одлука на коју пакет наилази. Веза која се већ прати као успостављена никада не стиже до њега.

За овај посао користите route правила, јер се пакет прослеђује кроз мрежни пролаз, а не адресира на његове сопствене сервисе. Улазно правило би филтрирало погрешан саобраћај и изгледало би као да не ради ништа.

Уметните изнад широке дозволе

Прегледајте уметање пре примене и потврдите да правило већ не постоји негде другде на листи. Дуплирање идентичне политике чини касније уклањање двосмисленим, а особа која уклони погрешну копију неће то приметити недељама.

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

Ако преглед покаже тачно једно правило на позицији коју очекујете, примените исту команду без dry-run заставице. Позиција 1 га ставља изнад ширих корисничких дозвола, а не изнад правила оквира размотрених раније. Потврдите да назив интерфејса одговара тунелском уређају на овом пролазу, јер ће правило везано за интерфејс који више не постоји стајати на листи и изгледати исправно док се не поклапа ни са чим. Промените референцу на уређај пре примене, не после неуспелог теста.

У том правилу нема одредишног порта, па оно одбија сваки TCP порт на тој адреси, а не само HTTPS. Ако је намера један сервис, именујте порт; правило шире од политике је будући инцидент који чека свог првог читаоца.

Ограничите извор на једну адресу само ако је та адреса везана за предвиђени идентитет. VPN базен са динамичком доделом може сутра дати исту адресу другом клијенту, а одбијање би пратило адресу, а не особу.

Успостављени токови преживљавају ново правило

Праћење веза је разлог зашто постојећа сесија траје. Када се ток забележи као успостављен, претходна правила прихватају његове пакете пре него што се ваше одбијање погледа, и пренос се завршава као да се ништа није променило. Зато тестирање прегледачем који поново користи отворену везу не говори ништа о новој политици. Одбијање може изгледати бескорисно минутима после увођења и бити потпуно делотворно за следећег корисника који се повеже.

Ако захтев укључује прекид живе саобраћаја, ова промена корисничког правила то не може да пружи. Опозив праћеног стања је засебна радња са сопственим радијусом утицаја и припада власнику заштитног зида, а не ономе ко је додао правило. Испирање свих веза на пролазу да би једна сесија нестала је врста поправке која ствара други инцидент.

Запамтите и границе. Ово правило не говори ништа о ICMP, UDP или IPv6, па успешан ping није доказ да је одбијање подбацило. Ни једна IPv4 адреса није веб-сајт: име се може разрешити у више адреса, а покривена је само она коју сте навели.

Тестирајте са свежим током

Прочитајте нумерисана корисничка правила и делотворни сирови приказ, па отворите нову везу са изабраног клијента:

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

Сирови приказ је важан јер status изоставља правила оквира написана ручно, па редослед може изгледати другачије од онога што кернел примењује. Упоредите оба пре него што закључите да је правило на погрешном месту.

Затим проверите две контроле које доказују да је правило уско, а не широко: дозвољено одредиште са истог клијента још ради, а други клијент још стиже до одбијеног одредишта ако му политика то дозвољава. Одбијање које руши оба теста је промена политике, а не циљана мера.

Када тест заврши, уклоните само правило које сте додали, понављајући га тачно. Ако је политика трајна, предајте је власнику заштитног зида са идентитетом клијента, власником одредишта и датумом прегледа, како прераспоређена адреса тунела не би оставила застарело одбијање.

Повезани чланци