Երկու կողմերն էլ աջակցում են AES-ին, երկուսն էլ ընդունում են SHA-256-ը, սակայն թունելը դեռ չի բարձրանում։ Առաջարկը ձախողվեց մի բաղադրիչում, որը ոչ ոք չէր համեմատել՝ սովորաբար բանալիների փոխանակման խմբում։ Այս ուղեցույցը կարդում է իրական փոխանակումը նախքան որևէ բան փոխելը, կիրառում է մեկ սահմանափակ քաղաքականություն և թողնում է հետգնում, որը վերականգնում է նախորդ պարամետրերը։

Կարդացեք ձախողումը նախքան խումբ փոխելը

«Քաղաքականության համապատասխանության սխալը» ամփոփում է, ոչ ախտորոշում։ Այն նշանակում է, որ փոխադարձ ընդունելի առաջարկ չի գտնվել, և ոչինչ չի ասում այն մասին, թե որ բաղադրիչն է մերժվել։ Դիտարկեք այն որպես հետաքննության սկիզբ, ոչ որպես որոշակի խմբի մասին ապացույց։

Պատասխանը սովորաբար սերվերի կողմում է։ Համապատասխան մակարդակի strongSwan մատյանը թվարկում է հաճախորդից ստացված առաջարկը և այն առաջարկը, որն այն կարգավորված է ընդունել, իսկ երկու ցանկերի տարբերությունը նշում է ձախողված բաղադրիչը։

Մի՛ ենթադրեք, որ հաճախորդն առաջարկում է այն, ինչ ասվում է հին ֆորումի գրառման մեջ։ Ակտիվ պրոֆիլը և դրա տեղադրված քաղաքականությունը որոշում են առաջարկվող ցանկը, և թարմացված Windows-ի տարբերակը կարող է այլ հավաքածու առաջարկել, քան այն էկրանի պատկերում, որից պատճենում եք։

Գրեք երկու ցանկերն էլ։ Չորս տրանսֆորմի դիրք և մեկ խումբ կարճ ցանկ է, և այն տող առ տող համեմատելը ավելի քիչ ժամանակ կպահանջի, քան ցանկացած փորձ։ Չորս դիրք հեշտ է աչքի առաջ պահել։ Մատյանի ֆայլը՝ ոչ։

Համեմատեք ամեն տրանսֆորմը, ոչ թե մեկ ծանոթ անուն

IKE-ի առաջարկը ընտրությունների ամբողջություն է, որոնք բոլորը պետք է համընկնեն։ Կոդավորումը պաշտպանում է բանակցությունը, ամբողջականությունը կամ PRF-ը վավերացնում է այն, և Diffie-Hellman խումբը ստեղծում է նոր բանալիային նյութ։ Առաջարկը, որը համընկնում է առաջին երկուսում և տարբերվում երրորդում, դեռևս անընդունելի է երկու կողմերի համար։

Երկու Windows դաշտերը, որոնք այստեղ շփոթում են, պատկանում են տարբեր փուլերի։ DHGroup-ը վերաբերում է IKE-ի բանալիների փոխանակմանը, իսկ PfsGroup-ը՝ երթևեկությունը պաշտպանող զույգ միավորմանը։ Երկրորդի փոփոխությունը չի կարող շտկել առաջինի ձախողումը։

Խմբերի անունները տարբերվում են իրականացումների միջև, և դա շփոթության առանձին աղբյուր է։ strongSwan-ը գրում է modp2048 և ecp256, մինչդեռ Windows-ը օգտագործում է համարակալման անուններ, ինչպիսիք են Group14 և ECP256-ը, ուստի համեմատությունը պետք է թարգմանի նախքան համեմատելը։ Պահեք երկու սյունակով գրառում երկու անուններով։ Այնուհետև հաջորդ անհամապատասխանությունը դասակարգվում է վայրկյանների ընթացքում։

TransformWindows parameterstrongSwan nameFailure it causes
EncryptionCipherTransformConstantsaes, aes256gcm and similarNo common proposal at all
Integrity or PRFAuthenticationTransformConstantssha256, sha512 and similarProposal rejected after encryption matches
Key-exchange groupDHGroupmodp2048, ecp256Exchange fails during key establishment
Child SA protectionPfsGroupesp proposal groupsTunnel negotiates, data association does not

Կիրառեք մեկ ամբողջական և սահմանափակ քաղաքականություն

Բնական IKEv2 պրոֆիլի համար աջակցվող գործիքը մեկ միացման IPsec քաղաքականությունն է, որը սահմանվում է որպես մեկ օբյեկտ, այլ ոչ թե դաշտ առ դաշտ։ Նախ դիտեք այն նախադիտմամբ, ապա կիրառեք, և պահեք նախորդ պարամետրերը փոփոխության գրառման մեջ։

Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf

-WhatIf անջատիչը նախադիտում է տեղական փոփոխությունը և ոչինչ չի կիրառում։ Դա օգտակար է և միևնույն ժամանակ սովորական թակարդ է, որովհետև նախադիտումը միայն ապացուցում է, որ պարամետրերը շարահյուսորեն ընդունելի են տեղական cmdlet-ի համար։ Այն ոչինչ չի ասում այն մասին, թե դարպասը կընդունի՞ արդյոք ստացված առաջարկը։

Միևնույն ժամանակ համաձայնեցրեք նաև շրջանակը։ Բոլոր օգտատերերի պահոցում գտնվող միացմանը անհրաժեշտ է համապատասխան բոլոր-օգտատերերի պարամետրը, իսկ նույն ցուցադրվող անունով մեկ օգտատիրոջ պրոֆիլի խմբագրումը փոխում է մեկ այլ օբյեկտ, որը թունելը չի օգտագործում։

Այնուհետև փորձարկումից առաջ strongSwan-ի կողմը բերեք նույն հավաքածուին։ Երկու ծայրերում համաձայնեցված փոփոխությունը միակ տարբերակն է, որը համընթացվում է՝ մեկ կողմը փոխելը և կրկին ու կրկին փորձելը ստեղծում է նույն մերժումով լի մատյան։

Ստուգեք փոխանակումը և բանալիների նորացումը առանձին

Հաջող միացումը մեկ դիտարկում է, իսկ բանալիների նորացումը՝ մեկ այլ։ Սկզբնական IKE բանակցությունը օգտագործում է մեկ պարամետրերի հավաքածու, իսկ երթևեկությունը կրող զույգ միավորումը կարող է ավելի ուշ նորից բանակցվել իր սեփական քաղաքականությամբ։ Կարգավորումը, որը միանում է և հետո որոշ ժամանակ անց ընկնում, սովորաբար երկրորդ դեպքն է։

ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *

Առաջին հրամանը ցույց է տալիս սերվերի տեսակետը հաստատված միավորումների վերաբերյալ, ներառյալ զույգ SA-ն և դրա մնացած կյանքը։ Երկրորդը ցույց է տալիս, թե ինչ ունի հաճախորդի պրոֆիլը հիմա, և դա միակ միջոցն է հաստատելու, որ ձեր սահմանած քաղաքականությունն է գործող քաղաքականությունը։

Դիտեք ամբողջական բանալիների նորացում նախքան հաջողություն հայտարարելը։ Դա նշանակում է միացումը բավական երկար բաց պահել, որպեսզի զույգ միավորումը փոխարինվի, և ապա հաստատել, որ երթևեկությունը շարունակվում է։ Քաղաքականության անհամապատասխանությունների մեծ մասը թաքնված է հենց այդ քայլում, որովհետև սկզբնական բանակցությունը կարող է հաջողվել մի հավաքածուով, որը նորացումը չի ընդունում։

Հետգնումը նախորդ պարամետրերի հավաքածուն է, ոչ թե զիջող այլընտրանք։ Եթե հաճախորդը առաջարկել է միայն թույլ հին խումբ, պատասխանը հաճախորդի և սերվերի ընդհանուր քաղաքականության բարելավումն է, ոչ թե այդ խումբն ավելացնելը դարպասին, որտեղ ապագա յուրաքանչյուր կողմ կարող է բանակցել ներքև մինչև այն։

Գրանցեք չորս պարամետրերը, խումբը, միացման շրջանակը և բանալիների նորացման արդյունքը։ Սա կարճ գրառում է, և հենց դա է տարբերությունը ուղեցույցի և մի պատմության միջև այն մասին, թե ինչպես թունելը մի անգամ բարձրացավ։

Առնչվող հոդվածներ