Gateway mencatat kegagalan autentikasi terkait sertifikat, dan naluri pertama adalah menambahkan CA lain ke penerima. Itu mengandaikan sertifikat sudah sampai dan ditolak. Kemungkinan lain adalah sertifikat itu tidak pernah dikirim, dan kebijakan koneksi pengirim yang menentukan. Tentukan mana dari keduanya yang terjadi sebelum mengubah kepercayaan.

Apa yang sebenarnya dikendalikan send_cert

Autentikasi sertifikat membutuhkan sertifikat entitas akhir peer mencapai sisi lain melalui pertukaran IKE atau melalui penyediaan sebelumnya. Di swanctl, pengaturan koneksi send_cert mengatur apakah titik akhir ini menyertakan muatan sertifikatnya: tidak pernah, selalu, atau ifasked. Nilai bawaan ifasked mengirimkannya sebagai jawaban atas permintaan sertifikat dari peer. Meminta sertifikat adalah pengaturan terpisah, karena meminta sertifikat pihak lain tidak sama dengan menawarkan sertifikat sendiri.

Penerapan ipsec.conf yang lebih lama memakai leftsendcert dan rightsendcert, dan nama-nama itu merujuk pada peran lokal dan jarak jauh, bukan langsung ke swanctl.

Baca satu percobaan sebelum mengubah koneksi

Diagnosis berdasarkan satu percobaan terkendali, bukan berdasarkan kesan umum bahwa sertifikat terlibat. Kebijakan maupun asosiasi aktif dapat diperiksa.

swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan --since "10 min ago" | grep -iE "cert|CERT"

Daftar koneksi menunjukkan nilai send_cert yang dikonfigurasi, dan daftar SA menunjukkan koneksi mana yang benar-benar terbentuk. Log menambahkan rincian negosiasi: apakah permintaan sertifikat diterima dan apakah muatan sertifikat keluar. Kegagalan autentikasi umum tidak menunjukkan masalah pengiriman, jadi cari pertukaran spesifiknya sebelum menyimpulkan apa pun. Catat stempel waktu percobaan agar jendela log mencakup seluruh handshake.

Kepercayaan penerima adalah keputusan terpisah

Pengiriman dan kepercayaan adalah sifat yang berbeda, dan memperbaiki yang satu tidak memperbaiki yang lain. Penerima harus memiliki jangkar kepercayaan yang dimaksud, menerima rantai yang dapat dipakai, dan cocok dengan identitas peer yang diharapkan. Sertifikat entitas akhir yang tiba tanpa sertifikat perantaranya tetap gagal pada pemeriksaan rantai yang ketat. Sebaliknya, memasang CA sama sekali tidak memaksa peer mengirim sertifikatnya.

openssl x509 -in peer-chain.pem -noout -subject -issuer -dates

Pemeriksaan menunjukkan penerbit mana yang menandatangani sertifikat dan kapan kedaluwarsa, dan jangkar penerima harus sesuai dengan itu. Percayai CA penerbit yang dimiliki penerapan, bukan setiap perantara dalam rantai, karena menaikkan setiap perantara menjadi akar memperluas kepercayaan jauh melampaui satu peer. Biarkan verifikasi identitas tetap aktif, karena koneksi yang hanya berhasil dengan validasi dimatikan bukanlah perbaikan. Di mana rantai tidak lengkap, perbaiki penyediaan, bukan kebijakan pengirim.

Ubah pengirim hanya dengan bukti

Saat log menunjukkan sertifikat tidak pernah dikirim dan penerima memang memintanya, menyetel send_cert ke always adalah perubahan yang beralasan untuk koneksi itu. Terapkan di konfigurasi swanctl, muat ulang koneksi, dan bentuk sesi baru alih-alih memakai ulang SA yang ada. Pastikan muatan sertifikat kini muncul dan penerima menerimanya terhadap jangkar yang dimaksud. Jika tidak ada yang berubah, kesalahan tetap ada di sisi kepercayaan dan pengaturan pengirim bukan penyebabnya.

Tuliskan pertukaran yang diamati, jangkar, dan verifikasi yang dihasilkan ke catatan perubahan. Perbaikan sertifikat yang tidak dapat dijelaskan dengan istilah itu hanyalah kebetulan.

Artikel terkait