Windows a strongSwan: cyfateb y pedair trawsffurfiad mewn cynnig IKE
Nid yw siffr a rennir yn ddigon pan fo’r cymheiriaid yn anghytuno ar y grŵp cyfnewid allweddi. Cymharwch y pedair trawsffurfiad i gyd, yna cymhwyswch un polisi proffil cyfyngedig.
Mae’r ddau gymheirydd yn cefnogi AES, mae’r ddau yn derbyn SHA-256, ac eto nid yw’r tiwnel yn codi. Methodd y cynnig ar gydran nad oedd neb wedi’i chymharu, sef fel arfer y grŵp cyfnewid allweddi. Mae’r canllaw hwn yn darllen y cyfnewid gwirioneddol cyn newid unrhyw beth, yn cymhwyso un polisi cyfyngedig ac yn gadael ffordd yn ôl sy’n adfer y paramedrau blaenorol.
Darllenwch y methiant cyn newid grŵp
Crynodeb yw “gwall cyfateb polisi”, nid diagnosis. Mae’n golygu na chafwyd cynnig a oedd yn dderbyniol i’r ddau, ac nid yw’n dweud dim am ba gydran a wrthodwyd. Triniwch ef fel dechrau’r ymchwiliad yn hytrach na fel tystiolaeth am grŵp penodol.
Ochr y gweinydd sydd fel arfer yn dal yr ateb. Mae log strongSwan ar lefel briodol yn rhestru’r cynnig a dderbyniodd gan y cleient a’r cynnig y mae wedi’i ffurfweddu i’w dderbyn, ac mae’r gwahaniaeth rhwng y ddwy restr yn enwi’r gydran a fethodd.
Peidiwch â chymryd yn ganiataol bod y cleient yn cynnig yr hyn a ddywed post hŷn ar fforwm. Y proffil gweithredol a’i bolisi gosodedig sy’n penderfynu’r rhestr a gynigir, a gall adeilad Windows sydd wedi’i ddiweddaru gynnig set wahanol i’r un yn y sgrinlun yr ydych yn copïo ohono.
Ysgrifennwch y ddwy restr i lawr. Mae pedair safle trawsffurfiad ac un grŵp yn rhestr fer, ac mae’i chymharu linell wrth linell yn cymryd llai o amser nag unrhyw arbrawf. Mae pedair safle yn hawdd eu cadw mewn golwg. Nid yw ffeil log felly.
Cymharwch bob trawsffurfiad, nid un enw cyfarwydd
Set o ddewisiadau yw cynnig IKE y mae’n rhaid i bob un ohonynt gyfateb. Mae amgryptio yn gwarchod y trafodaethau, mae uniondeb neu PRF yn eu dilysu, ac mae grŵp Diffie-Hellman yn sefydlu deunydd allwedd newydd. Mae cynnig sy’n cyfateb ar y ddau gyntaf ac yn gwahaniaethu ar y trydydd yn dal yn annerbyniol i’r ddau gymheirydd.
Mae’r ddau faes Windows sy’n cael eu cymysgu yma yn perthyn i wahanol gamau. Mae DHGroup yn berthnasol i gyfnewid allweddi IKE, tra bo PfsGroup yn berthnasol i’r gymdeithas plentyn sy’n gwarchod traffig. Ni all newid yr ail atgyweirio methiant yn y cyntaf.
Mae enwau grwpiau yn wahanol rhwng gweithrediadau, ac mae hynny’n ffynhonnell ddryswch ar wahân. Mae strongSwan yn ysgrifennu modp2048 a ecp256 tra bo Windows yn defnyddio enwau rhifo fel Group14 a ECP256, felly rhaid i gymhariaeth gyfieithu cyn cymharu. Cadwch nodyn â dwy golofn yn cynnwys y ddau enw. Yna mae’r camgyfateb nesaf yn cael ei ddosbarthu mewn eiliadau.
| 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 |
Cymhwyswch un polisi cyflawn a chyfyngedig
Y teclyn a gefnogir ar gyfer proffil IKEv2 brodorol yw polisi IPsec fesul cysylltiad, wedi’i osod fel un gwrthrych yn hytrach nag un maes ar y tro. Rhagolygwch ef yn gyntaf, yna ei gymhwyso, a chedwch y paramedrau blaenorol yn y cofnod newid.
Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf
Mae’r switsh -WhatIf yn rhagolygu’r newid lleol ac yn cymhwyso dim. Mae hynny’n ddefnyddiol, ac mae hefyd yn fagl gyffredin, oherwydd dim ond profi bod y paramedrau yn gystrawennol dderbyniol i’r cmdlet lleol y mae rhagolwg yn ei wneud. Nid yw’n dweud dim am a fydd y porth yn derbyn y cynnig sy’n deillio.
Cyfatebwch y cwmpas tra ydych wrthi. Mae cysylltiad yn stôr pob defnyddiwr angen y paramedr cyfatebol ar gyfer pob defnyddiwr, ac mae golygu’r proffil fesul defnyddiwr â’r un enw arddangos yn newid gwrthrych gwahanol nad yw’r tiwnel yn ei ddefnyddio.
Yna addaswch ochr strongSwan i’r un set cyn profi. Newid cydgysylltiedig ar y ddau ben yw’r unig fersiwn o hyn sy’n cydgyfeirio; mae newid un ochr ac ailgynnig dro ar ôl tro yn cynhyrchu log yn llawn o’r un gwrthodiad.
Gwiriwch y cyfnewid a’r ailosod allweddi ar wahân
Mae cysylltiad llwyddiannus yn un arsylwad, ac mae’r ailosod allweddi yn un arall. Mae trafodaeth IKE gychwynnol yn defnyddio un set o baramedrau, a gellir ail-drafod y gymdeithas plentyn sy’n cario traffig yn ddiweddarach â’i pholisi ei hun. Mae gosodiad sy’n cysylltu ac yna’n disgyn ar ôl sbel fel arfer yn yr ail achos.
ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *
Mae’r gorchymyn cyntaf yn dangos golygfa’r gweinydd o’r cymdeithasau sefydledig, gan gynnwys y SA plentyn a’i oes sy’n weddill. Mae’r ail yn dangos beth sydd gan broffil y cleient nawr, a dyna’r unig ffordd i gadarnhau mai’r polisi a osodwyd gennych yw’r polisi sydd mewn grym.
Gwyliwch ailosod allweddi llawn cyn datgan llwyddiant. Mae hynny’n golygu gadael y cysylltiad i fyny’n ddigon hir i’r gymdeithas plentyn gael ei disodli, ac yna cadarnhau bod traffig yn parhau. Mae’r rhan fwyaf o gamgyfatebau polisi yn cuddio yn y cam hwnnw oherwydd gall y drafodaeth gychwynnol lwyddo gyda set nad yw’r ailosod yn ei derbyn.
Y set baramedrau flaenorol yw’r ffordd yn ôl, nid cwymp caniataol. Os mai dim ond grŵp hen a gwan a gynigiodd y cleient, yr ateb yw gwella polisi cyffredin y cleient a’r gweinydd, nid ychwanegu’r grŵp hwnnw at y porth lle gall pob cymheirydd yn y dyfodol drafod i lawr ato.
Cofnodwch y pedwar paramedr, y grŵp, cwmpas y cysylltiad a chanlyniad yr ailosod allweddi. Nodyn byr yw hwnnw, a dyna’r gwahaniaeth rhwng canllaw a stori am y tro y cododd y tiwnel.