OpenConnect csd-wrapper: Girişdən əvvəl skripti yoxlayın
--csd-wrapper-i kod icrası sərhədi kimi qəbul edin: skripti yoxlayın, ayrıca csd istifadəçisi seçin və şlüzün həqiqətən nə gördüyünü təsdiqləyin.
--csd-wrapper-in profilə əlavə edilməsi yerli skripti giriş zamanı işlədən demona verir, ona görə qarşınızdakı qərar kod araşdırmasıdır, üstünlük açarı deyil. Seçim şlüzün host yoxlama komponentinin əvəz olunması üçün mövcuddur və sizin təqdim etdiyiniz skriptə yol qəbul edir. Aşağıdakı hər şey yerləşdirmə sahibinin hansı duruş yoxlamasının tələb olunduğunu artıq dediyini fərz edir; əgər bu hissə hələ açıqdırsa, əvvəlcə onu həll edin. Təlimat dörd addımdan ibarətdir: uğursuz mərhələni tapın, skripti oxuyun, onun hansı kimliklə işlədiyini seçin və nəticəni sübut edin.
Addım 1: Uğursuz olan mərhələni tapın
Müştərinin son mesajı adətən kuki ilə bağlıdır və bu, zəncirin başlanğıcı deyil, sonudur. HTTPS girişi, server sertifikatı yoxlaması, autentifikasiya mübadiləsi və duruş komponenti hamısı bu mesajdan əvvəl dayanır.
İstifadə olunan versiyanı və giriş ünvanını qeyd edin, sonra cəhdi öz terminalınızda saxlanılan ətraflı çıxışla təkrarlayın. Yenidən cəhd olmayan ilk xətanı oxuyun, transkriptin son sətrini deyil. Əgər jurnal hər hansı qiymətləndirmə komponenti adlandırılmadan dayanırsa, o zaman sarğı hələ sizin probleminiz deyil. Onu bu nöqtədə əlavə etmək yalnız sonradan müdafiə etməli olduğunuz səthi genişləndirir.
openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/nullTranskripti yerli saxlayın, çünki kukilər və autentifikasiya cavabları giriş materialıdır. Söhbət axınına yapışdırılan iz, qiymətləndirmə addımı zərərsiz görünsə də, etimad məlumatlarının sızmasıdır. Xəta mətnini və axında hansı nöqtədə göründüyünü paylaşın, heç vaxt yükü paylaşmayın.
Addım 2: Skripti profilə girməzdən əvvəl oxuyun
Sarğı yalnız nəzərdən keçirdiyiniz revizyon qədər etibarlıdır, ona görə həmin revizyonu bərkidin və heşini təsdiq qeydinin yanında saxlayın. Aşağıdakı iki əmr bir sətir oxumadan əvvəl sizə barmaq izi və ucuz sintaksis yoxlaması verir. Onlar həm də növbəti şəxsə sabit istinad verir, bu da fayl paket idarəçiliyindən kənarda yaşayanda vacibdir. Heç bir əmr skriptin nə etdiyini demir, ona görə onları işə salın və oxumağa davam edin.
sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.shBütün faylı dörd sualla oxuyun: xaricə HTTP çağırışları edirmi, etimad fayllarını və ya mühit dəyişənlərini oxuyurmu, müvəqqəti kataloqdan kənara yazırmı və hər hansı budaq heç nə ölçmədən keçən duruş bildirirmi. Bu son nümunə yanına jurnal sətri əlavə edilmiş siyasət yan keçməsidir. Kopyalanan sarğılar onu adətən inandırıcı görünən yoxlamanın arxasına keçirir. Əgər skript cihaza baxmadan cihazın yaxşı olduğuna qərar verirsə, orada dayanın.
Yığılmış yükləri də yoxlayın, çünki oxunaqlı başlıq faylın qalan hissəsi haqqında heç nə sübut etmir. Skripti forum mövzusundan endirmək onu etibarlı etmir, sadəcə adı real host yoxlama komponentini xatırladır. Onu kimin quraşdırdığını, haradan gəldiyini və necə yenilənəcəyini qeyd edin.
grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.shAddım 3: Sarğının hansı kimliklə işlədiyini seçin
--csd-user CSD, TNCC və ya HIP proqramı icra olunarkən imtiyazları aşağı salır. Bu hesab yerli icra quruluşunun bir hissəsidir, şlüzə təqdim edilən istifadəçi adı deyil.
Sarğıya interaktiv qabığı, sudo hüquqları və ehtiyac duymadığı qrup üzvlükləri olmayan ayrıca hesab verin. Skriptə və onun yoxladığı konkret fayllara oxu icazəsi verin, sonra VPN profilinə toxunmadan əvvəl imtiyaz düşməsini sınaqdan keçirin. Problemi burada tapmaq onu müştərinin içində tapmaqdan daha ucuzdur.
sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.shİmtiyazların aşağı salınması pis skriptin vura biləcəyi ziyanı məhdudlaşdırır. Lakin o, kodu nəzərdən keçirmir, hesabatı doğru etmir və ya şlüz administratorunun bu tətbiqi cihaz siyasətinə uyğun qəbul etdiyini sübut etmir.
Addım 4: Dəyişikliyi geri qaytarıla bilən saxlayın
Profili redaktə etməzdən əvvəl ehtiyat nüsxəsini çıxarın və sarğını versiya nəzarətində saxlayın ki, geri qaytarma nüsxə axtarmaq əvəzinə məlum heşi bərpa etsin. Skript yolunu, heşini, icra istifadəçisini və təsdiqləyəni bir yerdə yazın.
Geri qaytarmaq üçün seçimi silin, müştərini yenidən başladın və ilkin xətanın qayıtdığını təsdiqləyin. Əgər geri qaytarmadan sonra şlüz girişi yenə rədd edirsə, başqa bir şey də dəyişib və bu fərqi tapmaq sarğını yenidən sınamaqdan əvvəl gəlir. Əvvəlki nüsxəni dəyişiklik pəncərəsi boyunca saxlayın, bu da əksər komandalar üçün növbəti texniki xidmət pəncərəsi keçənə qədər deməkdir.
Uğurlu yerləşdirmədən sonra bir deyil, iki şeyi yoxlayın: tunel qalxır və duruş yoxlamasında uğursuz olmalı olan cihaz hələ də rədd edilir. Hər kəs üçün işləyən bağlantı qiymətləndirmənin dəyişikliyinizdən sağ çıxdığına sübut deyil.
İkinci problem yaradan qısa yollar
Köməkçiyə tələb olunan yoxlamaları işlətmədən uyğun vəziyyət bildirməyə imkan verməyin və platforma kimliyini başqa əməliyyat sisteminə uyğunlaşdırmaq üçün əvəz etməyin. Başqa platforma iddia etmək real cihazın siyasətə uyğun olduğuna sübut deyil. Bu, sizi hər gələcək girişdə yalan danışan müştəri ilə qoyub gedir.
Server yoxlamasını söndürmək, köhnəlmiş kukini təkrar oynatmaq və yoxlanmamış skriptləri üst-üstə yığmaq hamısı görünən uğursuzluğu görünməyən biri ilə dəyişir. Quraşdırılmış müştəri dəstəklənən axını tamamlaya bilmirsə, malik olduğunuzu əymək əvəzinə təsdiqlənmiş alternativ istəyin.
OpenConnect təlimatı --csd-wrapper və --csd-user elementlərini ayrı-ayrı sənədləşdirir, bu da vacib işarədir: skript və kimlik iki qərardır. Onları ayrı-ayrı nəzərdən keçirin və hər ikisini yazın. Sonra giriş sorğusu kod yapışdırmaqla həll etdiyiniz sirr olmaqdan çıxır.