strongSwan EAP. IKE ինքնությունը՝ սպասվող AAA անվան դիմաց
strongSwan EAP հաճախորդը կարող է ստուգել երկու սերվերի անվանում։ remote.id-ը ծածկում է IKE դարպասը, local.aaa_id-ը՝ EAP սերվերը. դրանք մեկ դաշտ չեն։
EAP նույնականացումը IKEv2-ի վրա կարող է հաճախորդից պահանջել մեկ միացման մեջ ստուգել երկու տարբեր սերվերի անվանում։ IKE-ն ավարտող դարպասը ներկայացնում է մեկ ինքնություն, իսկ ներքին TLS փոխանակումն ավարտող EAP հետնաբաժինը կարող է ներկայացնել մեկ այլը։ strongSwan-ում դրանք ապրում են տարբեր կոնֆիգուրացիոն բլոկներում, և անունը սխալ բլոկում դնելը առաջացնում է խափանում, որը նման է վկայագրի խնդրի։ Հենց թե որ ստուգումը ձախողվեց, դա է ասում, թե որ բլոկը խմբագրել։
Մեկ միացում, երկու սերվերի ինքնություն
Առաջին ինքնությունը պատկանում է IKE փոխանակմանը։ Հաճախորդը հավաքում է հասցե և սպասում, որ հակառակորդը ապացուցի որոշակի ինքնություն, սովորաբար դարպասի վկայագրի անունը։
Երկրորդը պատկանում է EAP-ին։ PEAP-ի կամ TTLS-ի դեպքում հաճախորդը TLS թունել է կառուցում դեպի նույնականացման սերվեր IKE SA-ի ներսում, և այդ ներքին սերվերը ներկայացնում է իր սեփական վկայագիրը։ Երբ հետնաբաժինը առանձին հոսթ է, նրա անունը տարբերվում է դարպասի անունից։ Այն հաճախորդը, որը ստուգում է միայն առաջին անունը, ընդունում է այն ամենը, ինչ պնդում է երկրորդը։ Իսկ այն հաճախորդը, որը երկու տեղերում էլ մեկ անունով է կարգավորված, ձախողվում է հենց որ դրանք իսկապես տարբերվում են։
Երկու անուններն էլ գալիս են օպերատորի կոնֆիգուրացիայից, այլ ոչ այն վկայագրից, որը վերացնում է սխալը։ Օպերատորից տեղաբաշխման մանրամասները հարցնելն ավելի արագ է, քան երկու հոսթի անուն գուշակելը։
Որ դաշտը որ շերտին է պատկանում
swanctl-ում հասցեն և IKE ինքնությունը առանձին կարգավորումներ են, իսկ EAP ինքնությունը երրորդն է։
Հեռավոր հասցեն ընտրում է, թե ուր գնան փաթեթները, իսկ հեռավոր ինքնությունը նշում է, թե ինչ պետք է ապացուցի հակառակորդը։ EAP սպասումը գրվում է local բլոկի տակ, որովհետև այն նկարագրում է այս հաճախորդի EAP փոխանակումը, այլ ոչ հակառակորդի IKE վարքը։ Հենց այդ տեղադրությունն են սխալ կարդում։ Անունը կանգնած է հաճախորդի կոնֆիգուրացիայում՝ նկարագրելով սերվեր, և դա է պատճառը, որ այն տեղին չի թվում։
connections {
office {
remote_addrs = vpn.example.com
local {
auth = eap-peap
aaa_id = auth.example.com
}
remote {
auth = pubkey
id = vpn.example.com
}
}
}
Այդ հատվածը ամբողջական միացում չէ. վստահության նյութերը, հավատարմագրերը և ենթակա միացումների քաղաքականությունները դեռ պետք է ներկա լինեն։ Այն բառացիորեն աշխատող ֆայլ պատճենելը կփոխարինի կարգավորումներ, որոնք դեռ ձեզ պետք են։
Ինչու aaa_id-ն ապրում է local-ի տակ
local բլոկը նկարագրում է, թե ինչ է անում այս կողմը նույնականացման ընթացքում, ներառյալ այն մեթոդը, որը նա օգտագործելու է, և այն ինքնությունը, որը նա սպասում է մյուս կողմից այդ մեթոդի համար։ Դրանում ոչինչ չի պնդում, որ AAA սերվերը աշխատում է նույն մեքենայի վրա։
Լռելյայն արժեքը ծուղակը դարձնում է ավելի սուր։ Երբ բացահայտ արժեք սահմանված չէ, սպասվող AAA ինքնությունը հետևում է հեռավոր ինքնությանը, ուստի մեկ անունով տեղաբաշխումն աշխատում է և թաքցնում տարբերությունը։ Բացահայտ արժեքը կարևոր է միայն այն ժամանակ, երբ EAP տեղաբաշխումն իսկապես ավարտվում է այլ տեղ։ Առանց այդ պատճառի այն այլ անվան վրա դնելը ստեղծում է խափանում, որը օպերատորը չի կարող վերարտադրել։ Կարդացեք տեղաբաշխումը, նախքան երկրորդ անուն հորինելը։
Պահեք արժեքը նույնական այն բանին, ինչ իրականում պնդում է հետնաբաժնի վկայագիրը, ներառյալ անվան ձևը։ Վերջում դրված կետը կամ հոսթը չծածկող զանգվածանիշը բավարար է, որպեսզի ստուգումը ձախողվի։
Ինտերֆեյսներ, որոնք չեն կարող արտահայտել բաժանումը
NetworkManager պրոֆիլը swanctl-ի նույն կոնֆիգուրացիոն ինտերֆեյսը չէ։ Դրա հետևում գտնվող հավելվածը ներկայացնում է ինքնության կառավարման ավելի նեղ հավաքածու, և թե որոնք գոյություն ունեն, կախված է տեղադրված տարբերակից։
Դա կարևոր է, երբ տեղաբաշխմանն իսկապես երկու անուն է պետք։ Սերվերի ինքնություն պիտակված դաշտը կարող է կարգավորել մի շերտը և ոչ մյուսը, ուստի պրոֆիլը կարող է ճիշտ թվալ և այնուամենայնիվ ձախողվել ներքին ստուգման ժամանակ։ Ստուգեք, թե ինչ է աջակցում տեղադրված հավելվածը, նախքան ենթադրելը, որ պրոֆիլը կարող է արտահայտել այդ դասավորությունը։ Եթե չի կարող, ընտրությունը օպերատորինն է՝ այլ տրամադրման ուղի կամ ուղղված սերվերի ինքնության ձևավորում։ PEAP-ի թուլացումը կամ ցանկացած անուն ընդունելը փոխում է նույնականացման քաղաքականությունը՝ փոխարենը այն ուղղելու։
Այլընտրանքը հաճախորդի վրա հորինելու բան չէ։ Պահանջեք աջակցվող դասավորությունը գրավոր, ապա պահեք այդ պատասխանը պրոֆիլի հետ։
Տարբերեք ինքնության անհամապատասխանությունը ժամկետանց վկայագրից
Անվան անհամապատասխանությունը և ժամկետանց վկայագիրը տարբեր խափանումներ են, և մատյանը տարբերում է դրանք։ Կարդացեք հաղորդագրությունը, նախքան որոշելը, թե որ դաշտը փոխել։
swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan -n 50 --no-pager
Նախատեսված AAA ինքնությունը սահմանելը չի թարմացնում վկայագիր և չի հաստատում վստահություն դրա թողարկողի նկատմամբ, իսկ վկայագրի թարմացումը չի ուղղում սխալ սպասվող անունը։ Կարդացեք, թե որ ստուգումը ձախողվեց, նախքան ևս մեկ ինքնության դաշտ խմբագրելը։ Այնուհետև վերբեռնեք կոնֆիգուրացիան և հաստատեք, որ բեռնված միացումը ցույց է տալիս ձեր սահմանած արժեքը, որովհետև երբեք չբեռնված խմբագրված ֆայլը ոչինչ չի փոխում։ Գրեք երկու անուններն ու դրանց շերտերը տեղաբաշխման նշումների մեջ։