VPNсіз прокси IP-лерін айналдыру: шығу не көреді
VPNсіз прокси шығыстарын айналдырыңыз: HTTP прокси нені оқи алады, жабысқақ сессиялар бұзылған күйді қалай болдырмайды және қай шығуды саясатта қорғай аласыз.
Прокси айналдыру мен VPN жария мекенжайыңызды әртүрлі деңгейлерде өзгертеді, және дәл осы айырмашылық ненің ағып кететінін шешеді. VPN әр пакетті туннельге жылжытады, сондықтан нысана көретін бастапқы мекенжай туннельдің соңғы нүктесі. Прокси желілік деңгейден жоғары тұрады: шығудан тек ол арқылы жіберген сұрауларыңыз көрінеді, ал машинадағы қалғанының бәрі нақты мекенжайды сақтайды. Бұл бөлуді дұрыс жасау айналдыруды құсбелгіден дизайн шешіміне айналдырады.
Жария мекенжай шын мәнінде қайдан келеді
Нысана көретін мекенжай — трафигіңіз соңғы рет шыққан мекенжай, ал үй қосылымында бұл маршрутизаторыңыздағы провайдер мекенжайы, машинаға тиесілі нәрсе емес. Маршрутизаторды қайта қосу сол жалдауды қайтаруы мүмкін, ал оның MAC мекенжайын өзгерту кейде жаңасын жасайды, бірақ екеуі де сізге ел таңдауды бермейді. VPN бастапқы мекенжайды IP деңгейінде алмастырады, сондықтан машинадан шыққан әр пакет, DNS және фондық жаңартуларды қоса, туннельдің соңғы нүктесінен шығады. Прокси бір деңгей жоғары жұмыс істейді: сұрауды қабылдайды, нысанаға өз қосылымын ашады, және тек сол сұрау шығудан көрінеді. Машинадағы қалғанының бәрі әлі де нақты мекенжайды пайдаланады.
Бұл бөлу тосынсыйлардың көбін түсіндіреді. Проксиге бағытталған браузер кеңейтімі браузер жіберетін нәрсені ғана өзгертеді, басқа ештеңе емес, сондықтан сол хосттағы екінші қолданба әлі де бастапқы мекенжайды ағызады. Жүйелік VPN қарама-қарсы істен шығу режиміне ие: жергілікті сақтағыңыз келген трафикті жабады және клиент солай конфигурацияланған жағдайда ғана жабылады. Екеуінің арасында таңдау — қай трафиктің қозғалуы керегін таңдау.
Содан кейін айналдыру таңдаған деңгейіңізге қолданылады. Проксимен айналдыру келесі сұрау басқа шығуды пайдаланатынын білдіреді. VPN-мен бұл туннельді бұзып, қайта салуды білдіреді, ол баяуырақ және көрінетін қайта қосылу ретінде көрінеді.
HTTP прокси нені оқи алады және нені оқи алмайды
Қарапайым HTTP-де прокси сұрау жолында абсолютті URI, әр тақырыпша мен денені көреді. Ол осының бәрін жаза алады және кез келген бөлігін қайта жаза алады, сондықтан жауаптарға скрипт енгізетін тегін прокси протокол рұқсат еткенді дәл жасайды. Аутентификация пайдаланады Proxy-Authorization, ал жоқ немесе қате тіркелгі деректері 407 Proxy Authentication Required қосылу қатесінің орнына шығарады.
HTTPS-те клиент жібереді CONNECT host:port және прокси шикі туннель ашады, содан кейін шифрланған байттарды көреді. Ол әлі де хост атауын CONNECT жолынан және әдетте TLS қол алысуындағы SNI өрісінен біледі, сондықтан хост атауы деңгейіндегі журналдау пайдалы жүктеме қалмаса да сақталады. Пайдалы жүктемені оқу үшін TLS-ті клиент сенетін сертификатпен аяқтау қажет, бұл басқа тәуекелі бар басқа өнім. Және HTTP семантикасының спецификациясы CONNECT-ті туннель сұрауы ретінде анықтайды, бұл шығудың нені көре алатыны мен көре алмайтыны үшін дұрыс ой моделі.
curl -v -x http://proxy.example.net:8080 https://example.com 2>&1 | grep -E 'CONNECT|Proxy-'
Толық шығыс кез келген TLS трафигінің алдында CONNECT жолын көрсетеді, және дәл сол сәтте прокси сіздің межелі орныңызды біледі. 407-мен жауап беретін прокси туннельді ешқашан ашпаған, сондықтан басқа TLS параметрлерімен қайта көру көмектеспейді.
Айналдырудың гранулярлығы ненің сынатынын шешеді
Әр сұрауда айналдыру — ең қауіпсіз көрінетін және ең көп сындыратын параметр. Cookie-лер, CSRF токендері және сервер жағындағы сессиялар бір сәйкестікке байланған, ал кіру мен келесі шақыру арасында өзгеретін сәйкестік нысанаға сессияны ұрлау сияқты көрінеді. Көптеген провайдерлер жабысқақ сессияны прокси пайдаланушы атына кодтау арқылы ұсынады, сондықтан шығу таңдалған терезе үшін бекітілген күйде қалады.
Гранулярлықты тапсырмадан таңдаңыз, провайдердің әдепкісінен емес. Тәуелсіз беттерді әкелетін шолғыш әр сұрауда айнала алады, ал төлем ағыны немесе аутентификацияланған API бүкіл ағын үшін бір шығуды ұстауы керек. Төмендегі екі шақыру жабысқақ пайдаланушы атын және қарапайым айналмалы соңғы нүктені көрсетеді, және socks5h схема атауларды жергілікті емес, проксиде шешеді.
curl -sS -x http://user-session-a1b2:[email protected]:8080 https://ifconfig.me
curl -sS -x socks5h://127.0.0.1:1080 https://ifconfig.me
Жергілікті DNS — тыныш ағу. Егер клиент атауды қосылудан бұрын шешсе, шешуші сіз баратын әр хостты біле береді, тіпті HTTP сұрауы басқа жерден шықса да. Және socks5h пішін мен прокси жағындағы шешу мұны болдырмайды, және оларды пайдалану ештеңе тұрмайды.
Нысана мекенжайдан басқа нені жіктейді
Мекенжайдың беделі — бірнеше кірістің бірі. Нысаналар ASN мен оның деректер орталығы немесе тұрғын үй белгісін, клиенттің TLS саусақ ізін, HTTP/2 параметрлерін, тақырыпшалар ретін, сұрау жиілігін және навигация пішінін біріктіреді. Басқарусыз браузермен басқарылатын тұрғын үй шығуы нақты сессиямен басқарылатын деректер орталығының шығуы өтетін жерде сәтсіздікке ұшырауы мүмкін.
Шығу түрі трафик туралы адал түрде нені мәлімдей алатыныңызды анықтайды, және әрқайсысы басқа шығын әкеледі.
| Exit type | What the target sees | Main cost |
|---|---|---|
| Datacenter proxy | Hosting ASN, cheap, often pre-blocked | Low reputation, easy to detect |
| Residential network | A consumer ISP address belonging to someone else | Consent and terms-of-service exposure |
| Mobile carrier | A carrier NAT address shared by many subscribers | Price, plus shared blame for abuse |
| Your own cloud egress | An address you are accountable for | Recognisable, but defensible |
Ортақ шығу бейтарап емес. Сол мекенжайдан жүретін қалғанның бәрі беделдің бір себетіне түседі, және басқа жалдаушылар өртеп қойған мекенжай сіздің бірінші сұрауыңыз оқылмай тұрып сәтсіздікке ұшырайды.
Саясатта сипаттай алатын шығуды таңдаңыз
Пайдалы сұрақ мекенжайды қалай жасыру емес, одан шығатын трафикке кім жауапты екені. Әр тапсырмаға өз бұлттық шығуыңыз, деректерді өңдеу туралы келісімі және жарияланған сақтау мерзімі бар келісімшарттық провайдер және әр тапсырмаға бір сәйкестігі бар өзінде орналастырылған VPN — бәрін бір сөйлеммен сипаттауға болады. Тегін тізім олай емес, өйткені оның операторының сізге ешқандай міндеттемесі жоқ және журналдауға барлық ынтасы бар.
Өз жылдамдық шектеулеріңізді нысана төзетін деңгейден төмен ұстаңыз және тапсырмаға қажет өрістерді ғана жинаңыз, қате кішкентай болып қалсын. Блоктан құтылу үшін жылдамырақ айналдыру әдетте оны тудырған сұрау жиілігін арттырады.
Жазыңыз таңдалған шығуды, оның айналдыру терезесін және оның иесін бірінші іске қосудың алдында жұмыс конфигурациясына. Блок келгенде, дәл сол жазба сізге шығуды өзгерту керек пе, әлде мінез-құлықты өзгерту керек пе екенін айтады.