Bolehkah Rantaian Sijil Pelayan Mengatasi Stor Kepercayaan Klien?
Rantaian lengkap ialah bukti, bukan arahan. Pengesahan berlaku pada klien dengan sauh sendiri, jadi tiada pelayan boleh memaksa keputusan kepercayaan.
Pelayar menunjukkan amaran sijil pada tapak yang rantaiannya lengkap, dan naluri pertama ialah membaiki pelayan. Biasanya pelayan membentangkan tepat apa yang sepatutnya. Klien memutuskan sauh mana yang diterimanya, dan tiada susunan sijil perantaraan boleh mengubah keputusan itu dari hujung sambungan yang lain. Sempadan itulah yang menjelaskan sebahagian besar perkara yang kelihatan seperti masalah sijil.
Pengesahan berjalan pada klien, dengan sauh klien
Pengesahan laluan mengambil sijil yang dibentangkan dan membina rantaian ke sauh kepercayaan yang sudah dimiliki sistem pengesahan. RFC 5280 menerangkan model itu, dan meletakkan pemilihan sauh pada pelaksanaan tempatan dan bukan pada pelayan. Aplikasi boleh menambah dasarnya sendiri di atas: kunci yang disematkan, stor kepercayaan perusahaan, atau pemeriksaan identiti yang lebih ketat. Senarai sijil yang dihantar pelayan ialah bukti yang ditawarkan kepada proses itu, tidak pernah menjadi arahan kepadanya.
Jadi rantaian lengkap membuktikan pelayan mempunyai bahagian-bahagiannya. Ia tidak membuktikan klien akan menerimanya.
Untuk melihat apa yang sebenarnya dihantar pelayan, jalankan openssl s_client -connect app.example.net:443 -servername app.example.net -showcerts dan kira sijil dalam output. Rantaian tidak lengkap di situ ialah pembaikan di pihak pelayan. Rantaian lengkap memindahkan soalan kepada klien dan sauhnya, di mana pelayan tidak mempunyai undi.
Apa yang sebenarnya diubah oleh pemeriksaan TLS
Perkakas pemeriksaan menamatkan sesi TLS di pihak klien dan membuka sesi berasingan ke perkhidmatan sebenar. Klien kemudian mengesahkan sijil perkakas itu, yang mesti berantai ke sauh yang dipercayai klien. Itulah sebabnya peranti terurus menerima akar pemeriksaan melalui pengurusan peranti, dan itulah sebabnya peranti peribadi tanpanya menunjukkan amaran.
Susunan itu disengajakan dan setempat. Tiada apa-apa dalam rantaian pelayan asal boleh memaksa pelayar tidak terurus menerima identiti ganti, dan tiada apa-apa di dalamnya menghalang peranti terurus daripada berbuat demikian.
Penamatan VPN bukan penyahsulitan HTTPS
Lapisan VPN membawa paket antara klien dan get laluan. Mengeluarkannya, atau membaca konfigurasinya, tidak mendedahkan muatan HTTPS di dalam.
Sesi TLS masih berjalan antara pelayar dan pelayan web, dengan peraturan pengesahan yang sama, melainkan sesuatu menamatkannya secara jelas. Mengelirukan dua lapisan itu menghasilkan permintaan kepada pentadbir VPN untuk membekalkan sijil, sedangkan sijil berkenaan milik proksi pemeriksaan atau tapak itu sendiri. Tanya komponen mana yang membentangkan sijil sebelum menukar mana-mana stor kepercayaan.
Tetapkan jangkaan dalam komponen yang anda kawal
Jika anda mengendalikan aplikasi dan kliennya, takrifkan bersama identiti perkhidmatan yang dijangka, pengeluar yang diterima, dan sebarang keperluan penyematan atau pengesahan klien. Rancang pembaharuan dan pemulihan supaya perubahan sijil yang sah tidak menjadi gangguan. Jika anda hanya mengendalikan pelayan awam, dokumenkan pengesahan yang anda perlukan dan persekitaran klien yang anda sokong. Menghantar rantaian pilihan tidak memperakui peranti orang asing.
Pada peralatan terurus, selesaikan ketidakserasian melalui pemilik aplikasi dan rangkaian. Melumpuhkan pengesahan, menambah akar yang tidak dijelaskan, atau cuba melampaui dasar pemeriksaan tidak mewujudkan hubungan rakan yang dimaksudkan.
Uji hasilnya pada profil klien yang bersih, bukan pada mesin yang sudah ditambah pengecualian. Itulah satu-satunya pemeriksaan yang menunjukkan apa yang akan dialami peranti baharu.