Правілы AWS Client VPN належаць рэсурсу, а не падсетцы
Другая падсетка не абмяжоўвае порт. Змесціце правіла ў групу бяспекі рэсурсу і выкарыстоўвайце групу сувязі endpoint як крыніцу.
Супрацоўнікам трэба дасягаць аднаго праграмнага сродку ў VPC і нельга дасягаць слухача базы даных на тым жа экзэмпляры, таму хтосьці дадае другую публічную падсетку для endpoint VPN і лічыць патрабаванне выкананым. Размяшчэнне падсеткі змяняе маршрутызацыю і даступнасць. Яно не дае і не адмаўляе ніводнага порта. Дазвол, які выражае патрабаванне, знаходзіцца ў пункце прызначэння, у групе бяспекі рэсурсу, а мяжа VPN дае ручку, на якую спасылаецца гэтае правіла.
Размяшчэнне падсеткі — гэта маршрутызацыя, а не аўтарызацыя
Месца сеткавай сувязі endpoint вызначае, якая табліца маршрутаў нясе трафік кліентаў і якія зоны даступнасці вытрымаюць збой. Яно нічога не кажа пра тое, да якога порта на якім экзэмпляры гэты трафік можа дасягнуць. Два кліенты, звязаныя з адной падсеткай, прыходзяць з аднолькавай ідэнтычнасцю крыніцы, і рэсурс не можа адрозніць іх па назве падсеткі.
Пачніце з патрабавання: хто выклікае, які рэсурс, які порт службы і які кірунак. Затым выберыце мадэль правіла, якая можа выражаць гэтыя чатыры рэчы ў пункце прызначэння. Такі падыход звычайна цалкам прыбірае лішнюю падсетку з дызайну.
Група сувязі Client VPN — гэта ручка
Для endpoint AWS Client VPN, звязанага з падсеткай, дакументаваны парадак канкрэтны. Прымяніце прызначаную групу бяспекі да сувязяў мэтавай сеткі endpoint, затым дазвольце патрэбны трафік у групе бяспекі рэсурсу, выкарыстоўваючы гэтую групу Client VPN як крыніцу.
Канкрэтна, група экзэмпляра праграмы дазваляе порт праграмы з групы сувязі і нічога больш. Працэдура доступу да рэсурсу ад AWS апісвае гэтую сувязь, і варта захоўваць адну і тую ж палітыку групы на кожнай падсетцы, з якой звязваецца endpoint, бо састарэлая сувязь з іншай групай ціха пашырае мяжу.
Гэтае правіла нікога не аўтэнтыфікуе. Уваход — асобны кіруючы механізм, а маршрут да рэсурсу — трэці. Усе тры павінны выконвацца, перш чым запыт дойдзе. Які з іх збаіць, вызначае, якое выпраўленне правільнае, і змена правіла — правільны адказ толькі для першага.
Што не можа адрозніць адна група сувязі
Кожны кліент за адной групай сувязі дасягае рэсурсу як аднолькавая крыніца групы бяспекі. Два карыстальнікі з рознымі ролямі неадрозныя на гэтым узроўні, як бы група ні называлася і ні пазначалася. Аўтарызацыя знешніх груп у Client VPN абмяжоўвае доступ па прэфіксе прызначэння для групы каталога або SAML, што грубей за ролю рэсурсу і павінна разглядацца як сеткавая мяжа, а не як сістэма ідэнтычнасці.
Дробныя адрозненні належаць праграме. Слухач базы даных, які павінен заставацца закрытым для большасці супрацоўнікаў, лепш абараніць тым, каб ён зусім не быў дасягальны на дазволеным прэфіксе, чым спадзявацца, што склад групы застанецца ў парадку.
Перайменаванне групы не стварае ідэнтычнасці, а дубляванне яе для кожнай каманды толькі памнажае сувязі, якія трэба аўдытаваць.
Не капіруйце гэтае правіла ў кожны дызайн VPN
Самастойна кіраваны шлюз EC2 VPN, маршрутызаваная прылада інспекцыі і кіраваны Client VPN — гэта тры розныя шляхі пакетаў. Вызначце, які адрас крыніцы фактычна дасягае рэсурсу, ці адбываецца трансляцыя па шляху і якія механізмы спасылак служба падтрымлівае на гэтым шляху.
Перадача трафіку праз прамежкавае прыстасаванне не захоўвае спасылку на групу бяспекі крыніцы так, як гэта робіць прамы трафік паміж экзэмплярамі. AWS дакументуе, што такія дызайны могуць патрабаваць адпаведных прыватных адрасоў крыніцы або CIDR замест спасылкі на групу. Працэдура кіраванага Client VPN не з'яўляецца доказам таго, што далучаная група кожнага шлюза працуе як універсальны токен ідэнтычнасці для перададзеных пакетаў.
Аднаго кроку NAT на шляху дастаткова, каб зламаць гэтае меркаванне, і збой выглядае як правіла, якое ёсць, але ніколі не супадае.
Перагледзьце эфектыўную мяжу
Прачытайце кожную групу бяспекі, далучаную да рэсурсу, бо правілы дазволу аб'ядноўваюцца і вузкае правіла не адмяняе шырэйшага ў іншай групе. Затым праверце сеткавы ACL, міжсеткавы экран хоста і ўласную аўтарызацыю праграмы — гэта асобныя ўзроўні з асобнымі памылкамі.
Завяршыце адным дазволеным запытам і адным наўмысна выключаным запытам да таго ж рэсурсу. Гэтая пара даказвае мяжу, а адзінае паспяховае злучэнне даказвае толькі тое, што нешта адкрыта. Пацвердзіце маршрут, эфектыўную крыніцу і прызначаны порт службы, а не падсетку, якая змяшчае endpoint.
Парадак працы: запішыце патрабаванне з чатырох частак, далучыце групу да сувязяў, абмяжуйце правіла рэсурсу портам, праверце адзін дазвол і адну адмову, і толькі пасля гэтага разглядайце падзел падсетак з меркаванняў маршрутызацыі.