--csd-wrapper seçeneğini bir profile eklemek, oturum açma sırasında onu çalıştıran bir arka plan sürecine yerel bir betik verir, yani önünüzdeki karar bir kod incelemesidir, tercih anahtarı değil. Seçenek, ağ geçidinin ana makine denetimi bileşeninin değiştirilebilmesi için vardır ve sizin sağladığınız bir betiğe giden yolu alır. Aşağıdakilerin tümü, dağıtım sahibinin hangi duruş denetiminin gerektiğini zaten söylediğini varsayar; o kısım hâlâ açıksa önce onu netleştirin. Kılavuzun dört adımı vardır: başarısız olan aşamayı bulun, betiği okuyun, hangi kimlik altında çalıştığını seçin ve sonucu kanıtlayın.

Adım 1: Başarısız olan aşamayı bulun

İstemcinin son mesajı genellikle bir çerezle ilgilidir, bu bir zincirin sonudur, başlangıcı değil. HTTPS oturum açma, sunucu sertifikası denetimi, kimlik doğrulama alışverişi ve duruş bileşeni, hepsi o mesajın önünde durur.

Kullanılan sürümü ve oturum açma adresini not edin, sonra ayrıntılı çıktıyı kendi terminalinizde tutarak denemeyi yineleyin. Yeniden deneme olmayan ilk hatayı okuyun, kaydın son satırını değil. Günlük herhangi bir değerlendirme bileşeni adlandırılmadan durursa, sarmalayıcı henüz sizin sorununuz değil. Onu o noktada eklemek yalnızca sonradan savunmanız gereken yüzeyi genişletir.

openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/null

Kaydı yerelde tutun, çünkü çerezler ve kimlik doğrulama yanıtları erişim malzemesidir. Bir sohbet dizisine yapıştırılan iz, değerlendirme adımı zararsız görünse bile bir kimlik bilgisi sızıntısıdır. Hata metnini ve akışta göründüğü noktayı paylaşın, yükü asla.

Adım 2: Betiği bir profile girmeden önce okuyun

Bir sarmalayıcı yalnızca incelediğiniz revizyon kadar güvenilirdir, bu yüzden o revizyonu sabitleyin ve karmasını onay notunun yanında saklayın. Aşağıdaki iki komut, tek bir satır okumadan önce size bir parmak izi ve ucuz bir söz dizimi denetimi verir. Ayrıca bir sonraki kişiye sabit bir referans verirler, bu da dosya paket yönetiminin dışında yaşadığında önemlidir. Komutların hiçbiri betiğin ne yaptığını söylemez, bu yüzden onları çalıştırın ve okumaya devam edin.

sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.sh

Dosyanın tamamını dört soruyla okuyun: dışa giden HTTP çağrıları yapıyor mu, kimlik bilgisi dosyaları veya ortam değişkenleri okuyor mu, geçici dizinin dışına yazıyor mu ve herhangi bir dal hiçbir şey ölçmeden geçen bir duruş mu bildiriyor. Son kalıp, üzerine bir günlük satırı eklenmiş bir politika atlatmasıdır. Kopyalanmış sarmalayıcılar onu makul görünen bir denetimin arkasına gizleme eğilimindedir. Betik, cihaza bakmadan cihazın iyi olduğuna karar veriyorsa orada durun.

Paketlenmiş yükleri de denetleyin, çünkü okunabilir bir başlık dosyanın geri kalanı hakkında hiçbir şey kanıtlamaz. Bir betiği forum dizisinden indirmek, adı gerçek bir ana makine denetimi bileşenini andırdığı için onu güvenilir kılmaz. Kimin kurduğunu, nereden geldiğini ve nasıl güncelleneceğini not edin.

grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.sh

Adım 3: Sarmalayıcının hangi kimlik altında çalıştığını seçin

--csd-user, CSD, TNCC veya HIP programı çalışırken ayrıcalıkları düşürür. O hesap yerel yürütme düzeninin bir parçasıdır, ağ geçidine sunulan kullanıcı adı değil.

Sarmalayıcıya etkileşimli kabuğu olmayan, sudo hakları olmayan ve ihtiyaç duymadığı grup üyelikleri olmayan ayrı bir hesap verin. Betiğe ve denetlediği belirli dosyalara okuma erişimi verin, sonra VPN profiline dokunmadan önce ayrıcalık düşürmeyi test edin. Sorunu burada bulmak, istemcinin içinde bulmaktan daha ucuzdur.

sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.sh

Ayrıcalıkları düşürmek, kötü bir betiğin verebileceği zararı sınırlar. Ancak kodu incelemez, raporu doğru hale getirmez ve ağ geçidi yöneticisinin bu uygulamayı cihaz politikasını karşılama olarak kabul ettiğini ortaya koymaz.

Adım 4: Değişikliği geri alınabilir tutun

Profili düzenlemeden önce yedekleyin ve sarmalayıcıyı sürüm denetimi altında tutun, böylece geri alma kopya aramak yerine bilinen bir karmayı geri yükler. Betiğin yolunu, karmasını, yürütme kullanıcısını ve onaylayanı tek bir yerde yazın.

Geri almak için seçeneği kaldırın, istemciyi yeniden başlatın ve özgün hatanın geri döndüğünü doğrulayın. Ağ geçidi geri almadan sonra hâlâ oturum açmayı reddediyorsa başka bir şey de değişmiştir ve o farkı bulmak sarmalayıcıyı yeniden denemeden önce gelir. Önceki kopyayı tüm değişiklik penceresi boyunca saklayın, bu çoğu ekip için bir sonraki bakım penceresi geçene kadar demektir.

Başarılı bir kullanıma almadan sonra bir değil iki şeyi denetleyin: tünel açılıyor ve duruş denetiminde başarısız olması gereken cihaz hâlâ reddediliyor. Herkes için çalışan bir bağlantı, değerlendirmenin değişikliğinizden sağ çıktığının kanıtı değildir.

İkinci bir sorun yaratan kısa yollar

Yardımcının gerekli denetimleri çalıştırmadan uyumlu bir durum bildirmesine izin vermeyin ve başka bir işletim sistemine uyması için platform kimliğini geçersiz kılmayın. Farklı bir platform iddia etmek, gerçek cihazın politikayı karşıladığının kanıtı değildir. Sizi her gelecekteki oturum açmada yalan söyleyen bir istemciyle baş başa bırakır.

Sunucu doğrulamasını kapatmak, eski bir çerezi yeniden oynatmak ve denetlenmemiş betikleri üst üste yığmak, hepsi görünür bir başarısızlığı görünmez bir başarısızlıkla değiştirir. Kurulu istemci desteklenen akışı tamamlayamıyorsa, sahip olduğunuzu bükmek yerine onaylanmış bir alternatif isteyin.

OpenConnect kılavuzu --csd-wrapper ve --csd-user seçeneklerini ayrı ayrı belgeler, ve önemli olan ipucu şudur: betik ile kimlik iki ayrı karardır. İkisini ayrı ayrı inceleyin ve ikisini de yazın. O zaman oturum açma istemi kod yapıştırarak çözdüğünüz bir bilmece olmaktan çıkar.

İlgili makaleler