MikroTik VPN მომხმარებელი ზედმეტად შორს აღწევს: შეზღუდეთ ერთ ჰოსტზე და ერთ პორტზე
PPP პროფილს შეუძლია მინიჭებული გვირაბის მისამართი მისამართების სიაში ჩასვას, ხოლო ერთი ნახტომის ჯაჭვს შეუძლია ჩამოგდებამდე ერთი ჰოსტისა და პორტის დაშვება.
გვირაბი ადის, შესვლა წარმატებით სრულდება და ქსელის ყველა ჰოსტი პასუხობს. ეს გატეხილი VPN არ არის; ეს VPN არის ნებართვების მოდელის გარეშე. RouterOS ამოწმებს ანგარიშს და შემდეგ მის პაკეტებს ყველას პაკეტებივით მარშრუტიზაციას უკეთებს, ამიტომ ზღვარი firewall-მა უნდა მოგვცეს. ამ ზღვრის დამატება შესვლის გატეხვის გარეშე მთელი სამუშაოა.
ავთენტიფიკაცია მთავრდება იქ, სადაც ნებართვა იწყება
PPP სესიის აწევისთანავე კლიენტის პაკეტები forward ჯაჭვში შედის, როგორც ნებისმიერი სხვა ინტერფეისის ტრაფიკი. თუ როუტერის forward პოლიტიკა ნებადართულია, კონსულტანტი შესვლისას ამ ნებადართულობას მემკვიდრეობით იღებს. ანგარიშს არასოდეს ჰქონია მოცულობა, ამიტომ ანგარიშზე შესაცვლელი არაფერია. წესების ნაკრები თანამშრომლებისთვის დაიწერა და ახალი სესია უბრალოდ შეუერთდა მას.
სანამ რამეს დაწერთ, შეამოწმეთ მოთხოვნა რომელ გზას ეხება. როუტერის უკან მდებარე ჰოსტებისკენ ტრაფიკი forward-ს გადის, ხოლო თავად როუტერისკენ ტრაფიკი, winbox-ისა და SSH-ის ჩათვლით, input-ს გადის. მხოლოდ forward-ს დამფარველი მოცულობა მოწყობილობას იმავე კლიენტისთვის ღიად ტოვებს.
ორივე ჯაჭვს გადაწყვეტილება სჭირდება, თუნდაც გადაწყვეტილება იყოს input-ის დახურულად დატოვება. ეს არჩევანი წვდომის მოთხოვნას ეკუთვნის და არა გვიანდელ ფიქრს.
მიამაგრეთ სესია დასახელებულ სიას
PPP პროფილს შეუძლია სესიის დაწყებისას გაცემული მისამართი დასახელებულ მისამართების სიაში ჩასვას. ეს გარდამავალ გვირაბის მისამართს აქცევს იმად, რისი შედარებაც firewall-ს სახელით შეუძლია, და ჩანაწერი ქრება სესიის დასრულებისას. შემდეგ ანგარიში მოცულობას თავისი პროფილიდან მემკვიდრეობით იღებს და არა წესიდან, რომელიც მისამართს მკაცრად კოდირებს.
ჯერ შექმენით პროფილი, შემდეგ secret ცხადად მიაბით მას. secret, რომელიც ჯერ კიდევ ნაგულისხმევ პროფილზე მიუთითებს, თავდაპირველ პრობლემას ამრავლებს.
დაასახელეთ პროფილი და სია ისე, რომ მათი ამოცანები აშკარა იყოს, და ორივეს მოთხოვნის მითითებით კომენტარი დაურთეთ. ერთი პროფილი იმავე მოცულობით რამდენიმე ადამიანს მოემსახურება, სია კი კვლავ ყოველ ცოცხალ სესიას ამოიცნობს. ეს თითო ადამიანზე ერთ წესზე იაფია გადასამოწმებლად.
/ppp profile add name=scoped-consultant remote-address=consultant-pool address-list=vpn-scoped-clients
/ppp secret add name=consultant password=... service=ovpn profile=scoped-consultant
დაუშვებელი სერვისი ერთ სიაში ჩაწერეთ
დაშვებული სერვერი საკუთარ მისამართების სიაში ჩასვით, ნაცვლად იმისა, რომ მისამართი ფილტრის წესში ჩაშენდეს. სია აუდიტირებადი, გაფართოებადი და კომენტირებადია, და მისი მომხმარებელი წესი არ იცვლება, როცა სერვერი გადაადგილდება. ერთი ჩანაწერი ზედმეტი ჩანს, სანამ მეორე ჰოსტი მოვა, რაც ჩვეულებრივ ხდება.
სიას დაუკავშირეთ, როცა მისამართი დინამიური ან დატვირთვით განაწილებულია, და მისამართს პირდაპირ დაუკავშირეთ, როცა ის დაჯავშნილი და სტაბილურია. ნებისმიერი არჩევანი ნათლად იკითხება, თუ კომენტარი სერვისსა და მფლობელს ასახელებს.
შეზღუდეთ პროტოკოლი და პორტი ისევე, როგორც ჰოსტი. პორტის შეზღუდვის გარეშე ჰოსტისთვის accept ხსნის ყველა სერვისს, რომელსაც ეს ჰოსტი უშვებს, რაც უფრო ფართოა, ვიდრე წვდომის მოთხოვნების უმეტესობა გულისხმობს. პორტი ნებართვის ნაწილია და არა დეტალი, რომელიც მოგვიანებით დაემატება.
/ip firewall address-list add list=vpn-targets address=10.0.0.10 comment="consultant RDP target"
ნახტომი ნებისმიერ ფართო accept-ზე ადრე განალაგეთ
ნახტომის წესი გადამისამართებულ ტრაფიკს შეზღუდული სიიდან კერძო ჯაჭვში აგზავნის, სადაც მთელი პოლიტიკა სამ ხაზში ეტევა. პირველი წესი დაშვებულ დანიშნულებასა და პორტს იღებს, ბოლო კი დანარჩენს ყრის. ნახტომი forward-ში ნებისმიერ ფართო accept-ზე მაღლა უნდა იყოს, რადგან ადრე მოცემული accept ნიშნავს, რომ ნახტომი არასოდეს შესრულდება. established და related accept ნახტომამდე შეინახეთ, რათა დაბრუნებული ტრაფიკი კვლავ მიედინებოდეს.
შეამოწმეთ, რომ არც ერთი fasttrack წესი ვერ გაიტანს ამ ტრაფიკს შეზღუდული ჯაჭვის გვერდით. Fasttrack ფილტრის გზის დანარჩენ ნაწილს გვერდს უვლის, და fasttrack-ქცეული შეზღუდული სესია საერთოდ არ არის შეზღუდული.
გაიმეორეთ გადაწყვეტილება input ჯაჭვისთვის, თუ თავად როუტერის სერვისები მიუწვდომელი უნდა იყოს. მოცულობა, რომელიც გადამისამართებულ ტრაფიკს ბლოკავს და winbox-ს ღიად ტოვებს, მხოლოდ ნახევრადაა დასრულებული.
/ip firewall filter
add chain=forward action=jump jump-target=scoped-vpn src-address-list=vpn-scoped-clients
add chain=scoped-vpn action=accept protocol=tcp dst-address-list=vpn-targets dst-port=3389
add chain=scoped-vpn action=drop
გადაამოწმეთ მრიცხველებითა და სიის წევრობით
კლიენტიდან გამოსცადეთ დაშვებული სერვისი და ერთი, რომელიც უნდა ჩავარდეს, შემდეგ წაიკითხეთ წესების სტატისტიკა როუტერზე. accept და drop მრიცხველები აჩვენებენ, რომელი გზა გაიარა თითოეულმა პაკეტმა, რასაც კლიენტი ვერ ხედავს. ასევე დაადასტურეთ, რომ ცოცხალი სესიის მისამართი შეზღუდულ სიაში გამოჩნდა.
ცარიელი სია ნიშნავს, რომ ანგარიში სხვა პროფილზეა ან პროფილმა მისამართების სიის პარამეტრი დაკარგა. მზარდი drop მრიცხველი ჩავარდნილი დაშვებული სერვისის დროს ნიშნავს, რომ დანიშნულება ან პორტი არ ემთხვევა იმას, რასაც კლიენტი აგზავნის.
სანამ რამეს დაასკვნით, იგივე სერვისი სახელითაც და მისამართითაც გამოსცადეთ. სახელის გარჩევის ჩავარდნა კლიენტის მხრიდან ზუსტად დაბლოკილ პორტს ჰგავს. შემდეგ პროფილი, ორივე სია და ერთადერთი დაშვებული სერვისი წვდომის მოთხოვნაში ჩაწერეთ, რათა შემდეგი გადახედვა აღდგენის ნაცვლად შეადაროს.
/ip firewall filter print stats where chain=scoped-vpn
/ip firewall address-list print where list=vpn-scoped-clients