Surové skenovanie Nmapu zlyháva cez VPN, ale pripojenie -sT funguje?
Surové skenovanie paketov a bežné TCP pripojenie vyžadujú rôzne oprávnenia. Najprv spustite kontrolu pripojenia, prečítajte každý prepínač doslova a potom sa zastavte pri výsledku.
Stránka sa načítava cez tunel, zatiaľ čo skenovanie portov hlási hostiteľa ako nedostupného, a prvý inštinkt je, že VPN niečo blokuje. Zvyčajne neblokuje nič nové. Oba testy žiadajú operačný systém o rôzne schopnosti a iba jeden z nich potrebuje surový prístup k paketom. Zistite, ktorá schopnosť zlyhala, skôr než sa dotknete tunela.
Oddeľte schopnosť od tunela
Bežná aplikácia požiada jadro o otvorenie TCP pripojenia a jadro vykoná podanie rúk bez zvláštneho oprávnenia. Surové skenovanie samo zostavuje pakety, čo vyžaduje surový socket alebo zachytávací ovládač podľa platformy. To sú otázky oprávnení a ovládačov a existujú bez ohľadu na to, či je VPN pripojená.
Tento rozdiel vysvetľuje obvyklú asymetriu. curl uspeje, pretože cesta socketu funguje, kým SYN skenovanie zlyhá, pretože proces nemôže otvoriť surový socket na rozhraní tunela. Vysvetľuje aj opačný prípad, keď surové skenovanie hlási filtrované, pretože cesta zahodí sondu, kým cesta aplikácie zostáva v poriadku.
Ani jeden výsledok neopisuje vzdialenú službu. Oba opisujú jednu cestu pod jednou metódou, preto držte metódu pripútanú k záveru.
Spustite kontrolu pripojenia na jednom schválenom hostiteľovi
Vyberte jediného hostiteľa, ktorého pokrýva vaša úloha, a potom použite režim, ktorý nevyžaduje surový prístup. Ukážkový cieľ je tu 198.51.100.24, dokumentačný priestor vyhradený pre tento druh ilustrácie.
Jeden riadok, jeden hostiteľ, jeden port, žiadna fáza objavovania:
nmap -sT -Pn -p 443 --unprivileged 198.51.100.24-sT vyberá úplné TCP pripojenie, takže prechádza tou istou cestou jadra ako aplikácia a nepotrebuje zachytávací ovládač. -Pn preskakuje objavovanie hostiteľov; nmap však stále robí rozlišovanie na linkovej vrstve pre ciele v lokálnom segmente, takže prepínač nie je prísľubom nulovej predbežnej prevádzky. --unprivileged hovorí nmapu, aby predpokladal, že nemá surové ani odpočúvacie práva, čo mení metódu a nič neudeľuje.
Čítajte každý prepínač ako jednu zmenu, nie ako opravu
Berte každú voľbu ako tvrdenie o metóde. Ani -sT, ani -Pn, ani --unprivileged nepridáva trasu, neotvára vzdialený firewall ani nevaliduje certifikát. Skenovanie pripojením tiež dokončí skutočné podanie rúk, ktoré služba zaznamená, takže schválená kontrola a neschválené prečesávanie vyzerajú zo servera rovnako okrem rozsahu a tempa. Vrstvenie volieb, kým sa výstup nezmení, je spôsob, akým sa problém metódy zapíše ako sieťový nález.
Keď výstup hovorí zatvorené, niečo odpovedalo resetom, a to je iný nález ako ticho. Keď výstup hovorí filtrované, zariadenie zahodilo sondu alebo jej odpoveď a VPN môže byť náhodná. Zapíšte presnú formuláciu, pretože verdikt fázy objavovania a zlyhanie na úrovni sondy ukazujú na rôzne vrstvy.
Ak je privilegovaný režim skutočne potrebný, vlastník platformy rozhodne, či sú oprávnenie, ovládač a usporiadanie rozhraní podporované. Povýšenie toho istého volania nemí tohto metódu.
Zastavte sa pri výsledku transportu, potom otestujte službu
Dokončené podanie rúk odpovedá na jednu otázku o jednej adrese, porte, zdroji a okamihu. Nedokazuje, že backend je zdravý, pretože vyvažovač záťaže alebo dopredná proxy môže prijať spojenie, kým aplikácia za ňou nebeží.
Pokračujte vlastným klientom služby, aby sa identita TLS a správanie aplikácie pozorovali ako oddelené fakty:
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/healthEšte jeden zvyk udrží výsledok užitočný. Zapíšte presný príkaz, použitú zdrojovú adresu a čas, pretože výsledok transportu bez tohto kontextu nemožno reprodukovať ani porovnať.
Ak certifikát uvádza hostiteľa, ktorého ste nečakali, transport fungoval a smerovanie nikdy nebolo problémom; porucha je vo virtuálnom hostingu alebo DNS. Ak podanie rúk zlyhá, zapíšte miestny chybový reťazec namiesto zovšeobecňovania o tuneli. Držte poznámku o rozsahu vedľa výsledku, pretože ďalší človek musí vedieť, ktorá metóda ho vytvorila.