Yangi UFW qoidasi, eski ulanish: o’rnatilgan holat g’alaba qozonadi
Tor doiradagi UFW marshrut rad etishi oldingi qoidalar allaqachon qabul qilgan trafikni chetlab o’tadi. Uni qaerga kiritish va o’rnatilgan holat hali nimani o’tkazishini ko’ring.
Rad etish qoidasini qo’shib, ochiq yuklab olish davom etayotganini ko’rish UFW xatosi emas. Siz qo’shgan qoida oqimni allaqachon qabul qilgan qoidalardan keyin turadi va avval o’rnatilgan ulanish ularga mos kelaveradi. Buni tuzatish to’g’ri joyga kiritish va oldingi qoidalar nima va’da qilishini tushunish demakdir. Bu o’zgarishning tor varianti quyida.
Qoidaning mavjudligi emas, tartib hal qiladi
UFW — netfilter qoidalarini bosqichma-bosqich yozadigan old qism: foydalanuvchi qoidalaridan oldin ishlaydigan karkas bo’limi, so’ng foydalanuvchi qoidalarining o’zi, so’ng ularning keyin ishlaydigan bo’lim. Standart oldingi qoidalar o’rnatilgan va bog’liq ulanishlar trafigini qabul qiladi va bu qoidalar siz oddiy allow yoki deny bilan qo’shadigan har qanday narsadan oldin baholanadi. UFW buyruqlari ma’lumotnomasi kiritish sintaksisi va bu o’zgarish bog’liq bo’lgan raqamlangan holat ko’rinishini hujjatlashtiradi.
Aynan shu tartib hayratni izohlaydi. Yangi qoidangiz haqiqiy va to’g’ri jadvalda, lekin paket duch keladigan birinchi qaror u emas. O’rnatilgan deb kuzatilayotgan ulanish unga hech qachon yetib bormaydi.
Bu ish uchun route qoidalaridan foydalaning, chunki paket shlyuzning o’z xizmatlariga manzillanmay, shlyuz orqali uzatiladi. Kirish qoidasi noto’g’ri trafikni filtrlab, hech narsa qilmayotgandek ko’rinardi.
Keng ruxsatdan yuqoriga kiriting
Qo’llashdan oldin kiritishni oldindan ko’rib chiqing va qoida ro’yxatda boshqa joyda allaqachon yo’qligini tasdiqlang. Bir xil siyosatni takrorlash keyingi olib tashlashni noaniq qiladi va noto’g’ri nusxani olib tashlagan kishi buni haftalab sezmaydi.
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
Agar oldindan ko’rish kutilgan joyda aynan bitta qoidani ko’rsatsa, xuddi shu buyruqni dry-run bayrog’isiz qo’llang. 1-o’rin uni kengroq foydalanuvchi ruxsatlaridan yuqoriga qo’yadi, avval muhokama qilingan karkas qoidalaridan yuqoriga emas. Interfeys nomi bu shlyuzdagi tunnel qurilmasiga mos kelishini tasdiqlang, chunki endi mavjud bo’lmagan interfeysga bog’langan qoida ro’yxatda turib to’g’ri ko’rinadi, lekin hech narsaga mos kelmaydi. Qurilma havolasini qo’llashdan oldin o’zgartiring, test muvaffaqiyatsiz bo’lgandan keyin emas.
Bu qoidada manzil porti yo’q, shuning uchun u o’sha manzildagi faqat HTTPS emas, barcha TCP portlarini rad etadi. Agar maqsad bitta xizmat bo’lsa, portni nomlang; siyosatdan kengroq qoida birinchi o’quvchisini kutayotgan kelajakdagi hodisadir.
Manbani bitta manzil bilan cheklang, agar o’sha manzil ko’zda tutilgan shaxsga bog’langan bo’lsa. Dinamik taqsimotli VPN hovuzi ertaga o’sha manzilni boshqa mijozga berishi mumkin va rad etish shaxsni emas, manzilni kuzatadi.
O’rnatilgan oqimlar yangi qoidadan omon qoladi
Mavjud sessiyaning davom etishiga sabab ulanishlarni kuzatishdir. Oqim o’rnatilgan deb qayd etilgach, oldingi qoidalar uning paketlarini sizning rad etishingiz ko’rilmasidan oldin qabul qiladi va uzatish hech narsa o’zgarmagandek tugaydi. Shuning uchun ochiq ulanishni qayta ishlatadigan brauzer bilan sinash yangi siyosat haqida hech narsa aytmaydi. Rad etish joriy etilgandan bir necha daqiqa o’tib foydasiz ko’rinishi va keyingi ulanadigan foydalanuvchi uchun to’liq samarali bo’lishi mumkin.
Agar talab jonli trafikni uzishni o’z ichiga olsa, bu foydalanuvchi qoidasi o’zgarishi buni bera olmaydi. Kuzatilgan holatni bekor qilish o’z ta’sir radiusiga ega alohida amal bo’lib, u qoidani qo’shgan kishiga emas, firewall egasiga tegishli. Bitta sessiya yo’qolishi uchun shlyuzdagi barcha ulanishlarni tozalash ikkinchi hodisani keltirib chiqaradigan tuzatish turidir.
Chegaralarni ham unutmang. Bu qoida ICMP, UDP yoki IPv6 haqida hech narsa demaydi, shuning uchun muvaffaqiyatli ping rad etish muvaffaqiyatsiz bo’lganiga dalil emas. Bitta IPv4 manzil ham veb-sayt emas: nom bir nechta manzilga hal bo’lishi mumkin va faqat siz nomlagan manzil qamrab olinadi.
Yangi oqim bilan sinab ko’ring
Raqamlangan foydalanuvchi qoidalarini va amaldagi xom ko’rinishni o’qing, so’ng tanlangan mijozdan yangi ulanish oching:
sudo ufw status numbered
sudo ufw show raw
# from 10.88.0.55, a new TCP connection to 192.0.2.88 should fail
Xom ko’rinish muhim, chunki status qo’lda yozilgan karkas qoidalarini tashlab ketadi, shuning uchun tartib yadro qo’llaydiganidan boshqacha ko’rinishi mumkin. Qoida noto’g’ri joyda deb xulosa qilishdan oldin ikkalasini solishtiring.
So’ng qoidaning keng emas, tor ekanini isbotlaydigan ikki nazoratni tekshiring: o’sha mijozdan ruxsat etilgan manzil hali ham ishlaydi va ikkinchi mijoz siyosati ruxsat bersa, rad etilgan manzilga hali ham yetib boradi. Ikkala sinovni ham buzadigan rad etish — siyosat o’zgarishi, maqsadli chora emas.
Sinov tugagach, faqat o’zingiz qo’shgan qoidani olib tashlang, uni aniq takrorlab. Agar siyosat doimiy bo’lsa, uni firewall egasiga mijoz shaxsi, manzil egasi va ko’rib chiqish sanasi bilan topshiring, shunda qayta tayinlangan tunnel manzili eskirgan rad etishni qoldirmaydi.