Kebijakan IKEv2 khusus Windows: terapkan sebagai langkah tersendiri
Koneksi yang disediakan dan rangkaian kripto khusus adalah dua hasil. Cocokkan bidang kebijakan, cakupan profil, dan pemilik yang menerapkannya ulang.
Paket penyediaan membuat koneksi IKEv2, dan profil yang dihasilkan menegosiasikan sesuatu selain rangkaian yang Anda maksudkan. Paket itu menjalankan tugasnya; paket itu tidak pernah memiliki bidang untuk tugas yang Anda asumsikan. Perlakukan rangkaian kripto sebagai langkah penyediaan terpisah yang dapat diverifikasi.
Kerjakan lima butir di bawah ini secara berurutan, dan pisahkan hasil penerimaannya.
Dua jenis kebijakan di balik nama yang mirip
Windows memisahkan kebijakan yang melindungi pertukaran kunci dari kebijakan yang melindungi lalu lintas. Sisi IKE dikonfigurasi dengan metode enkripsi dan metode integritas. Sisi data dikonfigurasi dengan konstanta cipher dan konstanta transformasi autentikasi, dan konstanta itu memakai namanya sendiri. Satu label AES yang tersalin ke bidang yang salah menghasilkan koneksi yang terbentuk di bawah kebijakan yang tidak disetujui siapa pun.
Grup pertukaran kunci dan kerahasiaan maju sempurna termasuk dalam negosiasi yang sama dan harus dapat diterima oleh gateway. Menyetelnya tanpa memeriksa ujung jauh menghasilkan kegagalan pada tahap yang lebih akhir daripada tahap yang Anda sunting, dan itulah sebabnya kesalahan ini tampak seperti masalah gateway.
Susun kebijakan lengkap, bukan dua nama algoritme
Tulis setiap bidang secara eksplisit, termasuk yang Anda anggap nilai bawaan. Kebijakan sebagian yang diterapkan dengan bendera paksa menjadi konfigurasi tersimpan, dan nilai yang Anda tinggalkan adalah apa pun yang dimiliki platform saat itu. Nilai yang dimulai dengan awalan sama tidak dapat dipertukarkan antarbidang, dan salah satu nama transformasi yang terkenal hanya valid sebagai transformasi autentikasi.
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
Anggap blok itu sebagai rangkaian ilustratif yang harus didukung kedua peer Anda, bukan sebagai rekomendasi. Sakelar paksa menekan permintaan; sakelar itu tidak menyetujui paket yang belum Anda tinjau.
Buat dulu, baru terapkan — dalam satu cakupan
Koneksi harus ada sebelum kebijakannya dapat ditetapkan, dan cakupannya harus cocok pada setiap langkah. Langkah dalam konteks mesin tidak dapat menemukan profil pribadi pengguna sembarang hanya karena nama tampilannya sama. Koneksi semua pengguna, koneksi pengguna, dan direktori statusnya adalah objek terpisah dengan nama terpisah.
Urutan lebih penting daripada yang terlihat dalam paket penyediaan, karena dua perintah dapat berjalan lebih berdekatan daripada waktu yang dibutuhkan koneksi untuk dibuat. Kemas pekerjaan pascakonfigurasi sebagai perintah penyediaan yang disetujui dengan konteks eksekusi yang dinyatakan, dan biarkan mesin penyediaan yang mengurutkannya alih-alih menyisipkan jeda dugaan. Tidur yang cukup lama pada perangkat uji Anda adalah kondisi balapan dengan jeda yang menempel. Catat ketergantungannya, bukan durasinya.
Bidang Configuration Designer yang terdokumentasi menjelaskan satu pengaturan VPN dan tidak memaparkan setiap kontrol IPsec asli. Jika persyaratannya adalah pengiriman terkelola, penyedia layanan konfigurasi VPNv2 memiliki bagian rangkaian kriptografi tepat untuk tujuan ini.
Tetapkan satu pemilik untuk kebijakan
Pembaruan profil manajemen di kemudian hari dapat membuat ulang koneksi dan mengganti apa pun yang diterapkan skrip, dan penggantian itu akan tampak seperti regresi. Putuskan apakah rangkaian dimiliki oleh profil, skrip, atau saluran manajemen, dan buat pembaruan rutin mengikuti jalur yang sama dengan pemasangan pertama.
Dua pemilik sama saja dengan tanpa pemilik ketika keduanya tidak sepakat. Tulis nama pemilik ke dalam catatan perubahan profil. Pembaruan berikutnya akan mengikuti apa yang dikatakan catatan itu.
Verifikasi hasil yang dinegosiasikan, bukan paketnya
Baca profil tersimpan dan cakupannya, lalu bentuk koneksi baru dan bandingkan usulan yang dipilih di gateway. Konfirmasi juga perilaku pembaruan kunci, karena jabat tangan awal bisa berhasil dengan rangkaian yang ditolak fase berikutnya.
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
Tiga hasil penerimaan bukan peristiwa yang sama: paket terpasang, profil ada dengan kebijakan yang dimaksud, dan kedua peer menegosiasikannya. Pisahkan ketiganya, agar bidang yang hilang tidak pernah diperbaiki dengan melemahkan autentikasi atau mengaktifkan cadangan yang tidak dipilih siapa pun.