Nmap-ის ნედლი სკანირება VPN-ის გავლით ვერ მუშაობს, მაგრამ -sT კავშირი მუშაობს?
ნედლი პაკეტური სკანირება და ჩვეულებრივი TCP კავშირი სხვადასხვა უფლებას მოითხოვს. ჯერ გაუშვით კავშირის შემოწმება, წაიკითხეთ თითოეული დროშა პირდაპირით მნიშვნელობით და შემდეგ გაჩერდით შედეგზე.
გვერდი გვირაბით იტვირთება, ხოლო პორტების სკანირება ჰოსტს გამორთულად აწეხებს, და პირველი ფიქრი ისაა, რომ VPN რამეს ბლოკავს. ჩვეულებრივად ის არაფერს ახალს არ ბლოკავს. ორი ტესტი ოპერაციულ სისტემას სხვადასხვა შესაძლებლობას ასხოვს და მხოლოდ ერთს სჭირდება ნედლ პაკეტებზე წვდომა. გაარკვით, რომელი შესაძლებლობა ჩავარდა, სანამ გვირაბს შეეხებთ.
გამოყავით შესაძლებლობა გვირაბისგან
ჩვეულებრივი აპლიკაცია ბირთვს TCP კავშირის გახსნას სთხოვს და ბირთვი ხელის ჩამორთმევას განსაკუთრებული უფლების გარეშე ასრულებს. ნედლი სკანირება პაკეტებს თავად აწყობს, რაც პლატფორმის მიხედვით ნედლ სოკეტს ან ჩაჭერის დრაივერს მოითხოვს. ეს ნებართისა და დრაივერების საკითხია, და არსებობს იქება VPN დაკავშირებულია თუ არა.
ეს განსხვავება ხსნის შესაღებავ ასიმეტრიას. curl წარმატებით მუშაობს, რადგან სოკეტის გზა მუშაობს, ხოლო SYN სკანირება ჩავარდება, რადგან პროცესს გვირაბის ინტერფეისზე ნედლ სოკეტს ვერ ხსნის. ის ასევე ხსნის საპირისპირო შემთხვევას, როცა ნედლი სკანირება ფილტრირებულს აწეხებს, რადგნ გზა ზონდს ყრის, ხოლო აპლიკაციის გზა კარგად რჩება.
არც ერთი შედეგი არ აღწერს დისტანციურ სერვისს. ორივე ერთ მეთოდში ერთ გზას აღწერენ, ამიტომ მეთოდი დასკვნის ერთად შეინახეთ.
გაუშვით კავშირის შემოწმება ერთ დამტკიცებულ ჰოსტზე
აირჩიეთ ერთადერთი ჰოსტი, რომელსაც თქვენი დავალება მოიცევს, შემდეგ გამოიყენეთ რეჟიმი, რომელსაც ნედლ წვდომა არ სჭირდება. მაგალითის მიზანი აქ არის 198.51.100.24, დოკუმენტაციის სივრცე, რომელიც ამიტი ტიპის ილუსტრაციისთვისაგან გათვისრებულია.
ერთი ხაზი, ერთი ჰოსტი, ერთი პორტი, აღმოცენის ეტაპის გარეშე:
nmap -sT -Pn -p 443 --unprivileged 198.51.100.24-sT სრულ TCP კავშირს აირჩევს, ამიტომ ის გადის იმავე ბირთვის გზით, რომელსაც აპლიკაცია იყენებს და ჩაჭერის დრაივერს არ მოითხოვს. -Pn ჰოსტების აღმოცენას გაატოვებს; nmap მაინც ასრულებს კავშირის დონის გავთარებას ლოკალურ სეგმენტზე მდებარე მიზანებისთვის, ამიტომ დროშა არ არის ნულოვანი წინასწარი ტრაფიკის პირდაპი. --unprivileged nmap-ს ეუბნება, რომ ჩათვალოს, თითქოს არ აქვს ნედლი ან მოსმენის უფლებები, რაც მეთოდს ცვლის და არაფერს არ აძლევს.
წაიკითხეთ თითოეული დროშა როგორც ერთი ცვლილება, და არა როგორც შეკეთება
ყოველი ოპცია მიიღეთ მეთოდის შესახებ განცხადებად. -sT, -Pn ან --unprivileged არც ერთი არ სერტავს მარშრუტს, არ ხსნის დისტანციურ ფაირვოლს და არ იმჩევს სერტიფიკატს. კავშირის სკანირება ასევე ასრულებს რეალურ ხელის ჩამორთმევას, რომელსაც სერვისი არჩევს, ამიტომ დამტკიცებული შემოწმება და დაუმტკიცებელი გადაღება სერვერიდან ერთნაირად გამოიყურება, გარდა მასშტაბისა და სისსქლეისა. ოპციების დაგროვება მანამ, სანამ გამოსავალი არ შეიცვლება, ის გზაა, რომითაც მეთოდის პრობლემა ქსელურ აღმოჩენად იწერება.
როცა გამოსავალი ამბობს დახურულს, რამეც გადატვირთვით უპასუხა და ეს სიჩუმისგან სხვა აღმოჩენაა. როცა გამოსავალი ამბობს გაფილტრულს, მოწყობილობამ ზონდი ან მისი პასუხი გადაყედა და VPN შეიძლება შემთხვევით ყოველი იყოს. ჩაიწერეთ ზუსტ ფორმულირება, რადგან აღმოცენის ეტაპის განადგეგი და ზონდის დონის ჩავარდება სხვადასხვა ფერტეზზე მიუთითებენ.
თუ განსაკუთრებული რეჟიმი ნამდვილად საშუალია, პლატფორმის მჲლე წყვეტს, მხარდახერებულია თუ არა უფლება, დრაივერი და ინტერფეისების განლაგება. იმავე გზახზება აიღებთ მის მეთოდს არ ცვლის.
შეთავეთ ტრანსპორტის შედეგზე და შემდეგ გამოცადეთ სერვისი
დასრულებული ხელის ჩამორთმევა პასუხს გესცემს ერთ კითხვას ერთ მისამართზე, პორტზე, წყაროზე და მომენტზე. ის არ ამფირმებს, რომ ბეკენდი ჯანსაღმებელია, რადგან დათვირთვის დაგენები ან წინა პროქსი შესძლებს კავშირის მიღებას, ხოლო მის უკანა მყოფი აპლიკაცია გაჩერებულია.
გააგრძეთ სერვისის სავადაგო კლიენტით, რათა TLS იდენტობა და აპლიკაციის ქცევა ცალკე ფაქტებთ დაინახოთ:
openssl s_client -connect 198.51.100.24:443 -servername staging.example.net </dev/null 2>/dev/null | openssl x509 -noout -subject -dates
curl -sS -o /dev/null -w '%{http_code}\n' https://staging.example.net/healthკიდევ ერთი ჩვევა შედეგს სასარგებლოს ხდის. ჩაიწერეთ ზუსტ ბრძანება, გამოყენებული წყარო მისამართი და დრო, რადგან ამ კონტექსტის გარეშე ტრანსპორტის შედეგი არ შეიძლება გამეორება ან შედარება.
თუ სერტიფიკატი ასახელებს ჰოსტს, რომელსაც არ ელოდთ, ტრანსპორტი მუშაობდა და მარშრუტიზაცია არასდროს პრობლემა არ ფუილა; ხარვი ვირტუალურ ჰოსტინგში ან DNS-შია. თუ ხელის ჩამორთმევა ჩავარდება, გვირაბზე გათვისების ნამდვილად დაიწერეთ ლოკალურ შეცდომის სტრიქონს. შეკუფეთ მასშტაბის შენიშნა შედეგის გვერდით, რადგან შემდეგ ადამიანს უნდა იცოდეს, რომელმა მეთოდმა შექმნა ის.