Gateway mengganti sertifikat, dan klien yang terhubung kemarin mulai berhenti pada pertukaran TLS pertama. Pesan menyebut alasan verifikasi alih-alih gangguan jaringan, dan mesinnya sendiri tidak berubah, itulah petunjuk yang berguna. Yang rusak adalah hubungan antara sertifikat yang kini disajikan dan akar yang bersedia dipertimbangkan klien. Memperbaikinya adalah keputusan kepercayaan, jadi ambil keputusan itu sebelum Anda mengetik opsi.

Baca kegagalan sebelum mengubah setelan kepercayaan apa pun

Galat bergaya penanda tangan hilang berarti rantai berakhir pada sesuatu yang tidak diterima klien. Itu bisa berupa sertifikat yang diperbarui dari otoritas internal, penggantian dari otoritas publik, atau perangkat di tengah yang menyajikan sertifikatnya sendiri. Kata-katanya saja tidak dapat membedakan kasus-kasus itu, jadi lihat penerbit sebelum memutuskan.

Jalankan koneksi sekali di latar depan dan biarkan gagal, karena keluaran interaktif membawa nama server, rantai penerbit, dan sidik jari yang dihitung klien. Bandingkan penerbit itu dengan otoritas yang benar-benar dijalankan organisasi Anda. Jika sidik jari berubah sementara penerbit tidak, perlakukan sebagai mencurigakan sampai pembaruan dikonfirmasi melalui saluran yang sudah Anda percayai. Menebak pada titik ini adalah cara seseorang akhirnya menyematkan kunci penyadap.

Catat versi klien di catatan yang sama. Sebagian besar kegagalan yang tampak seperti masalah kepercayaan berasal dari klien lama yang bertemu pertukaran gateway yang lebih baru.

Pilih antara memercayai penerbit dan menyematkan satu kunci

Kedua opsi membuat koneksi berhasil. Keduanya rusak dengan cara berlawanan nanti, jadi pilihan itu milik kegagalan yang dapat Anda toleransi.

ApproachGood fitWhat breaks it
Trust the issuing CA with --cafileInternal PKI you can obtain over an already trusted channelCA rotation, or a client that still falls back to public roots
Pin one key with --servercertNo CA relationship, or exactly one key should ever be acceptedAny reissue that generates a new key pair

Gunakan file CA ketika sertifikat berasal dari otoritas yang dapat Anda verifikasi secara independen, karena pembaruan kemudian tetap berjalan tanpa menyentuh argumen klien. Pasangkan dengan sakelar yang menonaktifkan akar sistem, jika tidak, otoritas publik dapat memenuhi pemeriksaan atas nama Anda. Sematkan sebagai gantinya ketika gateway tidak memiliki CA yang bisa Anda peroleh atau ketika pengecualian tersempit yang mungkin menjadi tujuannya. Tidak ada jalur yang lebih aman secara abstrak: CA berskala di seluruh pembaruan, penyematan lebih mudah ditinjau.

Mana pun yang Anda pilih, nilai tepercaya harus tiba melalui saluran yang tepercaya sebelum perubahan terjadi. Administrator, sesi konsol di gateway, atau salinan yang diambil sebelumnya semuanya memenuhi syarat. Menyalin sidik jari apa pun yang ditampilkan prompt itu praktis dan juga persis apa yang diharapkan penyadap.

Letakkan nilai dalam perintah yang benar-benar Anda jalankan

Penyematan berjalan dalam opsi sertifikat server, dan prefiksnya menentukan pengodean: digest kunci publik heksadesimal di bawah sha1 atau sha256, dan penyematan kunci base64 di bawah pin-sha256. Memberikannya juga menonaktifkan kepercayaan sistem untuk jalannya itu, sehingga kunci yang disematkan menjadi seluruh keputusan.

sudo openconnect --protocol=gp vpn.example.com --user alice \
  --servercert pin-sha256:AbCdEf...   # single key pin
sudo openconnect vpn.example.com --cafile /etc/ssl/internal-ca.pem --no-system-trust

Klien mencocokkan digest terpotong, menerima hanya empat karakter setelah prefiks, yang merupakan jebakan bukan kemudahan. Nilai yang dipendekkan lolos secara lokal dan tetap tidak mengidentifikasi gateway yang Anda maksud. Salin string lengkap yang dicetak klien pada percobaan pertama alih-alih mengetik ulang dari pesan. Kemudian pindahkan opsi yang sudah jadi ke skrip pembungkus, file unit, atau profil yang meluncurkan koneksi, agar keputusan kepercayaan dapat ditinjau dan penyuntingan berikutnya disengaja.

Peluncur desktop dan plugin NetworkManager menyimpan salinan argumen koneksi mereka sendiri. Skrip yang disunting di disk tidak mencapai profil yang diimpor sebelumnya, sehingga nilai tersimpan terus menang.

Tangani pergantian tanpa mengunci diri Anda sendiri

Opsi dapat diberikan lebih dari sekali, sehingga perubahan terencana dapat menerima kunci keluar dan masuk bersama-sama. Tambahkan penyematan baru sebelum gateway beralih, pertahankan keduanya terdaftar selama sesi bermigrasi, dan hapus yang pensiun setelah kunci lama hilang. Jendela itu memerlukan pemilik, karena penyematan ganda yang terlupakan meninggalkan kunci tepercaya tanpa ada yang mengawasinya. Pembangunan ulang yang menghasilkan pasangan kunci baru merusak penyematan murni, dan pemulihannya adalah prosedur yang sama ke arah sebaliknya.

Tulis tanggal perubahan di samping penyematan. Penyematan tanpa tanggal tinjauan adalah gangguan masa depan yang membawa pesan galat membingungkan.

Singkirkan versi klien sebelum menyunting kepercayaan

Klien usang dapat gagal saat mengurai balasan autentikasi yang telah diubah gateway sejak itu, dan pesan permukaan masih berbicara tentang koneksi alih-alih pengurai. Bandingkan versi terpasang dengan apa yang didokumentasikan gateway, dan uji paket terkini di profil sekali pakai sebelum mengubah setelan kepercayaan apa pun.

openconnect --version

Setelah perbaikan, verifikasi dua hal alih-alih satu: portal dimuat melalui tunnel, dan alamat internal biasa menjawab. Jabat tangan yang selesai hanya membuktikan bahwa keputusan kepercayaan diterima.

Artikel terkait