Ինչու են VPN ելքի հետևում պորտերի սկանավորման արդյունքները փոխվում?
Փոխեք ելքը, և պորտը կարող է այլ կերպ պատասխանել առանց ծառայության շարժվելու։ Առանձնացրեք ուղու դիտարկումը այն գույքագրից, որն իսկապես պետք է ձեզ։
Գործարկեք նույն պորտի ստուգումը գրասենյակային գծից և VPN ելքից, և երկու պատասխանները կարող են տարբերվել մի հասցեի շուրջ, որը ոչ ոք չի փոխել։ Այդ բացը գալիս է երթուղուց և նրանից, թե որ հոսթն է պատասխանել, ոչ թե ծառայության աշխատելուց։ Երեք հարց բաժանում են այդ բացատրությունները՝ ինչ է իրականում հարցրել զոնդը, որ հոսթն է պատասխանել, և ինչ է գրանցել ձեր սերվերը։ Անցեք դրանց այդ հերթականությամբ և գրեք յուրաքանչյուր պատասխանը, նախքան հաջորդին անցնելը։
Ուղղեք զոնդը, նախքան երկու գործարկում համեմատելը
Վիճակի բառը համեմատելի է մեկ այլ վիճակի բառի հետ միայն այն դեպքում, երբ երկուսն էլ ստացվել են նույն փորձից։ Հինգ դաշտեր ամրագրում են դա՝ աղբյուրի հասցեն, որը տեսել է հեռավոր կողմը, լուծված նպատակակետը, պորտը, սկանավորման տեսակը և ժամը։ Փոխեք դրանցից որևէ մեկը և դուք երկրորդ փորձ եք կատարել՝ փոխարենը առաջինը երկու անգամ չափելու։
Ստուգեք աղբյուրը ամեն ինչից առաջ, որովհետև VPN հաճախորդը կարող է աշխատել, մինչ երթևեկությունը դեռ դուրս է գալիս ֆիզիկական ինտերֆեյսով։ Հարցրեք հեռավոր կողմին, թե ինչ է տեսնում, ապա հարցրեք միջուկին, թե որ ինտերֆեյսն է ընտրել։
curl -s https://ifconfig.me
ip route get 203.0.113.20Երկու հասցե տարբեր ցանցերում նշանակում է, որ բացատրությունն արդեն ձեռքում է, և այս ստուգումների մնացած մասը միայն կհաստատի այն։ Երբ դրանք համընկնում են, գրանցեք զոնդը պատճառի դրոշակը միացված, որպեսզի վիճակը վերադառնա կապված բացատրության հետ՝ փոխարենը մերկ բառի պես միայնակ կանգնելու։ Սկանավորման տեսակը նույնպես պատկանում է այդ գրառմանը, որովհետև այն նկարագրում է, թե ինչ են հարցրել, ոչ թե ինչ է վերադարձել։ Առանց աղբյուրի, մեթոդի և ժամանակի դրոշմանիշի վիճակը ոչնչի հետ չի կարելի համեմատել։
nmap -sT -p 443,8443 --reason 203.0.113.20Պահեք այդ ելքը գրառման կողքին, ոչ թե պտտվող բուֆերում, որը հաջորդ մարդը չի տեսնի։ Երկու ազնիվ սկանավորում, որոնք տարբերվում են, վեճ են միայն այն ժամանակ, երբ ոչ ոք չի գրել պայմանները։ Պայմանները ամրագրելուց հետո կամ արդյունքները համընկնում են և հարցը փակվում է, կամ դրանք տարբերվում են և տարբերությունը փաստ է ուղու մասին։
Պարզեք, թե որ հոսթն ավարտեց ձեռքսեղմումը
Ավարտված ձեռքսեղմումը ապացուցում է, որ ինչ-որ հոսթ ավարտել է այն, և այդ հոսթը պարտադիր չէ, որ ձեր մտքում եղած պրոցեսը լինի։ Բեռնվածքի հավասարակշռիչը, հակադարձ վստահված անձը կամ SYN վստահված անձը կարող են պատասխանել նախքան իրական սերվերի ներգրավվելը, ինչը սովորական ձևավորում է, ոչ ախտանիշ։ Սպասվող անվան համար վավեր վկայականը նույնպես չի նեղացնում դա, որովհետև վկայականը նկարագրում է ծառայության հարաբերություն և ոչինչ չի ասում այն մասին, թե որ մեքենան է ավարտել կապը։
Nmap-ի պորտի վիճակների տեղեկագիրը սա համարում է հիմնական՝ վիճակը գրանցում է, թե զոնդն ինչ կարող էր դիտարկել ուղարկման վայրից, ոչ թե պորտի հատկությունը։ Կարդացեք վիճակի բառը այդպես, և երկու գործարկում, որոնք տարբերվում էին, սկսում են հաջորդական թվալ՝ հակասականի փոխարեն, մինչ հարցը տեղափոխվում է նրանից, թե արդյոք պորտը բաց է, նրան, թե ով էր կանգնած դրա առջև։
Պատասխանեք երկրորդ հարցին backend-ում, ոչ թե դրսից։ Frontend-ը, որը ընդունում է կապերը և հետո չի հասնում իր upstream-ին, ստեղծում է հենց առողջ ծառայության արտաքին պատկերը դանդաղ հավելվածով։ Միայն upstream-ի սեփական գրառումն է բաժանում երկու դեպքերը։
tail -n 5 /var/log/nginx/access.log
ss -ltnp 'sport = :443'Մատյանի տողը ցույց է տալիս այն հաճախորդի հասցեն, որը հավելվածն իսկապես տեսել է, և երկրորդ հրամանը ցույց է տալիս՝ 443 պորտը պահող պրոցեսը ձեր հավելվածն է, թե դրա առջև ինչ-որ բան։ Եթե այդ երկուսը տարբերվում են այն հարցում, թե որ հասցեն միացավ, դուք նայում եք մեկ հարցման երկու ոտքերին, և տոմսը պետք է դա ասի։
Ստուգեք ձեր սեփական կանոնները, նախքան թունելին մեղադրելը
Դիտավորյալ քաղաքականությունը ամենատարածված պատճառն է, թե ինչու պորտը պատասխանում է մի ցանցում և ոչ մյուսում, և դա առկա բացատրություններից ամենաքիչ հետաքրքիրն է։ Մուտքի կանոնները գոյություն ունեն մեկ աղբյուր թույլատրելու և մնացածը գցելու համար, ուստի ելքի փոփոխությունը հենց այն իրադարձությունն է, որի համար դրանք գրվել են։ Այդ պատճառով VPN-ով տարբեր վիճակը չի ցույց տալիս, որ մատակարարը ստուգում է երթևեկությունը։ Այն ցույց է տալիս, որ ձեր աղբյուրի հասցեն այժմ այլ է, ինչը շատ ավելի փոքր պնդում է։
Այդ կանոնները կարելի է կարդալ սերվերի վրա, ուստի կարդացեք դրանք՝ ցանցի միջնամասի մասին ենթադրելու փոխարեն։ Թվարկեք այն զտիչ կանոնները, որոնք նշում են հասցեների երկու տիրույթներից որևէ մեկը, ապա ստուգեք՝ կապը հասել է դեյմոնին ընդհանրապես։
nft list ruleset | grep -n -e 203.0.113 -e 198.51.100
journalctl -u sshd -n 50 | grep 203.0.113Դատարկ երկրորդ արդյունքը տեղեկատվական է, որովհետև ոչինչ չի հասել դեյմոնին, և հարցը պատկանում է զտիչին, անվտանգության խմբին կամ հենց ուղուն։ Հարվածը նշանակում է, որ ծառայությունը տեսել է ձեր աղբյուրը և ընտրել իր պատասխանը, և այդ որոշումը սովորաբար գրված է կանոնում, որը կարող եք կարդալ։ Արդյունքներից ոչ մեկը չի աջակցում մատակարարի մասին պատմությանը, և երկուսն էլ ավելի էժան են ստուգել, քան փաթեթների որսը։
Կարդացեք տրանսպորտը, վկայականը և պատասխանը առանձին
Երեք շերտ ստեղծում են երեք դիտարկում, և զոնդը, որը փորձարկում է դրանցից մեկը, չի կարող հաղորդել մյուս երկուսի մասին։ Պահեք դրանք գրառման մեջ որպես առանձին տողեր՝ մեկ դատավճռի մեջ ծալելու փոխարեն, որովհետև յուրաքանչյուր տող ձախողվում է իր ձևով, և ձախողման եղանակը ասում է, թե ուր նայել հաջորդ անգամ։
| 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 |
Մեկ հրամանը ստեղծում է առաջին երեք տողերը ձեր վերահսկած ծառայության դեմ։ Դրեք դրա ելքը գրառման մեջ սկանավորման կողքին, ոչ թե զրույցի հաղորդագրության մեջ։
curl -v --resolve office.example:443:203.0.113.20 https://office.example/Կարդացեք ելքը հերթականությամբ՝ ձեռքսեղմումը պատասխանում է տրանսպորտի հարցին, վկայականի սուբյեկտը՝ անվան հարցին, իսկ պատասխանի մարմինը՝ հավելվածի հարցին։ Երբ ձեռքսեղմման տողը հաջողվում է, իսկ պատասխանի տողը՝ ոչ, դուք ունեք կոտրված upstream-ով frontend, ոչ թե արգելափակված պորտ։ Դա այլ տոմս է, քան ձեր բացածը, և արժե դա ուղիղ ասել։
Ավարտեք՝ տոմսի մեջ գրելով չորս փաստ՝ աղբյուրի հասցե, սկանավորման տեսակ, պատասխանող հոսթ և ժամ։ Ամեն ինչ, ինչ պետք է ավելի ուշ համեմատությանը, ապրում է այդ չորսում, և ով հաջորդը վերցնի գործը, չի ունենա ձեր տերմինալի պատմությունը։ Եթե չեք կարող լրացնել բոլոր չորսը, գործարկումը ավարտված չէ։