Ինչու համօգտագործվող TAP VPN-ը դեռ կարիք ունի HTTPS-ի պորտալում
TAP VPN-ը նույնականացնում է զուգընկերոջը, ոչ թե նրա հետևում գտնվող ծառայությունը։ Պահեք հոսթի անվան ստուգումը պորտալում և մեկուսացրեք հարևաններին, որոնց չեք վստահում։
Երկու սարք ունեն վավեր VPN հավատարմագրեր և կիսում են մեկ կամրջված Ethernet հատված։ Նրանցից միայն մեկը պետք է պատասխանի գրասենյակի պորտալի համար, իսկ մյուսը դեռ կարող է հավակնել պորտալի հասցեին այդ հատվածում։ Թունելը կատարեց իր գործը՝ այն նույնականացրեց երկու զուգընկերներին և գաղտնագրեց յուրաքանչյուր ուղին դեպի սերվեր։ Ինչ չարեց՝ չհավաստագրեց, թե նրանցից ով է տիրապետում ծառայության անվանը, և հենց այդ բացն է պատճառը, որ պորտալը դեռ վավեր վկայագրի կարիք ունի։
Ինչ է իրականում նույնականացնում VPN-ը
VPN-ի ձեռքսեղմումը պատասխանում է մեկ հարցի՝ որ զուգընկերն ավարտեց այս թունելը և ինչ բանալիային նյութով։ Այդ պատասխանը յուրաքանչյուր զուգընկերոջ և յուրաքանչյուր միացման համար է և ոչինչ չի ասում այն ծառայությունների մասին, որոնք այդ զուգընկերը բացում է հետագայում։ TAP հատվածում զուգընկերը նույնիսկ մեկ հասցե չէ, որովհետև կարող է ներկայացնել ցանկացած MAC և ցանկացած IP, որը կամուրջը պատրաստ է սովորել։ Նույնականացումը կանգ է առնում թունելի վերջնակետում, ոչ թե հավելվածում։
Առանձնացրեք երեք հարցերը՝ դրանք մեկի մեջ միաձուլելու փոխարեն։ Յուրաքանչյուրն ունի իր մեխանիզմը և իր ձախողման եղանակը։
| Question | Answered by |
|---|---|
| Which peer sent this packet? | VPN transport authentication |
| Which device owns this IPv4 address? | ARP, trusted only as far as the segment |
| Which service am I talking to? | Application TLS and hostname validation |
Տեղակայումը կարող է ունենալ կատարելապես նույնականացված թունել և դրա հետևում ամբողջովին չնույնականացված ծառայություն։ Այն կարող է նաև ունենալ վավերացված վկայագիր հոսթի վրա, որի երկրորդ շերտի հասցեին հավակնում է մեկ այլ զուգընկեր, և դրա համար էլ նախագծում պետք է լինեն երկու վերահսկիչները, ոչ թե մեկը՝ մյուսի փոխարեն։ Աղյուսակը ամբողջ փաստարկն է երեք տողով։
ARP-ը համօգտագործվող հատվածում ուղեցույց չէ
ARP-ը տեղական կապում IPv4 հասցեն կապում է MAC-ի հետ և ընդունում է պատասխաններ այդ կապի ցանկացած մասնակցից։ Թույլատրող կամրջված հատվածում զուգընկերը կարող է հավակնել մեկ այլ սարքի պատկանող հասցեի, և կամուրջը շրջանակները փոխանցում է նրան, ով վերջինն է պատասխանել։ Յուրաքանչյուր հաճախորդի ուղու գաղտնագրումը դեպի սերվեր դա չի փոխում, որովհետև շրջանակները վերծանվում են մինչև կամուրջ հասնելը։ ARP-ի վստահության սահմանը հատվածն է, ոչ թե թունելը։
Տեսեք, թե ինչ է իրականում սովորել հոսթը՝ ip neigh show ցուցադրում է ընթացիկ քարտեզագրումները և դրանց վիճակը, և գրառումը, որը սովորական աշխատանքի ընթացքում փոխվում է երկու MAC հասցեների միջև, ախտանիշ է, որն արժե քննել, այլ ոչ թե անտեսել։ Առողջ փոքր հատվածում այդ գրառումները երկար ժամանակ կայուն են մնում։
Զուգընկերների մեկուսացումը և կամրջի քաղաքականությունը գոյություն ունեն հենց այս դեպքի համար։ Երթուղավորված նախագիծը սովորաբար ավելի լավ պատասխան է, երբ ծառայությունը միայն IP է, և սարքերը որևէ պատճառ չունեն տեսնելու միմյանց շրջանակները։
Պահեք վկայագրի ստուգումը այնտեղ, որտեղ ծառայությունն է
Հավելվածի TLS-ը պատասխանում է այն հարցին, որին թունելը չի կարող՝ արդյոք սա այն ծառայությունն է, որին ուզում էի հասնել։ Զննարկիչը ստուգում է հոսթի անունը վկայագրի դեմ, և այդ ստուգումը շղթայի միակ մասն է, որը նշում է պորտալը, ոչ թե զուգընկերոջը։
Ուսումնասիրեք, թե ինչ է ներկայացնում սերվերը, նախքան որոշելը, որ նախազգուշացումը կոսմետիկ է։ openssl s_client -connect portal.example.internal:443 -servername portal.example.internal տպում է շղթան և սուբյեկտի այլընտրանքային անունները։ Եթե ձեր մուտքագրած անունը այդ ցանկում չկա, նախազգուշացումը ճիշտ է, և վկայագիրն է այն, ինչ պետք է շտկել։ Օգտատերերին այն շրջանցել սովորեցնելը աշխատող վերահսկիչը վերածում է զարդարանքի։
OpenVPN-ի կամրջման ուղեցույցը նկարագրում է Ethernet մոդելը և դրա շուրջ քաղաքականության տարբերակները, և դա ճիշտ աղբյուրն է այն բանի համար, ինչ հատվածը պետք է թույլատրի։ Կարդացեք այն նախքան կամրջի կանոնը թուլացնելը, որովհետև նկարագրված մոդելն այն է, ինչ ենթադրում է վերևի յուրաքանչյուր ստուգում։
Որոշեք՝ արդյոք այդ զուգընկերները պետք է ընդհանրապես կիսեն հատված
Ամենաէժան լուծումը սովորաբար երկրորդ շերտը չկիսելն է, երբ պահանջը միայն IP հասանելիությունն է։ Երթուղավորված VPN-ը յուրաքանչյուր հաճախորդի տալիս է իր սեփական հասցեն, հեռացնում է ընդհանուր հեռարձակման տիրույթը և զուգընկերների միջև երթևեկությունը դարձնում է քաղաքականության որոշում՝ լռելյայնի փոխարեն։ Այնուհետև պորտալն ունի մեկ հասցե՝ պաշտպանելու, և ոչ մի հարևան, որը կարող է հավակնել դրան։
Եթե հատվածը պետք է մնա, ստուգեք սերվերի կողմի կարգավորումը, որը հաճախորդներին թույլ է տալիս հասնել միմյանց՝ grep -n client-to-client /etc/openvpn/server.conf։ Երբ այն անջատված է, հաճախորդների երթևեկությունն անցնում է սերվերով և կարող է զտվել այնտեղ։ Երբ այն միացված է, զուգընկերները շրջանակներ փոխանակում են ուղիղ կամրջով, և ձեր զտման կետերը կամուրջն ու հոսթի պատնեշն են։
Գրեք, թե յուրաքանչյուր հոսթ իրականում ինչ պաշտպանությունների վրա է հենվում՝ թունելի նույնականացում, հատվածի մեկուսացում կամ հավելվածի TLS։ Հոսթը, որը հենվում է բոլոր երեքի վրա, լավ է։ Իսկ այն հոսթը, որը հենվում է առաջինի վրա և ենթադրում, որ մյուս երկուսը եկել են դրա հետ, այն է, որը վերջում մատուցում է սխալ բովանդակություն։