Windows dan strongSwan: memadankan empat transformasi dalam cadangan IKE
Satu sifer bersama tidak mencukupi apabila rakan sejawat tidak bersetuju tentang kumpulan pertukaran kunci. Bandingkan keempat-empat transformasi, kemudian gunakan satu dasar profil yang terbatas.
Kedua-dua pihak menyokong AES, kedua-duanya menerima SHA-256, namun terowong masih tidak naik. Cadangan gagal pada komponen yang tiada siapa bandingkan, biasanya kumpulan pertukaran kunci. Panduan ini membaca pertukaran sebenar sebelum mengubah apa-apa, menggunakan satu dasar terbatas dan meninggalkan pengunduran yang memulihkan parameter terdahulu.
Baca kegagalan sebelum menukar kumpulan
«Ralat padanan dasar» ialah ringkasan, bukan diagnosis. Ia bermaksud tiada cadangan yang boleh diterima kedua-dua pihak ditemui, dan ia tidak menyatakan komponen mana yang ditolak. Anggapnya sebagai permulaan siasatan dan bukan bukti tentang kumpulan tertentu.
Jawapannya biasanya di sebelah pelayan. Log strongSwan pada tahap yang sesuai menyenaraikan cadangan yang diterima daripada klien dan cadangan yang dikonfigurasikan untuk diterima, dan perbezaan antara kedua-dua senarai menamakan komponen yang gagal.
Jangan andaikan klien menawarkan apa yang dikatakan catatan forum lama. Profil aktif dan dasar terpasangnya menentukan senarai yang ditawarkan, dan binaan Windows yang dikemas kini mungkin menawarkan set berbeza daripada yang ada dalam tangkapan skrin yang anda salin.
Tuliskan kedua-dua senarai. Empat kedudukan transformasi dan satu kumpulan ialah senarai pendek, dan membandingkannya baris demi baris mengambil masa lebih singkat daripada apa-apa eksperimen. Empat kedudukan mudah dipegang dalam pandangan. Fail log tidak.
Bandingkan setiap transformasi, bukan satu nama yang biasa
Cadangan IKE ialah satu set pilihan yang semuanya mesti sepadan. Penyulitan melindungi rundingan, integriti atau PRF mengesahkannya, dan kumpulan Diffie-Hellman membentuk bahan kunci baharu. Cadangan yang sepadan pada dua yang pertama dan berbeza pada yang ketiga masih tidak boleh diterima oleh kedua-dua pihak.
Dua medan Windows yang dikelirukan di sini tergolong dalam fasa yang berbeza. DHGroup terpakai pada pertukaran kunci IKE, manakala PfsGroup terpakai pada persatuan anak yang melindungi trafik. Menukar yang kedua tidak dapat membaiki kegagalan pada yang pertama.
Nama kumpulan berbeza antara pelaksanaan, dan itu sumber kekeliruan yang berasingan. strongSwan menulis modp2048 dan ecp256 manakala Windows menggunakan nama penghitungan seperti Group14 dan ECP256, jadi perbandingan mesti menterjemah sebelum membandingkan. Simpan nota dua lajur dengan kedua-dua nama. Ketakpadanan seterusnya kemudian dikelaskan dalam beberapa saat.
| Transform | Windows parameter | strongSwan name | Failure it causes |
|---|---|---|---|
| Encryption | CipherTransformConstants | aes, aes256gcm and similar | No common proposal at all |
| Integrity or PRF | AuthenticationTransformConstants | sha256, sha512 and similar | Proposal rejected after encryption matches |
| Key-exchange group | DHGroup | modp2048, ecp256 | Exchange fails during key establishment |
| Child SA protection | PfsGroup | esp proposal groups | Tunnel negotiates, data association does not |
Gunakan satu dasar yang lengkap dan terbatas
Instrumen yang disokong untuk profil IKEv2 asli ialah dasar IPsec setiap sambungan, ditetapkan sebagai satu objek dan bukan medan demi medan. Pratonton dahulu, kemudian gunakan, dan simpan parameter terdahulu dalam rekod perubahan.
Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf
Suis -WhatIf mempratonton perubahan setempat dan tidak menggunakan apa-apa. Itu berguna dan pada masa sama merupakan perangkap biasa, kerana pratonton hanya membuktikan bahawa parameter boleh diterima dari segi sintaks oleh cmdlet setempat. Ia tidak menyatakan sama ada gerbang akan menerima cadangan yang terhasil.
Sekaligus padankan skopnya. Sambungan dalam stor semua pengguna memerlukan parameter semua pengguna yang sepadan, dan menyunting profil setiap pengguna dengan nama paparan yang sama mengubah objek lain yang tidak digunakan oleh terowong.
Kemudian selaraskan bahagian strongSwan kepada set yang sama sebelum menguji. Perubahan yang diselaraskan pada kedua-dua hujung ialah satu-satunya versi yang menumpu; menukar satu bahagian dan mencuba berulang kali menghasilkan log penuh dengan penolakan yang sama.
Sahkan pertukaran dan pembaharuan kunci secara berasingan
Sambungan yang berjaya ialah satu pemerhatian, dan pembaharuan kunci ialah satu lagi. Rundingan IKE awal menggunakan satu set parameter, dan persatuan anak yang membawa trafik boleh dirunding semula kemudian dengan dasarnya sendiri. Persediaan yang bersambung dan kemudian jatuh selepas beberapa ketika biasanya kes kedua.
ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *
Perintah pertama menunjukkan pandangan pelayan tentang persatuan yang terbentuk, termasuk SA anak dan baki hayatnya. Perintah kedua menunjukkan apa yang kini dipegang oleh profil klien, dan itulah satu-satunya cara untuk mengesahkan bahawa dasar yang anda tetapkan ialah dasar yang berkuat kuasa.
Perhatikan pembaharuan kunci sepenuhnya sebelum mengisytiharkan kejayaan. Itu bermaksud membiarkan sambungan naik cukup lama untuk persatuan anak diganti, kemudian mengesahkan bahawa trafik berterusan. Kebanyakan ketakpadanan dasar bersembunyi pada langkah itu, kerana rundingan awal boleh berjaya dengan set yang tidak diterima oleh pembaharuan.
Pengunduran ialah set parameter terdahulu, bukan alternatif yang longgar. Jika klien hanya menawarkan kumpulan lama yang lemah, jawapannya ialah memperbaiki dasar bersama klien dan pelayan, bukan menambah kumpulan itu pada gerbang tempat setiap pihak masa depan boleh berunding turun ke arahnya.
Catat empat parameter, kumpulan, skop sambungan dan hasil pembaharuan kunci. Itu nota pendek, dan itulah perbezaan antara panduan dan cerita tentang saat terowong itu naik.