chroot-dan voz kechish kerakmi yoki iproute2-ni qamoqxonaga ko'chirish kerakmi?
To'liq bo'lmagan qamoqxona yuklashda emas, ishga tushgandan keyin muvaffaqiyatsiz bo'ladi. Qattiqlashtirishni yumshatish yoki ikkilik fayllar va kutubxonalarni yangi ildizga ko'chirish o'rtasida tanlang.
Xizmat ishga tushadi, mijoz ulanadi va server tomonida hech qachon marshrut ko'rinmaydi. Yoki demon ishga tushishdan bosh tortadi va bajara olmagan buyruqni nomlaydi. Ikkala natija ham odatda qattiqlashtirish qo'llanmasidan birgalikda ko'chiriladigan bir xil uchta satrga amal qiladi: imtiyozsiz hisobga o'tish, guruhdan voz kechish va fayl tizimining ildizini o'zgartirish. Uchtadan faqat bittasi fayllarni yashiradi va faqat bittasi marshrutlash jadvalini o'zgartirish imtiyozini olib tashlaydi. Ularni ajratish haqiqatda qaysi satr kerakligini o'rganish yo'lidir.
Qamoqxona olib tashlaydigan, lekin demonga hali kerak bo'lgan narsalar
Ildiz o'zgarishi ishga tushgandan keyin sodir bo'ladi, shuning uchun demon allaqachon ochgan hamma narsani saqlaydi va keyinroq ochadigan hamma narsani yo'qotadi. Ulanish bu nuqtadan keyin ishga tushiradigan har qanday yordamchi, yuklaydigan umumiy kutubxonalar bilan birga yangi ildiz ichida mavjud bo'lishi kerak. Konfiguratsiya fayli va sertifikatdan qurilgan qamoqxonada ikkalasi ham yo'q.
Imtiyozsiz hisobga o'tish alohida cheklovdir. Ildizdan voz kechgan jarayon, ikkilik fayl aynan shu yerda bo'lsa ham, marshrutlarni o'zgartira olmasligi yoki interfeysni ko'tara olmasligi mumkin, shuning uchun ikkala nosozlik alohida tashxis qilinishi kerak.
Qaysi tuzatish kerakligini uchta shart hal qiladi
Birinchi shart - qurilmangiz marshrutlarni qanday o'rnatishi. Yangi OpenVPN versiyalari interfeys va marshrutlash jadvalini jarayon ichida sozlaydi, eski paketlar va maxsus sozlamalar esa tashqi vositalarga yoki up va down skriptlariga tayanadi. Jurnal buyruqni nomlasa, ishda tashqi vosita bor va qamoqxona uni yashiradi. Jurnal buning o'rniga ruxsat xatosini ko'rsatsa, muammo hisobda.
Ikkinchisi - texnik xizmat. Ko'chirilgan ikkilik fayllari bo'lgan qamoqxona, ularni ta'minlaydigan paket har yangilanganda yangilanishi kerak, aks holda birinchi yangilanish orqasida buzilgan tunnel qoldiradi. Uchinchisi - muayyan nazorat haqiqatan ham chroot talab qiladimi; agar talab aslida imtiyozlarni ajratish haqida bo'lsa, hisobni o'zgartirishning o'zi kifoya qilishi mumkin.
| Signal in the log | Other side of the boundary | Repair direction |
|---|---|---|
| Command not found after startup | Binary and its libraries absent inside the new root | Populate the jail, or drop the chroot line |
| Operation not permitted | Account lost the privilege to edit routes | Keep the account privileged, or pre-create routes elsewhere |
| No such device | Jail lacks the tun device node | Create the node inside, or open it before the root change |
Ishlaydigan qamoqxona nimani o'z ichiga olishi kerak
Buyruqlarni bajaradigan qamoqxonaga ikkilik fayl, u bog'lanadigan har bir kutubxona va demon kech ochadigan har bir qurilma tuguni kerak. Qismlarni ko'chiring va ularni VPN bo'lmagan holda sinab ko'ring:
ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up
Birinchi buyruq bog'liqliklarni sanab chiqadi va odamlar aynan shuni o'tkazib yuborishadi. Kutubxonani topa olmagan ko'chirilgan ikkilik fayl, etishmayotgan ikkilik fayldan boshqacha xabar bilan muvaffaqiyatsiz bo'ladi va ikkalasi ham mijoz tomonidan o'qilganda OpenVPN nosozligi kabi ko'rinadi. Buyruqni qamoqxona ichida qo'lda bajarish xizmatni qayta ishga tushirmasdan nosozlikni takrorlaydi.
Konfiguratsiyani, sertifikatlarni va bo'lsa CRL-ni ham qamoqxonaga ko'chiring, chunki demon ishga tushgandan keyin qayta o'qishni kutayotgan fayl ildiz o'zgargandan keyin topilmaydi. Nima ko'chirganingizni yozib qo'ying, chunki tarmoq paketining keyingi yangilanishi asl nusxalarni almashtiradi va qamoqxonani eski nusxada qoldiradi.
Buning o'rniga qattiqlashtirishni kichraytiring
Agar qamoqxona faqat qo'llanma shunday degani uchun mavjud bo'lsa, o'sha bitta satrni olib tashlab, hisob cheklovlarini saqlab qolish himoya qilish mumkin bo'lgan natijadir. Demon fayl tizimi ko'rinishini saqlaydi va muammodan qutuladi, imtiyozlarning pasayishi esa uzoq umr ko'radigan jarayondan ildizni hali ham olib tashlaydi.
Nima qolganini va nima uchun qolganini yozib qo'ying. Nazoratni eslatmasiz jimgina yo'qotgan konfiguratsiya - qattiqlashtirish shu yo'l bilan siljiydi va keyingi audit satr nima uchun yo'qolganini so'raydi.
Tanlashdan oldin uchta satrni ikkiga bo'ling
Konfiguratsiyani ko'chiring, uchta direktivani ham o'chiring va mijoz ulanishini hamda kutilgan marshrutlar paydo bo'lishini tasdiqlang. Keyin faqat hisob satrlarini, so'ngra faqat chroot-ni qayta yoqing. Tunnel buziladigan qadam chegarani ko'rsatadi, va hech qachon sabab bo'lmagan qamoqxonani qayta qurishdan qochasiz.
U yana marshrutlaganda, yuqoriroq tafsilot darajasi bilan bitta mijoz seansini ishga tushiring va buyruqni yoki muvaffaqiyatsiz bo'lgan ruxsatni nomlaydigan satrni o'qing. O'sha satr mijoz oxirida xabar qiladigan taym-autdan qimmatroq.