Xidmət işə düşür, müştəri qoşulur və server tərəfində heç vaxt marşrut görünmür. Ya da demon işə düşməkdən imtina edir və icra edə bilmədiyi əmri adlandırır. Hər iki nəticə eyni üç sətri izləyir, hansı ki adətən sərtləşdirmə təlimatından birlikdə köçürülür: imtiyazsız hesaba keçmək, qrupdan imtina etmək və fayl sisteminin kökünü dəyişmək. Üçündən yalnız biri faylları gizlədir və yalnız biri marşrutlaşdırma cədvəlini dəyişmək imtiyazını götürür. Onları ayırmaq həqiqətən hansı sətri istədiyinizi öyrənməyin yoludur.

Həbsxananın götürdüyü, amma demonun hələ ehtiyac duyduğu şeylər

Kök dəyişikliyi işə salındıqdan sonra baş verir, buna görə demon artıq açdığı hər şeyi saxlayır və sonra aça biləcəyi hər şeyi itirir. Bağlantının bu nöqtədən sonra işlətdiyi hər köməkçi, yüklədiyi paylaşılan kitabxanalarla birlikdə yeni kökün içində mövcud olmalıdır. Konfiqurasiya faylından və sertifikatdan qurulmuş həbsxanada heç biri yoxdur.

İmtiyazsız hesaba keçmək ayrı bir məhdudiyyətdir. Root-dan imtina etmiş proses, ikili fayl tam orada olsa belə marşrutları dəyişə və ya interfeysi qaldıra bilməyə bilər, buna görə iki nasazlıq ayrı-ayrılıqda diaqnostika edilməlidir.

Hansı düzəlişə ehtiyacınız olduğunu üç şərt həll edir

Birinci şərt qurğunuzun marşrutları necə quraşdırmasıdır. Yeni OpenVPN versiyaları interfeysi və marşrutlaşdırma cədvəlini proses daxilində konfiqurasiya edir, köhnə paketlər və fərdi quraşdırmalar isə xarici alətlərə və ya up və down skriptlərinə güvənir. Jurnal bir əmr adlandırırsa, işdə xarici alət var və həbsxana onu gizlədir. Jurnal bunun əvəzinə icazə xətası göstərirsə, problem hesabdır.

İkincisi texniki xidmətdir. Kopyalanmış ikili faylları olan həbsxana, onları təmin edən paket hər yeniləndikdə təzələnməlidir, əks halda ilk yeniləmə arxasında qırıq tunel qoyur. Üçüncüsü, müəyyən bir nəzarətin həqiqətən chroot tələb edib-etməməsidir; tələb əslində imtiyazların ayrılması ilə bağlıdırsa, hesab dəyişikliyi tək başına kifayət edə bilər.

Signal in the logOther side of the boundaryRepair direction
Command not found after startupBinary and its libraries absent inside the new rootPopulate the jail, or drop the chroot line
Operation not permittedAccount lost the privilege to edit routesKeep the account privileged, or pre-create routes elsewhere
No such deviceJail lacks the tun device nodeCreate the node inside, or open it before the root change

İşləyən həbsxananın tərkibində nə olmalıdır

Əmr icra edən həbsxanaya ikili fayl, bağlandığı hər kitabxana və demonun gec açdığı hər cihaz düyünü lazımdır. Parçaları köçürün və VPN olmadan sınayın:

ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up

Birinci əmr asılılıqları sadalayır və insanların atladığı da elə budur. Kitabxana tapa bilməyən kopyalanmış ikili fayl, çatışmayan ikili fayldan fərqli mesajla uğursuz olur və hər ikisi müştəri tərəfindən oxunduqda OpenVPN nasazlığı kimi görünür. Əmri həbsxana içində əl ilə icra etmək, xidməti yenidən başlatmadan nasazlığı təkrar yaradır.

Konfiqurasiyanı, sertifikatları və varsa CRL-ni də həbsxanaya köçürün, çünki demonun işə salındıqdan sonra yenidən oxumağı gözlədiyi fayl, kök dəyişdikdən sonra tapılmayacaq. Nə köçürdüyünüzü qeyd edin, çünki şəbəkə paketinin növbəti yenilənməsi orijinalları əvəz edir və həbsxananı köhnə surətdə qoyur.

Əvəzində sərtləşdirməni kiçildin

Həbsxana yalnız təlimat belə dediyi üçün varsa, o bir sətri götürüb hesab məhdudiyyətlərini saxlamaq müdafiə oluna bilən nəticədir. Demon fayl sistemi görünüşünü saxlayır və problemdən qurtulur, imtiyaz enişi isə uzunömürlü prosesdən root-u hələ də çıxarır.

Nəyin qaldığını və niyə qaldığını yazın. Nəzarəti qeyd olmadan sakitcə itirən konfiqurasiya, sərtləşdirmənin sürüşdüyü yoldur və növbəti audit sətrin niyə yox olduğunu soruşacaq.

Seçməzdən əvvəl üç sətri ikiyə bölün

Konfiqurasiyanı köçürün, hər üç direktivi söndürün və müştərinin qoşulduğunu və gözlənilən marşrutların göründüyünü təsdiqləyin. Sonra yalnız hesab sətirlərini, ardınca yalnız chroot-u yenidən aktivləşdirin. Tunelin qırıldığı addım sərhədi göstərir, və heç vaxt səbəb olmayan bir həbsxananı yenidən qurmaqdan qaçınırsınız.

Yenidən marşrutlaşdırdıqda, daha yüksək təfərrüat səviyyəsi ilə bir müştəri sessiyası işlədin və əmri və ya uğursuz olan icazəni adlandıran sətri oxuyun. O sətir, müştərinin sonda bildirdiyi fasilədən daha dəyərlidir.

Əlaqəli məqalələr