Գրասենյակի լոկալ ցանցում ներքին անունը պատասխանում է ակնթարթորեն։ Հենց VPN-ը բարձրանում է, այն դադարում է աշխատել, հավելվածը հաղորդում է ժամանակի սպառման մասին, իսկ թունելն ինքը առանց բողոքի անցկացնում է երթևեկությունը։ Փոխվել է լուծիչը, և այդ լուծիչը կարծիք ունի մասնավոր հասցեների մասին։

Rebind պաշտպանությունը գոյություն ունի մեկ կոնկրետ հնարք կանգնեցնելու համար։ Դիտավորյալ հրապարակված մասնավոր անունը բավական նման է թվում, և պաշտպանությունը գործարկվում է։

Կարդացեք պատասխանը, նախքան քաղաքականությունը կարդալը

Հարցրեք անունը այն լուծիչից, որը VPN-ը իսկապես տրամադրում է, ոչ թե նրանից, որն օգտագործում է ձեր նոթբուքը տանը։ Համեմատեք պատասխանը ձեր սպասած գրառման հետ և նշեք՝ պատասխանը դատարկ է, մերժված, թե լի է հանրային հասցեներով, որոնք ոչ ոք չէր ծրագրել։

Ախտանիշները համընկնում են, ուստի պատասխանի ձևն է որոշում ախտորոշումը։ NXDOMAIN-ը բացակայող գրառում է, REFUSED-ը՝ մուտքի կանոն, ներքին անվան համար հանրային հասցեն՝ քաղաքականության կամ բաժանված DNS-ի սխալ, իսկ ճիշտ մասնավոր հասցեն, որը հաճախորդը չի կարող օգտագործել, բոլորովին այլ խնդիր է։ Մերժված կապը կամ կանգնած հարցումն ինքնին ոչինչ չեն ապացուցում, դրա համար էլ այս տոմսերից ցանկացածում առաջին հրահանգը պետք է լինի որոնում, ոչ թե վերագործարկում։ Գրեք պատասխանը, նախքան որևէ բան փոխելը։

Ինչ է իրականում կանգնեցնում պաշտպանությունը

DNS rebinding-ը աշխատում է՝ փոխելով, թե ինչի է լուծվում անունը այն բանից հետո, երբ հաճախորդն արդեն վստահել է դրան։ Էջը բեռնվում է հարձակվողի վերահսկած անունից, պատասխանը շրջվում է մասնավոր հասցեի, և դիտարկիչը խաբվում է խոսելու տեղական ցանցի մի բանի հետ, որի հետ երբեք ուղիղ կապ չէր ընդունի։ Պաշտպանությունը մասնավոր տարածություն ցույց տվող պատասխանները մերժելն է, երբ լուծիչից երբեք չի պահանջվել սպասարկել մասնավոր անվանատարածք։ Ամբողջ հարձակումը հենց այդ անհամաչափությունն է։

dnsmasq-ը փաստագրում է հենց այդ վարքը՝ տիրույթային բացառությունների հետ միասին։ Նրա ձեռնարկի էջը նկարագրում է rebind-domain-ok-ը որպես տիրույթներ անվանելու միջոց, որոնք օրինականորեն կարող են վերադարձնել այդպիսի հասցեներ։ Դա կարդացեք որպես ազդանշան, որ նախատեսված ուղղումը սահմանափակ թույլտվություն է, ոչ թե գլոբալ անջատիչ։

Սահմանափակեք բացառությունը անվանատարածքով

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

# ask the resolver the VPN pushed, and show the full answer
dig +noall +answer db.corp.example @10.40.0.1
dig +short db.corp.example @10.40.0.1

# dnsmasq: what does the running configuration already allow?
grep -R 'rebind' /etc/dnsmasq.d /etc/dnsmasq.conf

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

Բաժանված DNS-ը նույն որոշման մասն է։ Եթե մասնավոր անվանատարածքին պետք է պատասխանել միայն ներքին լուծիչում, հրապարակեք այն այնտեղ և դադարեցրեք այն արտահոսելը հանրային լուծիչներ, որպեսզի բացառությունը ծածկի մեկ ուղի՝ բոլոր ուղիների փոխարեն։

Կրկին փորձարկեք ռեսուրսը և պաշտպանությունը

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

# the internal name and the public control should behave differently
dig +short db.corp.example @10.40.0.1
dig +short www.example.com @10.40.0.1

# and the service itself, with the certificate it presents
curl -sS -o /dev/null -w '%{http_code}\n' https://db.corp.example/health

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

Տոմսում գրանցեք մերժված պատասխանը, տիրույթը, լուծիչը և թե ով է քաղաքականության տերը։ Հենց այդ գրառումն է առեղծվածային ներքին ընդհատումը դարձնում կարգավորման փոփոխություն, որը ինչ-որ մեկը կարող է վերանայել։

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