Menghubungkan strongswan ke openswan yang dikonfigurasi dengan buruk

0

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=%anysaya 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'

Snipzwolf
sumber

Jawaban:

1

Masalah Anda adalah bahwa Anda tidak menentukan rightid , dalam hal ini defaultnya ke alamat IP remote. Karena itu biasanya tidak terdapat sebagai subjectAltName dalam sertifikat otentikasi akan gagal dengan kesalahan yang Anda lihat.

Untuk memperbaiki set ini, rightid ke DN subjek penuh sertifikat remote atau ke salah satu subjectAltNames (jika mengandung). Jika Anda putus asa, Anda dapat menetapkan rightid =% any sehingga setiap rekan dengan sertifikat yang diterima dapat mengotentikasi.

ecdsa
sumber
saya mendapatkan kesalahan yang sama persis ketika menggunakan rightid =% any dan ketika menggunakan nilai cn dari log saya dapatkanIDir '<server ip>' does not match to '<cn value>'
Snipzwolf
1
Ah, begitu. Jadi rekan lain sebenarnya mengautentikasi dengan alamat IP-nya meskipun tidak tercantum dalam sertifikat? Itu tidak akan bekerja dengan strongSwan kecuali Anda memodifikasi kode sumber. Identitas peer benar-benar menggunakan memiliki terkandung dalam sertifikat (baik sebagai subjectAltName atau harus menjadi subyek penuh DN). Jadi jika Anda tidak dapat mengubah konfigurasi rekan, jadi misalkan menggunakan DN subjek sebagai identitas, ini tidak akan berhasil.
ecdsa
Sepertinya itu yang terjadi, saya mungkin mencoba menggunakan versi openswan yang sama untuk melihat apakah saya dapat menghubungkannya dengan mungkin jika mendukung konfigurasi semacam ini, mungkin itu akan dapat terhubung juga. Apa yang saya temukan aneh adalah klien windows tampaknya tidak peduli sama sekali tentang semua keanehan ini tetapi orang kuat tidak.
Snipzwolf