Windows va strongSwan: IKE taklifidagi to'rt transformatsiyani moslashtirish
Tomonlar kalit almashinuvi guruhi bo'yicha kelishmasa, umumiy shifr yetarli emas. To'rt transformatsiyani ham solishtiring, so'ng bitta cheklangan profil siyosatini qo'llang.
Ikki tomon ham AES ni qo'llab-quvvatlaydi, ikkalasi ham SHA-256 ni qabul qiladi, ammo tunnel baribir ko'tarilmaydi. Taklif hech kim solishtirmagan komponentda muvaffaqiyatsiz bo'ldi, odatda kalit almashinuvi guruhida. Bu qo'llanma biror narsani o'zgartirishdan oldin haqiqiy almashinuvni o'qiydi, bitta cheklangan siyosatni qo'llaydi va oldingi parametrlarni tiklaydigan orqaga qaytishni qoldiradi.
Guruhni o'zgartirishdan oldin muvaffaqiyatsizlikni o'qing
«Siyosat mosligi xatosi» — bu xulosa, tashxis emas. O'zaro maqbul taklif topilmaganini bildiradi va qaysi komponent rad etilgani haqida hech narsa demaydi. Uni aniq guruh haqidagi dalil sifatida emas, tekshiruvning boshlanishi sifatida qabul qiling.
Javob odatda server tomonida bo'ladi. Tegishli darajadagi strongSwan jurnali mijozdan olingan taklifni va qabul qilish uchun sozlangan taklifni sanab o'tadi, ikki ro'yxat orasidagi farq esa muvaffaqiyatsiz komponentni nomlaydi.
Mijoz eski forum xabarida aytilganini taklif qiladi deb o'ylamang. Faol profil va uning o'rnatilgan siyosati taklif qilinadigan ro'yxatni belgilaydi, yangilangan Windows qurilmasi esa siz ko'chirayotgan ekran suratidagidan boshqa to'plamni taklif qilishi mumkin.
Ikkala ro'yxatni yozib oling. To'rt transformatsiya pozitsiyasi va bitta guruh qisqa ro'yxat, uni satrma-satr solishtirish har qanday tajribadan kam vaqt oladi. To'rt pozitsiyani ko'z oldida saqlash oson. Jurnal faylini esa yo'q.
Bitta tanish nomni emas, har bir transformatsiyani solishtiring
IKE taklifi barchasi mos kelishi kerak bo'lgan tanlovlar to'plamidir. Shifrlash muzokarani himoya qiladi, yaxlitlik yoki PRF uni tasdiqlaydi, Diffie-Hellman guruhi esa yangi kalit materialini yaratadi. Birinchi ikkitasida mos kelib, uchinchisida farq qiladigan taklif ikki tomon uchun ham hanuz qabul qilinmaydi.
Bu yerda chalkashtiriladigan ikki Windows maydoni turli fazalarga tegishli. DHGroup IKE kalit almashinuviga tegishli, PfsGroup esa trafikni himoya qiluvchi bola assotsiatsiyasiga tegishli. Ikkinchisini o'zgartirish birinchisidagi muvaffaqiyatsizlikni tuzata olmaydi.
Guruh nomlari amalga oshirishlar orasida farq qiladi va bu chalkashlikning alohida manbai. strongSwan modp2048 va ecp256 deb yozadi, Windows esa Group14 va ECP256 kabi sanash nomlarini ishlatadi, shuning uchun solishtirishdan oldin tarjima qilish kerak. Ikki nomli ikki ustunli yozuvni saqlang. Shunda keyingi nomuvofiqlik soniyalarda tasniflanadi.
| 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 |
Bitta to'liq va cheklangan siyosatni qo'llang
Mahalliy IKEv2 profili uchun qo'llab-quvvatlanadigan vosita — har bir ulanish uchun IPsec siyosati, u maydonma-maydon emas, bitta obyekt sifatida o'rnatiladi. Avval ko'zdan kechiring, so'ng qo'llang va oldingi parametrlarni o'zgartirish yozuvida saqlang.
Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf
-WhatIf kaliti mahalliy o'zgarishni ko'zdan kechiradi va hech narsani qo'llamaydi. Bu foydali va shu bilan birga keng tarqalgan tuzoq, chunki ko'rish parametrlar mahalliy cmdlet uchun sintaktik jihatdan maqbul ekanini xolos isbotlaydi. Shlyuz hosil bo'lgan taklifni qabul qiladimi-yo'qmi, u bu haqda hech narsa demaydi.
Shu yerda qamrovni ham moslang. Barcha foydalanuvchilar omboridagi ulanish tegishli barcha-foydalanuvchi parametrini talab qiladi, xuddi shu ko'rinadigan nom bilan foydalanuvchi bo'yicha profilni tahrirlash esa tunnel ishlatmaydigan boshqa obyektni o'zgartiradi.
So'ng sinovdan oldin strongSwan tomonini ham shu to'plamga keltiring. Ikki uchda muvofiqlashtirilgan o'zgarish — bu ishning yaqinlashadigan yagona varianti; bir tomonni o'zgartirib qayta-qayta urinish o'sha rad javobi bilan to'la jurnal beradi.
Almashinuv va kalit yangilanishini alohida tekshiring
Muvaffaqiyatli ulanish — bir kuzatuv, kalit yangilanishi esa boshqasi. Boshlang'ich IKE muzokarasi bitta parametrlar to'plamini ishlatadi, trafikni tashuvchi bola assotsiatsiyasi esa keyinroq o'z siyosati bilan qayta muzokara qilinishi mumkin. Ulanib, birozdan so'ng uzilib qoladigan sozlama odatda ikkinchi holat.
ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *
Birinchi buyruq serverning o'rnatilgan assotsiatsiyalarga qarashini ko'rsatadi, jumladan bola SA va uning qolgan umri. Ikkinchisi mijoz profilida hozir nima borligini ko'rsatadi, va siz o'rnatgan siyosat amaldagi siyosat ekanini tasdiqlashning yagona yo'li shu.
Muvaffaqiyat e'lon qilishdan oldin to'liq kalit yangilanishini kuzating. Bu ulanishni bola assotsiatsiyasi almashtirilguncha yetarlicha ochiq ushlab, so'ng trafik davom etayotganini tasdiqlashni bildiradi. Siyosat nomuvofiqliklarining ko'pchiligi aynan shu qadamda yashiringan, chunki boshlang'ich muzokara yangilanish qabul qilmaydigan to'plam bilan ham muvaffaqiyatli bo'lishi mumkin.
Orqaga qaytish — oldingi parametrlar to'plami, yon beruvchi zaxira emas. Agar mijoz faqat kuchsiz eski guruhni taklif qilgan bo'lsa, javob mijoz va serverning umumiy siyosatini yaxshilash, o'sha guruhni kelajakdagi har bir tomon unga qadar pastga muzokara qila oladigan shlyuzga qo'shish emas.
To'rt parametr, guruh, ulanish qamrovi va kalit yangilanishi natijasini yozib qo'ying. Bu qisqa yozuv, va qo'llanma bilan tunnel bir marta qanday ko'tarilgani haqidagi hikoya orasidagi farq shu.