Go yig‘ilishi, Composer o‘rnatilishi va Python mijozi uyda ishlaydi, ularning barchasi kompaniya VPN ichida muvaffaqiyatsiz bo‘ladi. Bu naqsh sizga dastur haqida emas, yo‘l haqida gapiradi. Tunnelda nimadir sizning jarayoningiz ko‘radigan sertifikat zanjirini o‘zgartirdi yoki zanjir umuman kelishidan oldin qo‘l berib ko‘rishishni qayta o‘rnatdi. Ikki nosozlik terminalda bir xil ko‘rinadi va butunlay boshqacha javoblarni talab qiladi.

Uch xabar, uch mexanizm

x509 certificate signed by unknown authority xatosi zanjir qurilganini va uning ildizi o‘sha jarayon ishlatadigan ishonch omborida yo‘qligini bildiradi. self-signed certificate in certificate chain xatosi odatda tekshiruv proksisi o‘z sertifikati bilan javob berganini bildiradi, bu esa sizning ish muhitingiz tanimaydigan zanjirdir. Qo‘l berib ko‘rishish paytida SSL EOF har qanday yaroqli sertifikat yuborilishidan oldin ulanish yopilganini bildiradi, va bu ClientHello’ni rad etuvchi oraliq qurilma, umuman ishonch muammosi emas.

Xavfli rejim bayrog‘ini qo‘shish uchta xabarni ham yo‘q qiladi, oraliq aralashish joyida qoladi va haqiqiy tajovuzkorni tutadigan tekshiruvni olib tashlaydi.

Jarayon haqiqatan o‘qiydigan to‘plamni toping

Windows omboriga o‘rnatilgan korporativ ildiz tizim omboriga murojaat qiladigan brauzerlar va .NET ilovalarini tuzatadi. Konteyner ichida ishlaydigan yig‘ilish uchun hech narsa qilmaydi, chunki uning o‘z CA to‘plami bor, certifi ishlatadigan Python jarayoni yoki o‘zining ichki ro‘yxatini ishlatadigan Node jarayoni uchun ham hech narsa qilmaydi. Go binar ishlaydigan muhitning tizim hovuzini o‘qiydi, ya’ni konteynerni, noutbukni emas. Shuning uchun bitta mashina bir vaqtning o‘zida ishlaydigan brauzer va muvaffaqiyatsiz yig‘ish vositasini beradi.

Taxmin qilish o‘rniga vositadan so‘rang. python3 -c "import ssl; print(ssl.get_default_verify_paths())" Python murojaat qiladigan fayllarni chop etadi, node -e "console.log(process.env.NODE_EXTRA_CA_CERTS)" esa allaqachon bekor qilish o‘rnatilganini ko‘rsatadi. Konteyner uchun o‘sha tekshiruvni obraz ichida ishga tushiring, chunki yig‘ish haqiqatan o‘sha muhitdan foydalanadi.

Yig‘ish ishlaydigan joyda bitta ildiz o‘rnating

Tekshiruv ildizini IT bo‘limidan PEM fayli sifatida oling va ishonishdan oldin uning barmoq izini alohida kanal orqali tekshiring. Debian asosidagi obrazlarda uni /usr/local/share/ca-certificates/ ichiga ko‘chiring va update-ca-certificates ishga tushiring; RHEL oilasidagi obrazlar faylni /etc/pki/ca-trust/source/anchors/ ichiga qo‘ygandan keyin update-ca-trust ishlatadi. Konteyner yig‘ilishida bu qadamlarni muvaffaqiyatsiz buyruqdan oldin qo‘shing, shunda qatlam bog‘liqliklar o‘rnatilishidan yuqorida keshlanadi.

Mahalliy devcontainer uchun PEM’ni ulang va ishga tushishda o‘sha yangilash buyrug‘ini bajaring, uni hech kim takrorlay olmaydigan shaxsiy obrazga pishirish o‘rniga. O‘z to‘plamini olib keladigan vositalar o‘zining hujjatlashtirilgan bekor qilishiga muhtoj: pip’da sertifikat sozlamasi, npm’da cafile sozlamasi bor, qolganlarning ko‘pchiligi standart muhit o‘zgaruvchilarini qabul qiladi.

Bu har qanday sertifikatni qabul qilish bilan bir xil emas. Siz tekshiruvni amalga oshiruvchi tomondan olingan bitta aniq ildizni bitta muhitga qo‘shasiz va tekshirish boshqa har bir zanjir uchun yoniq qoladi. Qaysi fayl qo‘shilganini va qachon tugashini yozib qo‘ying, chunki tekshiruv ildizi ham boshqa CA kabi yangilanadi.

Qo‘l berib ko‘rishish sertifikatdan oldin o‘lganda

Agar hech narsa taqdim etilmasa, ishonch omboridagi hech qanday o‘zgarish yordam bermaydi. Xuddi shu so‘rovni tunnel yoniq va o‘chiq holatda solishtiring, so‘ngra zanjirni to‘g‘ridan-to‘g‘ri openssl s_client -connect host:443 -servername host -showcerts bilan ko‘zdan kechiring. VPN tashqarisida tugaydigan va uning ichida qayta o‘rnatiladigan ulanish oraliq qurilmaning siyosat qaroridir, davo esa boshqa sertifikat emas, o‘sha xost uchun istisno. Paket reyestri yoki API oxirgi nuqtasi o‘zgartirilmasdan o‘tishini so‘rang.

Vosita VPN’ni chetlab o‘tishi uchun tunnelni bo‘lish o‘sha trafikni tekshirishdan qochadi, bu siyosatni buzishi mumkin va vositani ishonchli qilmaydi.

Natijani har bir vosita bo‘yicha yozing

Binarni, u o‘qiydigan ishonch faylini, o‘yindagi muhit o‘zgaruvchisini va tasdiqlangan istisnoni sanab o‘tuvchi qisqa eslatma keyingi odamga butun diagnostikani tejaydi. Eslatmani noutbuk bo‘yicha emas, vosita bo‘yicha saqlang, chunki o‘zgargan narsa kamdan-kam noutbuk bo‘ladi.

Va chiptada ikkita gapni alohida saqlang: biz aniq korporativ ildiz o‘rnatdik va tekshiruvni o‘chirdik. Ulardan faqat bittasi qo‘llab-quvvatlash harakatidir.

O'xshash maqolalar