TLS алдаа зөвхөн корпорацийн VPN дээр: зөв итгэлцлийн санг засаарай
Ижил хэрэгсэл, ижил зөөврийн компьютер, зөвхөн VPN нь TLS-ийг эвддэг. Мессежийг уншиж, binary-ийн уншдаг CA багцыг олж, шалгалтыг унтраахын оронд нэг үндэс нэмээрэй.
Go бүтээц, Composer суулгалт, Python клиент гэрт бүгд ажилладаг бөгөөд компанийн VPN дотор бүгд бүтэлгүйтдэг. Энэ хэв маяг танд аппликейшны тухай биш, замын тухай хэлж байна. Туннель дээрх ямар нэг зүйл таны процессын хардаг сертификатын гинжийг өөрчилсөн, эсвэл гинж ирэхээс өмнө гарын барилтыг дахин тохируулсан. Хоёр гэмтэл терминал дээр төстэй харагдах бөгөөд огт өөр хариу үйлдэл шаарддаг.
Гурван мессеж, гурван механизм
x509 certificate signed by unknown authority алдаа нь гинж бүтсэн бөгөөд түүний үндэс тэр процессын ашигладаг итгэлцлийн санд байхгүй гэсэн үг. self-signed certificate in certificate chain алдаа нь ихэвчлэн шалгалтын прокси өөрийн сертификатаар хариулсан гэсэн үг бөгөөд энэ нь таны гүйцэтгэх орчны танихгүй гинж юм. Гарын барилтын үеэрх SSL EOF нь ямар нэг хэрэглэхүйц сертификат илгээхээс өмнө холболт хаагдсан гэсэн үг бөгөөд энэ нь ClientHello-г татгалздаг завсрын төхөөрөмж, огт итгэлцлийн асуудал биш.
Аюулгүй бус горимын төрийг нэмэх нь гурван мессежийг бүгдийг алга болгох боловч тасалдал байрандаа үлдэж, жинхэнэ халдлагчийг барих шалгалтыг арилгадаг.
Процессын үнэхээр уншдаг багцыг олоорой
Windows санд суулгасан корпорацийн үндэс нь системийн санг асуудаг хөтчүүд болон .NET програмуудыг засдаг. Контейнер дотор ажиллаж буй бүтээцэд энэ нь юу ч хийдэггүй, учир нь түүний өөрийн CA багц байдаг, мөн certifi ашигладаг Python процесс, өөрийн бүрдүүлсэн жагсаалт ашигладаг Node процесст ч юу ч хийдэггүй. Go нь binary ажиллаж буй орчны системийн санг уншдаг, өөрөөр хэлбэл контейнерыг, зөөврийн компьютер биш. Тиймээс нэг машин нэгэн зэрэг ажилладаг хөтч ба бүтэлгүйтдэг бүтээцийн хэрэгслийг гаргадаг.
Таамаглахын оронд хэрэгслээс асуугаарай. python3 -c "import ssl; print(ssl.get_default_verify_paths())" нь Python-ийн хандах файлуудыг хэвлэдэг, node -e "console.log(process.env.NODE_EXTRA_CA_CERTS)" нь дарж бичих аль хэдийн тохируулагдсан эсэхийг харуулдаг. Контейнерын хувьд ижил шалгалтыг образ дотор ажиллуулаарай, учир нь бүтээц үнэхээр тэр орчныг ашигладаг.
Бүтээц ажиллаж буй газарт нэг үндэс суулгаарай
Шалгалтын үндсийг IT-ээс PEM файл хэлбэрээр авч, итгэхээс өмнө түүний хурууны хээг тусдаа сувгаар шалгаарай. Debian-д суурилсан образ дээр түүнийг /usr/local/share/ca-certificates/ руу хуулж update-ca-certificates ажиллуулаарай; RHEL гэр бүлийн образ нь файлыг /etc/pki/ca-trust/source/anchors/ дотор тавьсны дараа update-ca-trust ашигладаг. Контейнерын бүтээцэд эдгээр алхмыг бүтэлгүйтдэг командын өмнө нэмээрэй, ингэснээр давхарга хамаарлын суулгалтын дээр кэшлэгдэнэ.
Орон нутгийн devcontainer-ийн хувьд PEM-ийг холбож, эхлэх үед мөн тэр шинэчлэх командыг ажиллуулаарай, үүнийг өөр хэн ч дахин үүсгэж чадахгүй хувийн образ дотор шатаахын оронд. Өөрийн багцыг авчирдаг хэрэгслүүдэд өөрийн баримтжуулсан дарж бичих шаардлагатай: pip-д сертификатын тохиргоо байдаг, npm-д cafile тохиргоо байдаг, бусад ихэнх нь стандарт орчны хувьсагчдыг хүлээн авдаг.
Энэ нь ямар ч сертификатыг хүлээн авахтай ижил биш. Та шалгалтыг гүйцэтгэж буй талаас авсан нэг тодорхой үндсийг нэг орчинд нэмж байгаа бөгөөд бусад бүх гинжид шалгалт асаалттай хэвээр байна. Аль файл нэмэгдсэн, хэзээ дуусахыг тэмдэглээрэй, учир нь шалгалтын үндэс нь бусад CA-ийн адил шинэчлэгддэг.
Гарын барилт сертификатаас өмнө үхэх үед
Хэрэв юу ч тавигдахгүй бол итгэлцлийн сангийн ямар ч өөрчлөлт туслахгүй. Мөн тэр хүсэлтийг туннель асаалттай, унтраалттай үед харьцуулж, дараа нь гинжийг шууд openssl s_client -connect host:443 -servername host -showcerts ашиглан шалгаарай. VPN-ээс гадна дуусаж, дотроо дахин тохируулагддаг холболт нь завсрын төхөөрөмжийн бодлогын шийдвэр бөгөөд эм нь өөр сертификат биш, тэр хостын үл хамаарах зүйл юм. Багцын бүртгэл эсвэл API төгсгөлийн цэгийг өөрчлөлтгүй нэвтрүүлэхийг хүсээрэй.
Хэрэгсэл VPN-ийг тойрч гарахын тулд туннелийг хуваах нь тэр урсгалын шалгалтаас зайлсхийх бөгөөд энэ нь бодлогыг зөрчиж болох бөгөөд хэрэгслийг итгэмжлэхүйц болгодоггүй.
Үр дүнг хэрэгсэл тус бүрээр бичээрэй
Binary, түүний уншдаг итгэлцлийн файл, тоглоомд байгаа орчны хувьсагч, зөвшөөрөгдсөн үл хамаарах зүйлийг жагсаасан богино тэмдэглэл дараагийн хүнд бүх оношилгоог хэмнэнэ. Тэмдэглэлийг зөөврийн компьютерээр биш хэрэгслээр хадгалаарай, учир нь өөрчлөгдсөн зүйл зөөврийн компьютер байх нь ховор.
Мөн тасалбарт хоёр өгүүлбэрийг тусад нь хадгалаарай: бид тодорхой корпорацийн үндэс суулгасан, бид шалгалтыг унтраасан. Тэдгээрийн зөвхөн нэг нь дэмжлэгийн үйлдэл юм.