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

მდგომარეობა დამთხვევის პირობაა და არა განაჩენი

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

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

წაიკითხეთ წესი მის გარემოში

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

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

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

გამოხატეთ აკრძალვა მდგომარეობისგან დამოუკიდებლად

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

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

პოლიტიკა, რომელიც განზრახ უშვებს პასუხებს WAN-ის გავლით დისტანციურად დაწყებულ წვდომაზე, დასაცავია. უბრალოდ ასე უნდა აღიწეროს და არა წარმოდგეს როგორც სრული იზოლაცია მხოლოდ გვირაბით.

შეამოწმეთ, ვინ არის სინამდვილეში ჯგუფში

მაგალითი მოიცავს გადამისამართებულ IPv4 ტრაფიკს ერთი პრეფიქსიდან ერთი ინტერფეისით. ის არაფერს ამბობს IPv6-ზე, მეორე აღმავალ ხაზზე ან ტრაფიკზე, რომელსაც თავად მარშრუტიზატორი ქმნის. DNS-ის გადამწყვეტის როლში მოქმედი მარშრუტიზატორი აგზავნის საკუთარ ზედა დონის მოთხოვნებს და ისინი საერთოდ არ გადიან forward ჯაჭვში.

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

iptables -S FORWARD
iptables -L FORWARD -v -n
cat /proc/net/nf_conntrack | grep -c ESTABLISHED

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

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