Saya agak terjebak dengan mengkonfigurasi strongswan untuk terhubung ke jaringan kantor saya karena menolak memverifikasi sisi kanan dengan cara apa pun, saya bertanya-tanya apakah ada yang tahu cara untuk hanya memberitahu strongswan untuk mengabaikan sertifikat server dan selesai menghubungkan? atau jika ada cara untuk mengunduh sertifikat sisi kanan sehingga saya setidaknya bisa menggunakan rightcert untuk memaksanya mengenali sisi kanan.
Sayangnya saya tidak memiliki akses ke konfigurasi server yang saya hubungkan (/ saya tidak dapat mengubahnya tanpa pita) tetapi ini adalah apa yang dapat saya katakan tentang hal itu tanpa diberi akses ke konfigurasi, juga admin jaringan hanya mendukung windows jadi saya cukup banyak sendiri ketika mengajukan pertanyaan tentang ini.
- Perangkat lunak server VPN dijalankan pada kotak firewall yang menggunakan salinan kuno smoothwall
- Server VPN adalah Openswan 2.6.38
- Itu tidak memiliki pengaturan sertifikat lokal default sehingga tampaknya hanya memilih sertifikat klien 1 yang dihasilkan sebagai gantinya yang kemudian dimuntahkan dalam log di bawah ini pada baris "Diterima entitas akhir cert"
- Semua sertifikat telah dibuat dengan CA yang sama
Berikut adalah kesalahan yang relevan dari log Strongswan
16[ENC] received unknown vendor ID: 49:4b:45:76:32
16[IKE] received end entity cert "<some cert with no fqn or ip in the cn>" #for example C=AB, ST=CD, L=CD, O=Example Org, OU=IT, CN=made_up_thing, [email protected]
16[IKE] no trusted RSA public key found for '<server ip>'
Inilah isi dari ipsec.conf saya dengan nilai ip dan cert yang dihapus
config setup
charondebug="ike 2, cfg 2, enc 2"
conn %default
ikelifetime=480m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev1
ike=3des-sha1-modp1024,3des-sha1-modp2048,aes128-sha1-modp1024,aes256-sha1-modp1024,aes128-sha1-modp2048,aes256-sha1-modp2048
#ike=3des-md5;modp1024,aes-sha1;modp1536,aes-sha1;modp1024
conn office
left=%any
leftcert=/etc/vpn.crt
leftid="CN=client blah, O=org, ST=uk, ..." #actual value match dn from /etc/vpn.crt
leftauth=pubkey
leftfirewall=yes
right=<server ip>
rightsubnet=192.168.3.0/24
rightca="CN=ca blah, O=org, ST=uk, ..." #actual value match dn from /etc/ipsec.d/cacerts/ca.pem
auto=add
Dari apa yang saya mengerti setelah membaca https://wiki.strongswan.org/issues/940 strongswan seharusnya memeriksa sertifikat sisi kanan ditandatangani oleh CA yang sama dan terus maju, tetapi saya curiga sebagai rightid tidak cocok dengan sertifikat di Lagi pula itu hanya melemparkan tangan ke atas dan menolak, meskipun bisa juga openswan tidak mengirim sepanjang sertifikat CA karena saya tidak melihat "mengirim sertifikat penerbit" dalam log meskipun karena saya memiliki salinan sertifikat CA saya tidak t berpikir ini harus menyebabkan masalah.
Pembaruan 1:
Seperti yang disarankan mencoba rightid=%any
saya melihat hasil yang sama di log sebagai tidak memilikinyano trusted RSA public key found for '<server ip>'
jika saya mengubah nilai menjadi nilai cn dari log jadi dalam contoh saya di atas itu "made_up_thing" masih gagal tetapi log menunjukkan 11[IKE] IDir '<server ip>' does not match to 'made_up_thing'
sumber
IDir '<server ip>' does not match to '<cn value>'