Get laluan merekodkan kegagalan pengesahan berkaitan sijil, dan gerak hati pertama ialah menambah satu lagi CA pada penerima. Itu mengandaikan sijil itu tiba dan ditolak. Kemungkinan lain ialah ia tidak pernah dihantar, dan dasar sambungan penghantar yang menentukannya. Tentukan yang mana satu berlaku sebelum mengubah kepercayaan.

Apa yang sebenarnya dikawal send_cert

Pengesahan sijil memerlukan sijil entiti akhir peer sampai ke pihak lain melalui pertukaran IKE atau melalui penyediaan terdahulu. Dalam swanctl, tetapan sambungan send_cert menentukan sama ada titik akhir ini menyertakan muatan sijilnya: tidak pernah, selalu atau ifasked. Nilai lalai ifasked menghantarnya sebagai jawapan kepada permintaan sijil daripada peer. Meminta sijil ialah tetapan berasingan, kerana meminta sijil pihak lain bukanlah sama dengan menawarkan sijil sendiri.

Pemasangan ipsec.conf yang lebih lama menggunakan leftsendcert dan rightsendcert, dan nama-nama itu merujuk kepada peranan tempatan dan jauh, bukan terus kepada swanctl.

Baca satu percubaan sebelum mengubah sambungan

Diagnosis berdasarkan satu percubaan terkawal, bukan tanggapan umum bahawa sijil terlibat. Kedua-dua dasar dan persatuan aktif boleh diperiksa.

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

Senarai sambungan menunjukkan nilai send_cert yang dikonfigurasikan, dan senarai SA menunjukkan sambungan mana yang benar-benar terbentuk. Log menambah perincian rundingan: sama ada permintaan sijil diterima dan sama ada muatan sijil keluar. Kegagalan pengesahan generik tidak menunjukkan masalah penghantaran, jadi cari pertukaran khusus sebelum membuat kesimpulan. Catat cap masa percubaan supaya tetingkap log meliputi seluruh jabat tangan.

Kepercayaan penerima ialah keputusan berasingan

Penghantaran dan kepercayaan ialah sifat berbeza, dan membaiki yang satu tidak membaiki yang lain. Penerima mesti memiliki sauh kepercayaan yang dimaksudkan, menerima rantai yang boleh digunakan dan sepadan dengan identiti peer yang dijangka. Sijil entiti akhir yang tiba tanpa sijil perantaranya masih gagal pada pemeriksaan rantai yang ketat. Sebaliknya, memasang CA sama sekali tidak memaksa peer menghantar sijilnya.

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

Pemeriksaan menunjukkan pengeluar mana yang menandatangani sijil itu dan bila ia luput, dan sauh penerima mesti sepadan dengannya. Percayai CA pengeluar yang dimiliki pemasangan, bukan setiap perantara dalam rantai, kerana menaikkan setiap perantara menjadi akar meluaskan kepercayaan jauh melebihi satu peer. Kekalkan pengesahan identiti aktif, kerana sambungan yang hanya berjaya dengan pengesahan dimatikan bukanlah pembaikan. Di mana rantai tidak lengkap, baiki penyediaan, bukan dasar penghantar.

Ubah penghantar hanya dengan bukti

Apabila log menunjukkan sijil tidak pernah dihantar dan penerima memang memintanya, menetapkan send_cert kepada always ialah perubahan yang wajar untuk sambungan itu. Terapkannya dalam konfigurasi swanctl, muat semula sambungan dan wujudkan sesi baharu dan bukannya menggunakan semula SA sedia ada. Sahkan muatan sijil kini muncul dan penerima menerimanya terhadap sauh yang dimaksudkan. Jika tiada apa berubah, kesalahan itu tetap di pihak kepercayaan dan tetapan penghantar bukan puncanya.

Tuliskan pertukaran yang diperhatikan, sauh dan pengesahan yang terhasil dalam rekod perubahan. Pembaikan sijil yang tidak dapat dihuraikan dengan istilah itu ialah kebetulan.

Artikel berkaitan