Ikki OpenVPN paket yo‘li uchun Shorewall zonalari
Shifrlangan OpenVPN transportini shifri ochilgan mijoz trafigidan ajrating, tunnelga o‘z zonasini bering va mijozga kerak bo‘lgan bitta xizmatgagina ruxsat bering.
Ikki paket oqimi OpenVPN ni tugatuvchi Shorewall shlyuzidan o‘tadi va ulardan faqat bittasi shifrlangan. Birinchisi mijozning internetga qaragan interfeysdagi VPN tinglovchisiga transporti. Ikkinchisi tunnel interfeysidan chiqadigan shifri ochilgan so‘rov bo‘lib, u ofis serveriga yoki shlyuzdagi xizmatga boradi. Siyosatni tahrirlashdan oldin ikkalasini ham chizing, chunki birinchisini qanoatlantiradigan qoida ikkinchisi uchun hech narsa qilmaydi.
Siyosatni tahrirlashdan oldin ikki oqimni chizing
Oqimlarni manba, manzil, protokol va port bilan qatorlar sifatida yozing. Tashqi yo‘lda manba mijozning ommaviy manzili, manzil esa shlyuzning tinglash porti; Shorewall buni internetdan xavfsizlik devoriga qarab ketayotgan trafik deb qaraydi. Ichki yo‘lda manba tunnel manzillar diapazoni, manzil esa tasdiqlangan xizmat. Bitta administrator ikkalasini ham yuritsa ham, ikki qatorning egalari boshqacha.
| Flow | Zone relationship | What to constrain |
|---|---|---|
| Encrypted OpenVPN transport | Internet to the firewall host | The listener's actual protocol and port |
| Decrypted request to a LAN service | VPN clients to the LAN zone | One approved server and service |
| Decrypted request to the gateway | VPN clients to the firewall host | Only the local services required |
| Request to another VPN client | VPN clients to VPN clients | Denied unless deliberately required |
Qatorni faqat so‘rov shlyuzning o‘zida tugasa qo‘shing, masalan, hal qiluvchi yoki boshqaruvga kirish. Xostdagi xizmat yo‘naltirilgan yo‘lga emas, xost kiritish siyosatiga amal qiladi. Aynan shu ikkisini aralashtirish tor tunnel qoidasi oxir-oqibat boshqaruv interfeysini ochib qo‘yishiga sabab bo‘ladi.
Tunnel zonasini va interfeys qamrovini belgilang
Sayohatchi zonasi /etc/shorewall/zones faylida e’lon qilinadi, tunnel interfeysi /etc/shorewall/interfaces faylida ulanadi, tashqi ulanish esa /etc/shorewall/tunnels faylida tavsiflanadi. O‘rnatilgan nashr sintaksisiga moslashing, chunki ustunlar tartibi va parametr nomlari asosiy versiyalar orasida o‘zgargan. Qo‘llanmadagi misol port demon haqiqatda tinglaydigan portdan boshqa portga ruxsat berish uchun asos emas. Faqat raqamlar mos kelgani uchun TCP va UDP bir-birini almashtira olmaydi.
Qo‘llanma interfeyslarni tun+ bilan guruhlaydi. Bir nechta tunnelga ega xostda bu joker belgisi boshqa ishonch darajasidagi ikkinchi VPNni o‘sha zonaga joylashtirishi mumkin. Qamrovni haqiqatda mavjud interfeyslarga qarab ko‘rib chiqing va interfeys nomlarini qo‘lda tahrirlash o‘rniga nomlashni ulanish menejerining hayot sikli ostida saqlang.
Tarixiy qo‘llanma ancha eski OpenVPN konfiguratsiya namunalarini o‘z ichiga oladi va uning kripto maslahatlari joriy joylashtirishga ko‘chirilmasligi kerak. Buning o‘rniga zona va oqim modelini oling. Kriptografik asosni shlyuzning qo‘llab-quvvatlanadigan OpenVPN siyosatidan oling.
Faqat o‘zingiz tasniflagan yo‘lga ruxsat bering
VPN zonasidan LANga keng ruxsat boshlang‘ich sxema, tayyor siyosat emas. Ruxsat etilgan mijoz manbasini, xizmatning haqiqiy manzilini, protokol va portni yozing. So‘ngra uning ustidagi qoidalarni va zonaning standart qiymatini o‘qing, chunki tor qo‘shimcha allaqachon mos keladigan keng ruxsatni bekor qilmaydi. Shlyuz xostiga trafik u orqali yo‘naltiriladigan trafikdan alohida munosabat.
Mijozlar orasidagi trafik o‘z qarorini talab qiladi. OpenVPNning client-to-client va Shorewallning routeback parametrlari mijozlar bir-biriga yeta olishiga ta’sir qiladi va hech biri faqat bitta LAN ilovasi ishlashi uchun yoqilmasligi kerak. Sinashdan oldin izolyatsiya qayerda qo‘llanishini hal qiling.
Javob yo‘lini o‘sha rejada saqlang. Xizmat yoki uning marshrutizatori trafikni tunnel diapazoniga qanday qaytarishni bilishi kerak, yoki loyiha manbani ataylab va ko‘zda tutilgan qamrovda o‘girishi kerak.
Tekshiring, so‘ngra ikkala yo‘lni isbotlang
Biror narsani qayta ishga tushirishdan oldin konfiguratsiyani tekshiring va yangi siyosat xato bo‘lsa, mustaqil boshqaruv sessiyasini ochiq saqlang.
shorewall check
Toza tekshiruvdan so‘ng konfiguratsiyani qo‘llang va Shorewall nima yuklaganini qayta o‘qing. Bu o‘qishlar fayl aytayotgandek ko‘rinadigan narsani emas, ishlab turgan siyosatni tavsiflaydi.
shorewall show zones
ip route get 192.168.10.20
O‘sha mijozdan bitta yangi ruxsat etilgan va bitta ataylab rad etilgan so‘rovni sinab ko‘ring. Muvaffaqiyatli OpenVPN qo‘l berish faqat tashqi almashinuvni isbotlaydi; ruxsat etilgan xizmat va rad etilgan resurs siz ko‘zlagan ichki siyosatni isbotlaydi. So‘ngra mijozni qayta ulang va takrorlang, chunki tunnel interfeysining nomi va manzili sessiyalar orasida o‘zgarishi mumkin. Natija boshqacha bo‘lsa, qoidani kengaytirish o‘rniga zona qamrovini tuzating.