Коомдук SaaS барактары баарына ачык кала алат, ал эми алардын артындагы административдик операциялар VPNден тышкары бардыгын четке кагат. Муну мүмкүн кылган механизм жашыруун меню да, өзүнчө кирүү барагы да эмес; ал сурамды жеткирген тармактык жолду текшерүү. Дарек далили туура эмес болсо, текшерүү же чыныгы администраторлорду сыртка камайт, же аталыш жаза алган ар кимди киргизет. Баштапкы сервер чындыгында эмнени аларынан баштаңыз.

Туннелден кийин баштапкы сервер чындыгында эмнени алат

Браузер интернет трафигин да ташыган VPN аркылуу коомдук сайтка жеткенде, шлюз байланышты чыгар алдында которот. SaaS шлюздун коомдук чыгуу дарегин көрөт, адатта бир дарек же кичине диапазон, жана ноутбуктун туннель дарегин эч качан көрбөйт. Ошондуктан 10.90.0.42 тибин уруксат берилгендер тизмесине кошуу ишке ашпайт, жана ошондуктан бүт RFC 1918 кошуу андан да катуу ишке ашпайт: экинчиси сизге жете алган ар бир жеке тармакты киргизет. Шарт коюуга татыктуу жалгыз дарек — уюмуңуз чыгууда чындыгында ээлик кылган дарек.

curl -s https://ifconfig.me
dig +short admin.example.com

Бөлүнгөн туннелдөө бул божомолду үнсүз бузат. VPN тек жеке кеңсе маршруттарын ташыса, коомдук административдик хост атына сурам жергиликтүү провайдер аркылуу чыгат жана баштапкы сервер турак жай дарегин көрөт. Туташкан VPN белгиси ушул конкреттүү багыт боюнча эч нерсени далилдебейт, ошондуктан туннелди эмес, багытты текшериңиз.

Чыгуу дареги ар бир колдонуучуга өзгөрсө, кандайдыр бир саясат жазардан мурун токтоп, маршруттоону оңдоңуз. Бир гана айрым администраторлорго туура келген шарт шарттын жоктугунан жаман, анткени кырсык болгонго чейин көйгөйдү жашырат.

Даректи кайра жазган проксиге гана ишениңиз

Коомдук сайттардын көбү CDN же тескери проксинин артында, ошондуктан баштапкы сервердин сокет дареги конокко эмес, ошол фронтендге таандык. Фронтенд адатта баштапкы даректи аталышта берет, жана ал аталышты чабуулчу көзөмөлдөйт, эгер баштапкы сервер аны тек белгилүү проксилерден кабыл албаса. Ишенимдүү булактардын тизмесин ачык конфигурациялаңыз жана баштапкы серверди башка бардык жерден жеткис кылыңыз. Ошол экинчи жарымы жок болсо, чабуулчу проксини айланып өтүп, аталышты түз жөнөтөт.

set_real_ip_from 192.0.2.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
curl -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin

Ушундай эле ой жүгүртүү PROXY протоколуна да тиешелүү: ал тыңшоочу прокси жете алган жана башка эч нерсе жете албаган интерфейске байланганда гана ишенимдүү. Дарек контекстинин жоктугу корголгон текшерүүнү ишке ашпай калтырышы керек, демейки уруксатка түшпөшү керек. Жок аталыш ишенимдүү жолдун далили эмес.

Шартты ар бир корголгон операцияга тиркеңиз

Текшерүүнү менюну көрсөткөн баракка эмес, ар бир корголгон операция өткөн авторизация чегине коюңуз. Маршрут топтору, middleware же саясат катмары — баары иштейт; ар бир иштетүүчүгө көчүрмө иштебейт, анткени кийинки кварталда кошулган иштетүүчүдө ал болбойт.

user = requireAuthenticatedSession()
requirePermission(user, "admin")
requireVpnEgress(verifiedClientAddress(request))
performProtectedOperation(user, request)

Ошол эле чек JSON API, экспорттор, кол коюлган жүктөө URLдери жана WebSocket кол алышуусун да камтышы керек, анткени алардын эч бири HTML барагын адегенде суроону талап кылбайт. VPN иштеп турганда түзүлгөн жүктөө шилтемеси, жүктөө акыркы чекити кайра текшербесе, кийин да жарактуу бойдон калат. Узак сессияларга да кайра баалоо эрежеси керек, болбосо бир аутентификацияланган сурам туруктуу өзгөчөлүккө айланат. Демейки баш тартуу — кызматкерлер алмашканда аман калган жалгыз жөндөө.

Бөлүшүлгөн кэштер текшерүүнү айланып өтүүнүн экинчи жолу. Корголгон жоопту мурунтан сактаган кэш аны баштапкы серверге кайрылбастан бере алат, ошондуктан административдик жоопторду жеке деп белгилеп, аларды бөлүшүлгөн кампадан тышкары кармаңыз. Эгер кэш аларды берүүгө милдеттүү болсо, кирүү текшерүүсү берүүдөн мурун иштеши керек, бул адатта анын таптакыр бөлүшүлгөн кэш боло албастыгын билдирет.

Жаңы эле жапкан айланып өтүүлөрдү текшериңиз

Бактылуу жолду эмес, матрицаны машыктырыңыз: VPN аркылуу администратор, онсуз ошол эле администратор, ал аркылуу администратор эмес адам жана жасалма дарек аталышы. Түз баштапкы серверге сурам жана кэштелген жооп менен сурам кошуңуз, анткени дал ошол экөө фронтендди толугу менен айланып өтөт.

curl -sI https://admin.example.com/export.csv
curl -s -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin
curl -s https://admin.example.com/api/me -o /dev/null -w '%{http_code}\n'

Ар бир сурам саясат убада кылган статусту кайтарышы керек, ал эми журнал кайсы дарек далили колдонулганын жазышы керек. IPv6ны өзүнчө камтыңыз, анткени кош стектүү баштапкы сервер сиз текшергенден башка булак үй-бүлөсүн көрүшү мүмкүн. Кадимки кардар операцияларын VPNден тышкары иштеп турсун, болбосо кардар биринчи жолу нааразы болгондо өзгөртүү артка кайтарылат. Ар бир саптын күтүлгөн натыйжасын иштетүүдөн мурун жазыңыз, күтүлбөгөн өтүү көрүнүп турсун.

Чыгуу дареги уруксат берилген тармактык жолду далилдейт, адамды да, башкарылуучу түзмөктү да эмес. Аны аутентификация менен уруксаттын жанында бир шарт катары кармаңыз, ошондо бүт өнүмдү VPN-гана кызматына айландырбастан административдик аймак тар бойдон калат. Ошол бөлүнүү — дизайндын өзү, анын чектөөсү эмес.

Тектеш макалалар