Pse ndryshojnë rezultatet e skanimit të porteve pas një daljeje VPN?
Ndryshoni daljen dhe një port mund të përgjigjet ndryshe pa u zhvendosur shërbimi. Ndani vëzhgimin e rrugës nga inventari që ju nevojitet vërtet.
Ekzekutoni të njëjtin kontroll porti nga një linjë zyre dhe nga një dalje VPN, dhe dy përgjigjet mund të mos biem dakord për një adresë që askush nuk e ndryshoi. Ky hendek vjen nga rruga dhe nga cili host u përgjigj, jo nga fakti nëse shërbimi është ndezur apo fikur. Tre pyetje i ndajnë këto shpjegime: çfarë pyeti vërtet sonda, cili host u përgjigj dhe çfarë regjistroi serveri juaj. Kalojini në atë rend dhe shkruani çdo përgjigje përpara se të kaloni në tjetrën.
Rregulloni sondën përpara se të krahasoni dy ekzekutime
Një fjalë gjendjeje është e krahasueshme me një fjalë tjetër gjendjeje vetëm kur të dyja vijnë nga i njëjti eksperiment. Pesë fusha e fiksojnë këtë: adresa e burimit që pa ana e largët, destinacioni i zgjidhur, porti, lloji i skanimit dhe koha. Ndryshoni secilën prej tyre dhe keni bërë një eksperiment të dytë në vend që të matni të parin dy herë.
Kontrolloni burimin para çdo gjëje tjetër, sepse një klient VPN mund të jetë i ndezur ndërsa trafiku ende del përmes ndërfaqes fizike. Pyetni anën e largët se çfarë sheh, pastaj pyetni kernelin cilën ndërfaqe zgjodhi:
curl -s https://ifconfig.me
ip route get 203.0.113.20Dy adresa në rrjete të ndryshme do të thotë që shpjegimi është tashmë në dorë, dhe pjesa tjetër e këtyre kontrolleve thjesht do ta konfirmojë. Kur përputhen, regjistroni sondën me flamurin e arsyes ndezur, që gjendja të kthehet e lidhur me një shpjegim në vend që të qëndrojë vetëm si fjalë e zhveshur. Lloji i skanimit gjithashtu i përket atij regjistri, sepse përshkruan çfarë u kërkua, jo çfarë u kthye. Një gjendje pa burim, pa metodë dhe pa vulë kohore nuk mund të krahasohet me asgjë:
nmap -sT -p 443,8443 --reason 203.0.113.20Mbajeni atë dalje pranë regjistrit dhe jo në një bufer rrëshqitjeje që personi tjetër nuk mund ta shohë. Dy skanime të ndershme që nuk përputhen janë debat vetëm kur askush nuk i shkroi kushtet. Me kushtet të fiksuara, ose rezultatet përputhen dhe pyetja mbyllet, ose ato ndryshojnë dhe ndryshimi është një fakt për rrugën.
Zbuloni cili host përfundoi shtrëngimin e duarve
Një shtrëngim duarsh i përfunduar dëshmon se një host e përfundoi atë, dhe ai host nuk duhet të jetë procesi që keni në mendje. Një balancues ngarkese, një proxy i kundërt ose një proxy SYN mund të përgjigjen përpara se serveri i vërtetë të përfshihet, që është dizajn i zakonshëm dhe jo simptomë. Një certifikatë e vlefshme për emrin e pritur nuk e ngushton këtë gjithashtu, sepse një certifikatë përshkruan një marrëdhënie shërbimi dhe nuk thotë asgjë se cila makinë e përfundoi lidhjen.
Referenca e Nmap për gjendjet e porteve e trajton këtë si bazë: një gjendje regjistron atë që një sondë mund të vëzhgonte nga vendi ku u dërgua, jo një veti e portit. Lexoni një fjalë gjendjeje kështu dhe dy ekzekutime që nuk përputheshin fillojnë të duken konsekuente në vend të kundërthënëse, ndërsa pyetja kalon nga a është i hapur porti në kush qëndronte përpara tij.
Përgjigjuni pyetjes së dytë në backend dhe jo nga jashtë. Një frontend që pranon lidhje dhe pastaj nuk arrin upstream-in e vet prodhon saktësisht pamjen e jashtme të një shërbimi të shëndoshë me një aplikacion të ngadaltë. Vetëm regjistri i upstream-it vetë i ndan dy rastet:
tail -n 5 /var/log/nginx/access.log
ss -ltnp 'sport = :443'Rreshti i logut tregon adresën e klientit që aplikacioni pa vërtet, dhe komanda e dytë tregon nëse procesi që mban portin 443 është aplikacioni juaj apo diçka përpara tij. Nëse ata të dy nuk përputhen se cila adresë u lidh, po shikoni dy këmbë të një kërkese dhe bileta duhet ta thotë këtë.
Kontrolloni rregullat tuaja përpara se të fajësoni tunelin
Politika e qëllimshme është arsyeja më e zakonshme që një port përgjigjet në një rrjet dhe jo në një tjetër, dhe është shpjegimi më pak interesant i disponueshëm. Rregullat e aksesit ekzistojnë për të lejuar një burim dhe për të hedhur poshtë pjesën tjetër, kështu që një ndryshim i daljes është pikërisht ngjarja për të cilën u shkruan. Prandaj një gjendje tjetër përmes VPN nuk tregon se ofruesi inspekton trafikun. Tregon se adresa juaj e burimit tani është e ndryshme, që është një pohim shumë më i vogël.
Këto rregulla mund të lexohen në server, prandaj lexojini ato në vend që të spekuloni për mesin e rrjetit. Listoni rregullat e filtrit që përmendin njërin nga dy intervalet e adresave, pastaj kontrolloni nëse lidhja arriti fare te daemoni:
nft list ruleset | grep -n -e 203.0.113 -e 198.51.100
journalctl -u sshd -n 50 | grep 203.0.113Një rezultat i dytë bosh është informativ, sepse asgjë nuk arriti te daemoni dhe pyetja i përket një filtri, një grupi sigurie ose vetë rrugës. Një goditje do të thotë që shërbimi pa burimin tuaj dhe zgjodhi përgjigjen e vet, dhe ai vendim zakonisht është shkruar në një rregull që mund ta lexoni. Asnjëri rezultat nuk mbështet një histori për ofruesin, dhe të dyja janë më të lira për t'u kontrolluar sesa një kapje paketash.
Lexoni transportin, certifikatën dhe përgjigjen veçmas
Tre shtresa prodhojnë tre vëzhgime, dhe një sondë që teston njërën prej tyre nuk mund të raportojë për dy të tjerat. Mbani si rreshta të veçantë në regjistër në vend që t'i palosni në një verdikt të vetëm, sepse çdo rresht dështon në mënyrën e vet dhe mënyra e dështimit ju tregon ku të shikoni më pas.
| Observation | What it settles | What it leaves open |
|---|---|---|
| Connection completed | A host on the path accepted the handshake | Which host, and whether its upstream is reachable |
| Certificate valid for the name | The endpoint holds a credential for that name | Whether the process behind it is the one you meant |
| Expected response body | The application handled the request | Anything about other ports or other paths |
| Connection refused | A host replied and nothing was listening | Whether a filter sits ahead of the refused port |
| Timeout | No reply arrived before the deadline | Drop, blackhole route or an overloaded host |
Një komandë e vetme prodhon tre rreshtat e parë kundër një shërbimi që ju kontrolloni. Vendosni daljen e saj në regjistër pranë skanimit dhe jo në një mesazh bisede:
curl -v --resolve office.example:443:203.0.113.20 https://office.example/Lexoni daljen sipas rendit: shtrëngimi i duarve i përgjigjet pyetjes së transportit, subjekti i certifikatës pyetjes së emrit dhe trupi i përgjigjes pyetjes së aplikacionit. Kur rreshti i shtrëngimit të duarve ka sukses dhe rreshti i përgjigjes jo, keni një frontend me upstream të thyer dhe jo një port të bllokuar. Kjo është një biletë tjetër nga ajo që hapët, dhe ia vlen të thuhet qartë.
Përfundoni duke shkruar katër fakte në biletë: adresa e burimit, lloji i skanimit, hosti që u përgjigj dhe koha. Gjithçka që i nevojitet një krahasimi të mëvonshëm jeton në ato katër, dhe kushdo që e merr çështjen më pas nuk do të ketë historinë e terminalit tuaj. Nëse nuk mund t'i plotësoni të katërtat, ekzekutimi nuk ka përfunduar.