Windows at strongSwan: pagtutugma ng apat na transpormasyon sa isang panukalang IKE
Hindi sapat ang isang pinagsasaluhang cipher kapag hindi nagkakasundo ang mga peer sa grupo ng palitan ng susi. Ihambing ang apat na transpormasyon, pagkatapos ay gamitin ang isang limitadong patakaran ng profile.
Sinusuportahan ng dalawang panig ang AES, parehong tumatanggap ng SHA-256, at hindi pa rin bumabangon ang tunnel. Nabigo ang panukala sa isang bahaging walang naghambing, kadalasan sa grupo ng palitan ng susi. Binabasa ng gabay na ito ang tunay na palitan bago baguhin ang anuman, gumagamit ng isang limitadong patakaran at nag-iiwan ng pagbabalik na nagpapanumbalik ng mga dating parameter.
Basahin ang kabiguan bago baguhin ang isang grupo
Ang «error sa pagtutugma ng patakaran» ay buod, hindi diagnosis. Ibig sabihin, walang natagpuang panukalang katanggap-tanggap sa magkabilang panig, at wala itong sinasabi tungkol sa kung aling bahagi ang tinanggihan. Ituring itong simula ng pagsisiyasat at hindi bilang ebidensiya tungkol sa isang partikular na grupo.
Karaniwang nasa panig ng server ang sagot. Inililista ng log ng strongSwan sa angkop na antas ang panukalang natanggap mula sa kliyente at ang panukalang naka-configure itong tanggapin, at pinapangalanan ng pagkakaiba ng dalawang listahan ang bahaging nabigo.
Huwag ipagpalagay na iniaalok ng kliyente ang sinasabi ng lumang post sa forum. Ang aktibong profile at ang naka-install na patakaran nito ang nagtatakda ng iniaalok na listahan, at ang na-update na build ng Windows ay maaaring mag-alok ng ibang set kaysa sa nasa screenshot na kinokopya mo.
Isulat ang dalawang listahan. Apat na posisyon ng transpormasyon at isang grupo ay maikling listahan, at ang paghahambing nito nang linya sa linya ay mas mabilis kaysa sa anumang eksperimento. Apat na posisyon ay madaling bantayan. Ang log file ay hindi.
Ihambing ang bawat transpormasyon, hindi isang pamilyar na pangalan
Ang panukalang IKE ay isang set ng mga pagpipilian na dapat magtugma lahat. Pinoprotektahan ng encryption ang negosasyon, pinatutunayan ito ng integridad o isang PRF, at ang grupong Diffie-Hellman ay nagtatatag ng sariwang materyal ng susi. Ang panukalang tumutugma sa unang dalawa at naiiba sa pangatlo ay hindi pa rin katanggap-tanggap sa dalawang panig.
Ang dalawang field ng Windows na pinagpapalito rito ay kabilang sa magkaibang yugto. Ang DHGroup ay tumutukoy sa palitan ng susi ng IKE, habang ang PfsGroup ay tumutukoy sa child association na nagpoprotekta sa trapiko. Hindi kayang ayusin ng pagbabago sa pangalawa ang kabiguan sa una.
Nagkakaiba ang mga pangalan ng grupo sa iba't ibang implementasyon, at iyon ay hiwalay na pinagmumulan ng kalituhan. Nagsusulat ang strongSwan ng modp2048 at ecp256 habang gumagamit ang Windows ng mga pangalan ng enumerasyon tulad ng Group14 at ECP256, kaya kailangang magsalin ng paghahambing bago ito humambing. Magtago ng tala na may dalawang hanay na may dalawang pangalan. Pagkatapos, ang susunod na pagkakaiba ay nabubukod sa ilang segundo.
| 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 |
Gamitin ang isang kumpleto at limitadong patakaran
Ang sinusuportahang kasangkapan para sa katutubong profile ng IKEv2 ay isang patakaran ng IPsec sa bawat koneksyon, itinakda bilang isang bagay sa halip na field sa field. I-preview muna ito, pagkatapos ay gamitin, at itago ang mga dating parameter sa talaan ng pagbabago.
Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf
Ang switch na -WhatIf ay nagpapakita ng lokal na pagbabago sa preview at wala itong inilalapat. Kapaki-pakinabang iyon at sa parehong oras ay karaniwang bitag, dahil ang preview ay nagpapatunay lamang na ang mga parameter ay sintaktikong katanggap-tanggap sa lokal na cmdlet. Wala itong sinasabi tungkol sa kung tatanggapin ng gateway ang resultang panukala.
Itugma rin ang saklaw habang nariyan ka. Ang koneksyon sa imbakan ng lahat ng gumagamit ay nangangailangan ng kaukulang parameter para sa lahat ng gumagamit, at ang pag-edit ng profile ng bawat gumagamit na may parehong pangalan sa pagpapakita ay nagbabago ng ibang bagay na hindi ginagamit ng tunnel.
Pagkatapos, bago subukan, itugma ang panig ng strongSwan sa parehong set. Ang koordinadong pagbabago sa dalawang dulo ang tanging bersyon nito na nagtatagpo; ang pagbabago sa isang panig at paulit-ulit na pagsubok ay gumagawa ng log na puno ng parehong pagtanggi.
I-verify nang hiwalay ang palitan at ang pagpapabago ng susi
Ang matagumpay na koneksyon ay isang obserbasyon, at ang pagpapabago ng susi ay isa pa. Ang paunang negosasyon ng IKE ay gumagamit ng isang set ng mga parameter, at ang child association na nagdadala ng trapiko ay maaaring muling makipagnegosasyon mamaya gamit ang sarili nitong patakaran. Ang setup na kumokonekta at pagkatapos ay bumabagsak pagkalipas ng ilang sandali ay karaniwang ang ikalawang kaso.
ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *
Ipinapakita ng unang utos ang pananaw ng server sa mga naitatag na assosasyon, kasama ang child SA at ang natitirang habang-buhay nito. Ipinapakita ng pangalawa kung ano ang hawak ng profile ng kliyente ngayon, at iyon ang tanging paraan upang kumpirmahin na ang patakarang itinakda mo ang patakarang may bisa.
Panoorin ang isang buong pagpapabago ng susi bago magpahayag ng tagumpay. Ibig sabihin, hayaang manatiling nakataas ang koneksyon nang sapat na katagalan upang mapalitan ang child association, at pagkatapos ay kumpirmahing nagpapatuloy ang trapiko. Karamihan sa mga pagkakaiba ng patakaran ay nagtatago sa hakbang na iyon, dahil ang paunang negosasyon ay maaaring magtagumpay sa isang set na hindi tinatanggap ng pagpapabago.
Ang pagbabalik ay ang dating set ng parameter, hindi isang mapagbigay na pamalit. Kung ang kliyente ay nag-alok lamang ng mahinang lumang grupo, ang sagot ay pagbutihin ang karaniwang patakaran ng kliyente at server, hindi idagdag ang grupong iyon sa gateway kung saan ang bawat hinaharap na panig ay makikipagnegosasyon pababa hanggang doon.
Itala ang apat na parameter, ang grupo, ang saklaw ng koneksyon at ang resulta ng pagpapabago ng susi. Iyon ay maikling tala, at iyon ang pagkakaiba ng isang gabay sa isang kuwento tungkol sa pagkakataong umangat ang tunnel.