Cipher Windows dan strongSwan: cocokkan lapisan yang tepat
Panjang kunci yang sama bukanlah suite yang kompatibel. Pisahkan kebijakan IKE dari transformasi ESP dan simpan CBC serta GCM dalam proposal yang berbeda.
Kedua ujung menyebut AES-128 dan terowongan tetap menolak dibangun. CBC dan GCM adalah transformasi berbeda yang kebetulan berbagi panjang kunci yang sama, dan klien yang menawarkan salah satunya tidak memuaskan gateway yang hanya menerima yang lain. Kata AES menggambarkan sebuah keluarga, bukan kesepakatan.
Ada sumbu kedua juga, dan itulah yang menghasilkan kesalahan yang membingungkan.
Dua lapisan, dua daftar independen
IKE melindungi negosiasi itu sendiri, sedangkan asosiasi anak melindungi lalu lintas yang benar-benar Anda pedulikan. Windows menampilkan yang pertama sebagai metode enkripsi dan metode integritas, dan yang kedua sebagai konstanta transformasi cipher dan autentikasi. Kolom-kolom itu bukan alias satu sama lain, dan nilai yang valid di satu sisi bisa tidak berarti atau salah di sisi lain. Membaca profil dengan pemisahan itu di pikiran menghilangkan sebagian besar kebingungan.
Konsekuensi praktisnya adalah Anda bisa memiliki kebijakan pertukaran kunci yang sepenuhnya dapat diterima dan kebijakan kanal data yang tidak akan diterima oleh rekan. Satu daftar bernegosiasi; yang lain melindungi paket. Mengubah nilai di yang pertama tidak berpengaruh pada yang kedua, betapa pun miripnya keduanya di dialog konfigurasi.
Tuliskan kedua daftar sebelum membandingkannya dengan gateway. Perbandingan dari ingatan adalah cara satu kolom diedit dua kali dan yang lain tidak pernah. Biarkan konsol gateway terbuka di samping profil.
Baca kesalahan di samping proposal
Tahap yang gagal memberi tahu Anda daftar mana yang harus diperiksa. Penolakan selama pertukaran kunci awal adalah masalah proposal IKE, dan itu terjadi sebelum ada asosiasi anak. Kegagalan saat asosiasi lalu lintas terlindungi dinegosiasikan adalah masalah proposal ESP, dan pertukaran kunci sudah berhasil. Pesan kecocokan kebijakan generik dari klien tidak menyebut salah satu tahap, itulah sebabnya pandangan gateway sendiri yang berguna.
swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan -n 60 --no-pager
Bandingkan proposal yang diterima, proposal yang dikonfigurasi, dan yang dipilih untuk percobaan tunggal itu. Tiga daftar berbeda penting di sini, dan hanya yang terakhir menggambarkan apa yang benar-benar digunakan. Kutip kata per kata di tiket alih-alih meringkasnya.
Simpan CBC dan GCM sebagai alternatif terpisah
Gateway yang sengaja diizinkan menerima salah satu keluarga membutuhkan dua proposal, bukan satu. Di strongSwan koma memisahkan alternatif, dan tanda hubung menyatukan komponen satu suite. Menggabungkan kedua keluarga dengan tanda hubung menghasilkan satu proposal yang mustahil alih-alih dua yang dapat diterima.
proposals = aes128gcm16-prfsha256-ecp256, aes128-sha256-ecp256
esp_proposals = aes128gcm16-ecp256
Alternatif pertama membawa enkripsi terautentikasi dan masih menyebut fungsi pseudorandom, karena derivasi kunci membutuhkannya bahkan ketika integritas berasal dari cipher. Alternatif kedua adalah enkripsi klasik dengan algoritma integritas terpisah. Keduanya tetap bergantung pada apa yang didukung implementasi kripto yang dimuat.
Proposal ESP bukan proposal IKE yang diganti nama
Token cipher tampak identik di kedua daftar, dan hampir tidak ada hal lain yang terbawa. Proposal ESP tidak memiliki fungsi pseudorandom pertukaran kunci, dan persyaratan integritas serta kerahasiaan majunya diargumentasikan terhadap kebijakan Windows di sisi lain alih-alih disalin dari baris IKE. Menerjemahkan satu daftar ke daftar lain secara mekanis menghasilkan sesuatu yang tervalidasi dan tidak pernah bernegosiasi.
Pilih arah dan tetap di sana. Entah gateway mempertahankan kebijakan hanya GCM dan klien menerapkan kebijakan kompatibel yang lengkap, atau gateway menerima kedua keluarga dan klien mempertahankan suite yang ada. Mengaktifkan fallback yang dilarang kebijakan keamanan bukanlah perbaikan, secepat apa pun itu membersihkan kesalahan.
Verifikasi kedua suite, lalu perpanjangan kunci
Konfirmasi suite pertukaran kunci yang dipilih dan suite lalu lintas yang dipilih secara terpisah, karena keduanya berasal dari daftar berbeda dan dapat berhasil secara independen. Lalu biarkan perpanjangan kunci terjadi dan konfirmasi juga. Jabat tangan pertama yang berhasil dan perpanjangan kunci yang gagal menggambarkan kumpulan proposal yang hanya sebagian dapat diterima.
Simpan bukti itu bersama perubahan. Pemutusan berulang membutuhkan catatan pertukaran gagal tersendiri sebelum seseorang menyalahkan pengatur waktu atau cacat platform.