hosts ფაილი როუტერის ფილტრის წინააღმდეგ: საიტის დაბლოკვა VPN-ის საშუალებით
hosts ჩანაწერი ლოკალურად პასუხობს და ნებისმიერ გვირაბს გადაურჩება. როუტერის ფილტრი მხოლოდ იმას ხედავს, რაც როუტერს კვეთს, ამიტომ ლეპტოპზე დამთავრებული VPN სახელს მალავს.
ჩანაწერი hosts ფაილში და როუტერის ფილტრი ერთსა და იმავე საიტს სრულიად განსხვავებული მიზეზებით ბლოკავს, ამიტომ ერთი VPN-ის ქვეშ აგრძელებს მუშაობას, მეორე კი ჩუმად ჩერდება. hosts ფაილი სახელს პასუხობს მანამ, სანამ რომელიმე პაკეტი დატოვებს მანქანას. როუტერის ფილტრი ამოწმებს ტრაფიკს, რომელიც მასში გადის. ამ ორ წერტილს შორის გვირაბი ჩადეთ და მეორე დაკარგავს ხედვას, პირველი კი ვერაფერს შეამჩნევს.
სად ილახება სახელი, ყველაფერს წყვეტს
ყოველი ბლოკირება კითხვით იწყება: ვინ აქცევს სახელს მისამართად? ჩვეულებრივ დესკტოპზე პასუხს სისტემის გამხსნელი იძლევა, რომელიც თავის დაყენებულ რიგს მიჰყვება და ჩვეულებრივ hosts ფაილს კითხულობს DNS-ისთვის კითხვამდე. გაფილტრულ ქსელში პასუხი შეიძლება როუტერმა გასცეს, რომელიც შეკითხვას მხოლოდ მაშინ ხედავს, როცა კლიენტი მას დაცვის გარეშე ატარებს მის გავლით. შეცვალეთ გზა და შეცვლით, ვის აქვს პასუხის უფლება.
VPN აქ ორ რამეს ერთდროულად აკეთებს: გადაადგილებს ნაგულისხმევ მარშრუტს და შეიძლება თავისი DNS სერვერი მოგვახვიოს. ამ ორიდან რომელიმე საკმარისია, რომ სახელის გამხსნელობა მოშორდეს იმ მოწყობილობას, რომელიც ბლოკირებას ახდენდა.
ესაა იმ ნაცნობი ჩივილის მექანიზმი, რომ ფილტრი მუშაობს მანამ, სანამ VPN არ დაუკავშირდება.
hosts ჩანაწერი პასუხობს მანამ, სანამ გვირაბი არსებობს
127.0.0.1 www.example.com-ის მსგავს ხაზს ლოკალური გამხსნელი კითხულობს, ამიტომ პასუხი მანქანაზე იქმნება ქსელის მონაწილეობის გარეშე. დაუკავშირეთ გვირაბი, შეცვალეთ DNS სერვერი, შეცვალეთ ქსელები: ჩანაწერი მაინც loopback-ს აბრუნებს. ამიტომ hosts-ით ბლოკირება ამ ორიდან ერთადერთია, რომელზეც გავლენას არ ახდენს VPN-ის დასრულების ადგილი.
მისი ბრმა ლაქებიც თანაბრად ლოკალურია. აპლიკაცია, რომელსაც თავისი გამხსნელი მოაქვს, DNS over HTTPS-ს ლაპარაკობს ან ლიტერალურ მისამართს უკავშირდება, სისტემას არასოდეს ეკითხება, ამიტომ ჩანაწერი არ განიხილება. მიმდინარე პროცესში ქეშირებულ მისამართს იგივე ეფექტი აქვს, სანამ ეს პროცესი ხელახლა არ გაეშვება.
დაადასტურეთ პასუხი getent ahosts-ით Linux-ზე ან Resolve-DnsName-ით Windows-ზე, ბრაუზერის ჩანართზე დაყრდნობის ნაცვლად.
როუტერის ფილტრი მხოლოდ იმას ხედავს, რაც მასში გადის
სახლის როუტერზე კონტენტის ან URL ფილტრი ემთხვევა სახელებსა და მოთხოვნებს, რომლებიც მასში წაკითხვადი ფორმით გადიან. როცა კლიენტი დაშიფრულ გვირაბს აშენებს სხვაგან მდგარ სერვერთან, როუტერი ხედავს ერთ ნაკადს იმ სერვერისკენ და არაფერს მის შიგნით. ფილტრს შესადარებელი სახელი არ აქვს, ამიტომ ტრაფიკს უშვებს, და ეს ისე გამოიყურება, თითქოს ფილტრი ვერ შეძლო, და არა თითქოს ის აუარეს.
მომუშავე ტოპოლოგია მეორეა: როუტერი თვითონ ფლობს გვირაბს, ბოლო წერტილში შიფრს ხსნის და იქვე იყენებს ფილტრს. ამ დიზაინში ფილტრი იქ ზის, სადაც ღია ტექსტი ჩნდება.
თუ გვირაბი ლეპტოპზე სრულდება, როუტერი განსაზღვრებით დაცული გზის გარეთაა, როგორც არ უნდა იყოს წესი დაწერილი.
ოთხი აღსრულების წერტილი და რას კარგავს თითოეული
ოთხ ადგილს შეუძლია ბლოკირების აღსრულება და თითოეული სხვანაირად ცდება. სია წაიკითხეთ როგორც დაფარვის რუკა და არა როგორც რეიტინგი.
- hosts ფაილი ან ლოკალური გამხსნელი: მუშაობს ოფლაინ და ნებისმიერი გვირაბის ქვეშ, მაგრამ გვერდს უვლის ჩაშენებული გამხსნელი ან მყარად ჩაწერილი მისამართი.
- DNS ფილტრაცია VPN კარიბჭეზე: ფარავს კლიენტებს, რომლებიც მოხვეულ გამხსნელს იყენებენ, და ტოვებს მათ, ვინც DNS-ს გვერდს უვლის.
- კარიბჭის გასასვლელი წესები მისამართით ან SNI-ით: დამოუკიდებელია კლიენტის DNS-ისგან, მაგრამ ბრმაა იმ სახელების მიმართ, რომელთა წაკითხვაც არ შეუძლია, და იმ მისამართების მიმართ, რომლებიც არ უსწავლია.
- მართული ბრაუზერის ან მოწყობილობის პოლიტიკა: ძლიერია მართულ ტექნიკაზე, არ არსებობს პირად მოწყობილობებზე.
არცერთი ეს არ არის უსაფრთხოების ზღვარი მოუმართავ მოწყობილობაზე მიზანდასახული მომხმარებლის წინააღმდეგ. ეს პოლიტიკის კონტროლია და პატიოსანი აღწერა ამბობს, რომელ ტრაფიკს ფარავს თითოეული სინამდვილეში.
შეარჩიეთ ის ფენა, რომელიც განზრახვას შეესაბამება: სახლის კომფორტი მოწყობილობას ეკუთვნის, ხოლო ორგანიზაციული წესი კარიბჭეს.
სანამ დასრულებულს უწოდებთ, ორივე მდგომარეობა გამოსცადეთ
გაუშვით იგივე სამი ბრძანება VPN-ის ჩართული და გამორთული მდგომარეობით: getent ahosts გამხსნელის პასუხის სანახავად, nslookup იმის სანახავად, რას აბრუნებს შეკითხვა, და curl -I საიტის წინააღმდეგ იმის სანახავად, ჯერ კიდევ სრულდება თუ არა კავშირი. თუ პირველი loopback-ს აბრუნებს და მესამე ნამდვილ მისამართს უკავშირდება, რაღაცამ გვერდი აუარა გამხსნელს და hosts ჩანაწერი ის კონტროლი არ არის, რომელიც გგონიათ.
როუტერზე წაიკითხეთ ფილტრის მრიცხველები მოთხოვნამდე და მის შემდეგ. მრიცხველი, რომელიც არასოდეს იძვრება, ნიშნავს, რომ ტრაფიკი ფილტრს არასოდეს მიუღწევია, და ეს მარშრუტიზაციის პასუხია და არა წესის პასუხი.
შედეგი ტოპოლოგიასთან ერთად ჩაიწერეთ, რადგან VPN-ის შემდეგი ცვლილება გზას კვლავ გადაადგილებს.