ოფისის LAN-ში შიდა სახელი მყისიერად პასუხობს. VPN-ის ჩართვის წამიდან ის წყვეტს მუშაობას, აპლიკაცია ტაიმაუტს იუწყება, თავად გვირაბი კი ტრაფიკს უჩივლელად გზავნის. რაც შეიცვალა, რეზოლვერია, და ამ რეზოლვერს კერძო მისამართებზე საკუთარი აზრი აქვს.

რიბაინდის დაცვა ერთი კონკრეტული ხრიკის შესაჩერებლად არსებობს. განზრახ გამოქვეყნებული კერძო სახელი საკმარისად ჰგავს იმას, რომ დაცვა ამოქმედდეს.

პასუხი წაიკითხეთ პოლიტიკამდე

ჰკითხეთ სახელს იმ რეზოლვერს, რომელსაც VPN ნამდვილად უგზავნის, და არა იმას, რომელსაც თქვენი ლეპტოპი სახლში იყენებს. შეადარეთ პასუხი მოსალოდნელ ჩანაწერს და დააფიქსირეთ, პასუხი ცარიელია, უარყოფილია თუ სავსეა საჯარო მისამართებით, რომლებიც არავის დაუგეგმავს.

სიმპტომები ერთმანეთს ემთხვევა, ამიტომ დიაგნოზს პასუხის ფორმა წყვეტს. NXDOMAIN ნიშნავს დაკარგულ ჩანაწერს, REFUSED წვდომის წესს, საჯარო მისამართი შიდა სახელისთვის პოლიტიკის ან split-DNS-ის შეცდომას, ხოლო სწორი კერძო მისამართი, რომელსაც კლიენტი ვერ იყენებს, სრულიად სხვა პრობლემაა. უარყოფილი კავშირი ან შეჩერებული მოთხოვნა თავისთავად არაფერს ამტკიცებს, ამიტომ ასეთ ბილეთებში პირველი ბრძანება გადატვირთვა კი არა, ძიება უნდა იყოს. ჩაწერეთ პასუხი, სანამ რამეს შეცვლით.

რას აჩერებს დაცვა სინამდვილეში

DNS რიბაინდი მუშაობს იმით, რომ ცვლის, რაზე იხსნება სახელი მას შემდეგ, რაც კლიენტმა უკვე ენდო. გვერდი იტვირთება თავდამსხმელის მიერ კონტროლირებული სახელიდან, პასუხი კერძო მისამართზე გადადის და ბრაუზერი მოტყუებით ესაუბრება ლოკალურ ქსელში იმას, რასაც პირდაპირი კავშირით არასოდეს დათანხმდებოდა. დაცვა მდგომარეობს იმაში, რომ უარვყოთ კერძო სივრცეში მიმანიშნებელი პასუხები, როცა რეზოლვერს კერძო სახელთა სივრცის მომსახურება არასოდეს მოუთხოვია. ეს ასიმეტრია მთელი თავდასხმაა.

dnsmasq ზუსტად ამ ქცევას აღწერს, დომენების მიხედვით გამონაკლისებთან ერთად. თავის სახელმძღვანელოში ის rebind-domain-ok-ს აღწერს როგორც გზას, რომ დაასახელოთ დომენები, რომლებსაც ლეგიტიმურად შეუძლიათ ასეთი მისამართების დაბრუნება. წაიკითხეთ ეს როგორც ნიშანი, რომ განზრახული შესწორება შემოსაზღვრული ნებართვაა და არა გლობალური გადამრთველი.

გამონაკლისი სახელთა სივრცეს შემოზღუდეთ

ჯერ სახელთა სივრცე გაასწორეთ, შემდეგ გამონაკლისი. დარწმუნდით, რომ წარუმატებელი სახელი ორგანიზაციის კონტროლირებულ დომენს ეკუთვნის და რომ ჩანაწერი განზრახ შენარჩუნდება. მოულოდნელი მისამართი, რომელიც მხოლოდ ნაცნობ LAN დიაპაზონს ჰგავს, ეჭვს იმსახურებს და არა გამონაკლისს, ამიტომ ზონის მფლობელი შეამოწმეთ, სანამ რაიმე ნებართვას დაწერთ.

# 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 კლიენტები იკითხავენ. დაცვის გამორთვა ამ რეზოლვერზე ყველა სახელისთვის ერთდროულად ართმევს დაცვას ყველა მათგანს, მათ შორის იმ სახელებს, რომლებსაც ის არასოდეს სჭირდებოდათ.

Split 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

საჯარო სახელიც გამოსცადეთ იმავე რეზოლვერის გავლით. დაცვამ გამონაკლისის გარეთ მყოფ სახელებზე კვლავ სწორად უნდა იმუშაოს, და თუ ეს შემოწმება ჩავარდა, ცვლილება განზრახულზე უფრო ფართო იყო. სერთიფიკატების ვალიდაცია უცვლელად შეინარჩუნეთ მთელი დროის განმავლობაში, რადგან სწორად გადაწყვეტილ სახელს მაინც უნდა შეესაბამებოდეს სერვისის მიერ წარდგენილი სერთიფიკატი.

ბილეთში ჩაწერეთ უარყოფილი პასუხი, დომენი, რეზოლვერი და ვისაც ეკუთვნის პოლიტიკა. სწორედ ეს ჩანაწერი აქცევს გამოცანურ შიდა გათიშვას კონფიგურაციის ცვლილებად, რომლის გადახედვაც ვინმეს შეუძლია.

დაკავშირებული სტატიები