Кеңсе жана VPN үчүн бир URL? Эмне үчүн уруксат тизмесинин уламышы ишке ашпайт
VPN байланышы уруксат берилген сайт көргөн даректи өзгөртпөйт. URL кошуудан мурун чыныгы чыгууну, ишенимдүү прокси секириктерин жана IPv6 жолун текшериңиз.
Туннелди туташтырыңыз, ошол эле бетбелгини ачыңыз, жана уруксат берилген сайт кеңседен кандай жооп берсе, так ошондой жооп берет. Бул — алыскы кирүү пландарынын көбү үнсүз таянган божомол, жана ал үч өзүнчө нерсе бир убакта чын болуп турганда гана күчүндө. Алардын бири да VPN кардарынын функциясы эмес, жана бир да DNS жазуусу алардын бирин бере албайт. Бетбелги үйдө ишке ашпаганда, браузер сизге бир жалпы ката берет, себеби жоголгон маршрут, бекитилбеген чыгуу дареги же өзү билдирген булакты алмаштырган прокси болобу. Ошол үчөөнү бир көйгөй катары кароо — кичине саясат оңдоосунун уруксат тизмелерин кеңейтүүнүн бир жумасына айлануу жолу.
Чыныгы кеңсе тармагы менен жолугушууга туруштук берген долбоор божомолдон тар: үч саптуу ачык чечим таблицасы, айланып өтүүгө болбой турган бир аткаруу чекити жана бир нерсени далилдеген баш тартуу тести. Божомолду бузуу биринчи келет, анткени андан кийинкинин баары булакты кайсы катмар туура эмес көрсөткөнүн билүүгө байланыштуу.
Уламыш: туташуу — маршруттоо эмес
Туннел түзүлөт жана кардар префикстердин белгилүү бир жыйындысы үчүн маршруттарды орнотот. Туташуу ушунун баарын гана жасайт. Байланышы жок HTTPS суроосу туннелден өтөбү, жана жеткенде кайсы коомдук даректен келген сыяктуу көрүнөт, бул кийин башка компоненттер кабыл алган чечимдер: маршрут таблицасы жолду тандайт, ал эми чыгуу булакты тандайт.
Ошондуктан кеңсе менен ашкана үстөлү бир ноутбук, бир браузер профили жана бир бетбелги менен айырмаланат. Кеңседе суроо сайт оператору макул болгон тейленүүчү коомдук даректен чыгат. Толук туннел аркылуу ал VPN чыгуусунан чыгышы мүмкүн, бул башка дарек жана бирөө аны кошпойунча, бекитилбеген. Бөлүнгөн туннел аркылуу ал туннелге такыр кирбеши мүмкүн. Ошол үч жолдун экөө гана сайт ээси менен келишимдин бөлүгү болгон, ал эми үчүнчүсү кошумча allow сабы менен жамалууга тийиш кемчилик эмес.
Суроонун үч абалы, эки бекитилген чыгуу
Файрволго тийүүдөн мурун матрицаны жазып чыгыңыз, анткени таблица — долбоор, ал эми эреже анын бир гана ишке ашырылышы. Төмөнкү даректер — документтик диапазондор; аларды өзүңүздүн тейленүүчү маанилериңиз менен алмаштырыңыз жана сайт ээси текшере алган жерде сактаңыз.
| Request path | Source the site sees | Intended decision |
|---|---|---|
| Office, no tunnel | Office public exit | Admit to the application login |
| Remote, approved full tunnel | Approved VPN egress | Admit to the same login |
| Remote, ordinary connection | Neither approved address | Deny at the network boundary |
Ушул ортоңку сапта бул пландардын көбү сынат. Маанилүүсү — аткаруучу түзмөк көргөн дарек, ноутбук туннелдин ичинде кармаган жеке дарек да, анын LAN дареги да эмес. 10.8.0.6 сыяктуу маани коомдук сайт үчүн эч нерсени билдирбейт, 192.168.1.44 да ошондой. Туннелдин дареги — туннелди даректөөнүн бөлчөгү, сайт текшере алган күбөлүк эмес.
Эгер VPN сизге туруктуу, документтелген чыгууну камсыз кыла албаса, матрицада жарактуу ортоңку сап жок, жана уруксат тизмелеринин канчалык көп болушу аны ойлоп таппайт. Ошол учурда ак ниеттүү варианттар — ачык жеке маршруттар аркылуу жетүүчү жеке сайт же колдонмонун алдындагы инсанды тааныган кирүү дарбазасы. Экөөнүн тең коомдук уруксат тизмесинен башка келишими бар, жана экөөнү тең аудиторго түшүндүрүү кокустан иштеп калганга чейин өскөн тизмеден оңоюраак.
Булакты чечим кабыл алынган жерден окуңуз
Чектөөнү суроону бүтүргөн түзмөккө коюңуз жана эч бир альтернативалуу чыгуу жолу аны айланып өтпөгөнүн ырастаңыз. Nginx кирүү модулу allow жана deny директиваларын тартиби менен баалайт, биринчи дал келүү жеңет, ал эми курчаган блоктон мураска алган эрежелер location ичинде да колдонулат. Бир жерде тар allow кенен allowдун жанында болсо, адатта кенени чечет. Анын бир сабын оңдоодон мурун ошол location үчүн толук колдонуудагы конфигурацияны окуңуз.
server {
listen 443 ssl;
server_name intranet.example.com;
set_real_ip_from 10.20.0.10;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
location /app/ {
allow 203.0.113.24; # office public exit
allow 198.51.100.77; # approved VPN egress
deny all;
proxy_pass http://app_backend;
}
}
Жүктөө теңдештиргичинин же тескери проксинин артында бул эреже проксини көрөт, эгер сиз ага башкача айтпасаңыз. Чалуучунун дарегин колдоого алынган ишенимдүү прокси механизми аркылуу гана, прокси даректеринин ачык тизмеси менен калыбына келтириңиз. Бекитилген даректи билдирген суроо аталышы чалуучунун ага ээ экенине далил эмес, ал эми коомдук угуучуда текшерилбеген өткөрүлгөн аталыш уруксат тизмесин кооздукка айландырат.
Андан кийин даректердин башка үй-бүлөсүн текшериңиз. Бир гана IPv4 камтыган эрежелер жыйындысы AAAA да жооп берген хост аты үчүн толук эмес чечим, ал эми иштеген IPv6 бар кардар ошол эле колдонмого сиз эч качан карап чыкпаган жол менен жетет.
Бөлүнгөн туннел: эч качан кирбеген суроо
Бөлүнгөн туннел өз тизмесиндеги префикстерди гана ташыйт. Кеңсенин ички ички тармактары адатта ошол тизмеге кирет; коомдук веб-сайт кирбейт. Браузер атты чечет, тандалган даректи маршрут таблицасы менен салыштырат, бирок баары бир алдынан жергиликтүү демейки шлюзду табат.
Ошентип суроо колдонуучунун үй байланышынан келет, четке кагылат, ал эми отчет VPN бузулду деп жазат, бирок туннел так өзү конфигурацияланган ишти жасап жатат. Эки оңдоо мыйзамдуу: ошол багытты туннелден өткөрүп, бекитилген чыгуунун аны ташуусуна жол бериңиз, же сайтка түз жетээрин моюнга алып, алыскы колдонуучуларга кирүү дарбазасы сыяктуу башка бекитилген жол бериңиз. Сайттын коомдук уруксат тизмесин үй дареги кокустан киргенге чейин кеңейтүү — ал экөөнүн бири да эмес, жана долбоор аткарууга тийиш чекти алып салат. Биринчи экөө матрицаны ак ниеттүү кармайт; үчүнчүсү андан бир сапты үнсүз жок кылат.
Баш тартууну далилдеңиз, анан калыбына келүүнү
Таблицанын ар бир сабында турган кардардан чыныгы чечимди иштеткен суроо менен сынаңыз. Бир байланышы жок даректи көрсөткөн баракка жетүүнү текшерүү эч нерсени далилдебейт, анткени ошол багыт колдонмодон башка жол менен жүрүшү мүмкүн.
curl -sS -o /dev/null -w 'status=%{http_code}
' https://intranet.example.com/app/login
# repeat with the tunnel up, then with it down
tail -f /var/log/nginx/access.log | grep ' /app/'
Чек арадагы кирүү жазуусун таблица болжолдогон нерсе менен салыштырыңыз. Андан кийин туннелди түшүрүп, четке кагылышы керек болгон жаңы суроо жасаңыз; мурун жүктөлгөн барак же мурун ачык байланыш эч нерсени текшербейт. Эгер эч кандай баш тартуу көрүнбөсө, аткаруу чекити сиз ойлогон жерде эмес.
Тармакка киргизилгенден кийин колдонмонун аутентификациясын сактаңыз, анткени кеңсе чыгуусу да, VPN чыгуусу да көп адамды билдирет жана экөөнүн бири да жеке адамды аныктабайт. Колдонуучуларга көрсөтмө кыска бойдон калат: бекитилген туннелди көтөрүңүз, анан кайра аракет кылыңыз. Бул бир URLды ыңгайлуу кармайт, ал эми булак эрежеси божомол эмес, чечим бойдон калат.