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 порт күйлерінің анықтамалығы мұны негізгі деп санайды: күй зонд жіберілген жерден нені байқай алғанын жазады, порттың қасиетін емес. Күй сөзін осылай оқыңыз, сонда келіспеген екі жүгіріс қарама-қайшы емес, дәйекті көріне бастайды, ал сұрақ порт ашық па дегеннен оның алдында кім тұрғанына ауысады.
Екінші сұраққа сырттан емес, бэкендте жауап беріңіз. Қосылымдарды қабылдап, содан кейін өзінің жоғары ағынына жете алмайтын фронтенд баяу қолданбасы бар сау қызметтің дәл сыртқы бейнесін жасайды. Тек жоғары ағынның өз жазбасы екі жағдайды ажыратады:
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/Шығысты ретімен оқыңыз: қол алысу транспорт сұрағына жауап береді, сертификат субъектісі атау сұрағына, ал жауап денесі қолданба сұрағына. Қол алысу жолы сәтті болып, жауап жолы сәтсіз болғанда, сізде бұзылған жоғары ағыны бар фронтенд бар, бірақ бұғатталған порт жоқ. Бұл сіз ашқан билеттен өзгеше билет, және мұны ашық айту керек.
Билетке төрт факті жазумен аяқтаңыз: бастапқы мекенжай, скандау түрі, жауап берген хост және уақыт. Кейінгі салыстыруға қажет нәрсенің бәрі осы төртеуінде өмір сүреді, ал істі келесі алатын адамда сіздің терминал тарихыңыз болмайды. Егер төртеуін толтыра алмасаңыз, жүгіріс аяқталған жоқ.