სად დავაკვირდეთ OpenVPN კლიენტის ტრაფიკს კარიბჭეზე
მარშრუტიზებული VPN კარიბჭე პაკეტებს გადასცემს მათთვის სოკეტების გახსნის გარეშე. აირჩიეთ conntrack, გვირაბის შეზღუდული ჩაწერა ან პროქსის ჟურნალები იმის მიხედვით, სად მიდის ნაკადი.
გსურთ იცოდეთ, რომელ დანიშნულებებს აღწევს დაკავშირებული კლიენტი, ამიტომ VPN სერვერზე shell-ს ხსნით და აკრიფებთ ss. არაფერი სასარგებლო არ ჩანს და დასკვნა, რომ გვირაბი გატეხილია, ცოტა მეტისმეტად იოლად მოდის. მარშრუტიზებული OpenVPN კარიბჭე კლიენტის პაკეტებს გადასცემს; ის არ ამთავრებს მათ TCP კავშირებს და არ ფლობს მათთვის სოკეტებს. მტკიცებულება სხვაგან ცხოვრობს და სად, დამოკიდებულია იმაზე, როგორ მუშავდება ტრაფიკი გვირაბიდან გასვლის შემდეგ.
გადაწყვიტეთ, რომელ განლაგებას უყურებთ
ორი გავრცელებული ფორმა სრულიად განსხვავებულ მტკიცებულებას იძლევა. მარშრუტიზებული კარიბჭე დეკაფსულირებას აკეთებს, გადასცემს და შესაძლოა წყაროს NAT-საც ასრულებს, ამიტომ კლიენტის კავშირი ბოლომდე არსებობს ლოკალური სოკეტის გარეშე.
პროქსი ტრაფიკს ამთავრებს: ის იღებს კავშირს და შემდეგ ხსნის თავის საკუთარ ზედა დინების კავშირს. ამ განლაგებაში ერთი მოთხოვნისთვის ორი კავშირია და მათ შორის კავშირი მხოლოდ პროქსის საკუთარ ჩანაწერებში არსებობს. იმის ცოდნა, რომელი ჩაუშვით, განსაზღვრავს, უნდა წაიკითხოთ თუ არა ბირთვის ნაკადის მდგომარეობა თუ აპლიკაციის ჟურნალები.
აღრევის უმეტესობა გამოცნობიდან მოდის. ხელსაწყოს არჩევამდე დაადასტურეთ ფორმა. ჯერ წაიკითხეთ სერვერის კონფიგურაცია პროქსის მითითების საძებნელად, რადგან მისი არსებობა ცვლის ყველა შემდგომ ნაბიჯს. მის გარეშე პაკეტების ბილიკი მარშრუტიზაციაა და ბირთვის ნაკადის მდგომარეობა თქვენი მტკიცებულებაა.
ჯერ მისამართი დააკავშირეთ სესიას
დაიწყეთ სერვერის სესიების მდგომარეობიდან და დაადგინეთ კლიენტის მიმდინარე შიდა მისამართი. პულის მისამართები გადამუშავდება, ამიტომ მისამართი თავისთავად იჯარაა და არა ადამიანი.
ერთად ჩაწერეთ დრო და ავთენტიფიცირებული იდენტობა და გაითვალისწინეთ, იმალება თუ არა მთელი ლოკალური ქსელი ამ კლიენტის უკან. თუ შორეული მხარე ქვექსელს მარშრუტიზებს, თქვენ მიერ დანახული შიდა მისამართები შეიძლება იყოს თავდაპირველი ჰოსტები ან თარგმნილი.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40ეს წყვილი ერთდროულად ორ კითხვას პასუხობს: რომელ პრეფიქსს ემსახურება გვირაბის ინტერფეისი და რომელი სესია იყო აქტიური თქვენთვის საინტერესო ინტერვალში. ეს გააკეთეთ ნებისმიერი ნაკადის ჩანაწერის ინტერპრეტაციამდე, რადგან არასწორ სესიაზე მიმაგრებული დამაჯერებელი tuple უარესია, ვიდრე საერთოდ არავითარი მტკიცებულება.
წაიკითხეთ ნაკადების ცხრილი მარშრუტიზებულ კარიბჭეზე
მისამართისა და ინტერვალის დადგენის შემდეგ, თვალთვალის ქვეშ მყოფი კავშირების მხოლოდ-წაკითხვის სია აჩვენებს, რას გადასცემს კარიბჭე მისთვის. გაფილტრეთ თავდაპირველი წყაროს მიხედვით, რომ მთელი ცხრილი არ წაიკითხოთ.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37თითოეული ჩანაწერი ორ tuple-ს ინახავს, თავდაპირველსა და პასუხს, რომლებიც ერთი ნაკადის ორი მიმართულებაა და არა ორი აპლიკაცია. წყაროს NAT ბილიკზე თავდაპირველი tuple ინარჩუნებს გვირაბის მისამართს, ხოლო პასუხის მხარე აჩვენებს კარიბჭის თარგმნილ მისამართს, და სწორედ ეს ხდის გამოსავალს ერთი შეხედვით არასწორად.
მოეპყარით სიას, როგორც ცოცხალ მდგომარეობას და არა ისტორიას. მოკლე ნაკადები შეიძლება უკვე გასული იყოს, მიუდევნელი ტრაფიკი არასოდეს ჩნდება და სხვა ქსელური სახელების სივრცე სხვა ცხრილს აჩვენებს. conntrack-ის ცნობარი აღწერს ფილტრებსა და ორმხრივ გამოსავალს.
ერთი შეზღუდული ჩაწერა წაკითხვის დასადასტურებლად
თუ გვირაბის ინტერფეისი ჩანს იქ, სადაც იყურებით, ერთი შეზღუდული ჩაწერა წყვეტს, არის თუ არა თქვენ მიერ გამოვლენილი პაკეტები ის, რაც მავთულზეა. შეინახეთ ფილტრი ვიწრო და პაკეტების ზღვარი მცირე.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'შეადარეთ დროის ნიშნები, პროტოკოლი და პორტები ნაკადის ჩანაწერს და იმ მოთხოვნას, რომელიც ტესტად გააკეთეთ. NAT-ის შემდეგ აღებული ჩაწერა მხოლოდ კარიბჭის საჯარო მისამართს აჩვენებს, ხოლო გვირაბის მხარეს შეიძლება ისევ კლიენტის მისამართი ჩანდეს, და ეს სხვაობა ინფორმაციაა და არა შეუსაბამობა.
თუ ინტერფეისს არაფერი არ უჩანს, შეამოწმეთ მონაცემთა ბილიკი სანამ დაასკვნით, რომ კლიენტი უმოქმედოა: კლიენტ-კლიენტ ტრაფიკი და ზოგიერთი დატვირთვის განმუხტვის ბილიკი არასოდეს გადის იმ წერტილზე, რომელსაც აკვირდებით.
პროქსის ჟურნალები და ნანახის საზღვრები
როცა პროქსი ბილიკზეა, მისი ზედა დინების სოკეტები ჩანს სოკეტების ცხრილში, მაგრამ ისინი ერთი-ერთზე არ აისახება VPN კლიენტებზე, განსაკუთრებით დაჯგუფების ან მულტიპლექსირებისას. გამოიყენეთ პროქსის კონფიგურირებული ტრანზაქციის ჟურნალი კლიენტის იდენტობის, დანიშნულების, დროის ნიშნისა და ჩაწერილი ნებისმიერი მოთხოვნის იდენტიფიკატორის დასაკავშირებლად.
შეამოწმეთ განლაგებული ვერსიის ლოგირების კონფიგურაცია, ნაცვლად იმისა, რომ ჩათვალოთ, თითქოს ყველა მოთხოვნა ნაგულისხმევად იწერება.
ბოლოს, იყავით ზუსტი მოცულობის საკითხში. დანიშნულების მისამართი და პორტი მეტამონაცემებია, არა URL და არა გვერდის შიგთავსი, რადგან შიდა HTTPS სესია ინარჩუნებს საკუთარ დაცვას გვირაბის მიუხედავად. შეატყობინეთ, რას დააკვირდით, რომელი დაკვირვების წერტილიდან და რომელ დროს.