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.20

Dy 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.20

Mbajeni 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.113

Një 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.

ObservationWhat it settlesWhat it leaves open
Connection completedA host on the path accepted the handshakeWhich host, and whether its upstream is reachable
Certificate valid for the nameThe endpoint holds a credential for that nameWhether the process behind it is the one you meant
Expected response bodyThe application handled the requestAnything about other ports or other paths
Connection refusedA host replied and nothing was listeningWhether a filter sits ahead of the refused port
TimeoutNo reply arrived before the deadlineDrop, 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.

Artikuj të ngjashëm