Правіла EC2 толькі для VPN: усе далучаныя групы бяспекі павінны супадаць
Групы бяспекі толькі дазваляюць, і кожная далучаная група дадае сваё дазвол. Вызначце крыніцу, якую інстанцыя бачыць насамрэч, перш чым дадаваць вузкае правіла VPN.
Вы дадаяце адно правіла ўваходу для пула кліентаў VPN, нічога не выдаляеце, і сэрвіс па-ранейшаму даступны з інтэрнэту. Нішто не зламана. У групы бяспекі няма перавагі, прыярытэту ці канчатковай адмовы, супраць якіх магло б перамагчы вузкае правіла. Кожная група, далучаная да інстанцыі, дадае свае дазволы ў адзін аб’яднаны набор, і шырокае правіла, пра якое вы забыліся, усё яшчэ ў гэтым наборы. Зрабіць інстанцыю толькі-VPN азначае праверыць усе групы, а не дадаць лепш гучнае правіла ў адну з іх.
Запішыце сэрвіс, перш чым пісаць правіла
Пачніце з дакладнага прызначэння, пратаколу і порта, а таксама сеткавага інтэрфейсу, на якім сэрвіс насамрэч слухае. Інстанцыя з некалькімі інтэрфейсамі або некалькімі сэрвісамі на адным порце патрабуе праверкі для кожнага інтэрфейсу, бо далучаныя групы могуць адрознівацца. Затым вызначце які адрас крыніцы гэты інтэрфейс насамрэч атрымлівае для карыстальніка VPN, а не той адрас, які кліент паказвае ў сваім уласным акне злучэння.
Гэтыя два адрасы разыходзяцца часцей, чым людзі чакаюць, як толькі ў справу ўступаюць трансляцыя і маршрутызацыя.
Тры мадэлі крыніцы, тры розныя правілы
Пры прыватным маршрутызаваным доступе інстанцыя атрымлівае пул кліентаў або карпаратыўны дыяпазон, у залежнасці ад таго, як маршрутызуецца і транслюецца шлях. Пры публічнай канчатковай кропцы, дасягнутай праз карпаратыўны выхад, інстанцыя бачыць замест гэтага карпаратыўны адрас NAT, і толькі калі гэтае прызначэнне сапраўды выкарыстоўвае шлях VPN, бо раздвоенае тунеляванне можа пакінуць яго на хатнім злучэнні. Пры кіраванай канчатковай кропцы Client VPN прымяняецца дакументаваная мадэль асацыяцыі і мэтавай сеткі, а адрас кліента бярэцца з наладжанага CIDR кліента.
Не працуе спасылка на шлюз VPN як на крыніцу групы бяспекі. Спасылкі груп супадаюць з эластычнымі сеткавымі інтэрфейсамі ўнутры VPC або аб’яднанай сеткі, а шлюз, які перасылае пакеты, не з’яўляецца адным з іх.
Прачытайце аб’яднанне па ўсіх далучаных групах
Адкрыйце інстанцыю, знойдзіце яе сеткавы інтэрфейс і пералічыце ўсе далучаныя да яго групы бяспекі. Для кожнай праверце кожнае правіла, якое пакрывае ваш пратакол і порт, уключаючы шырокія дыяпазоны партоў і абедзве сям’і адрасоў. Правіла IPv4 з 0.0.0.0/0 не вызваляе вас ад праверкі ::/0, а правіла, якое дазваляе ўвесь трафік, цалкам хавае пытанне порта. Толькі пасля гэтага інвентару вы можаце сказаць, якое эфектыўнае дазвол для сэрвісу.
Даведнік правілаў AWS апісвае групы бяспекі як тыя, што толькі дазваляюць, і сцвярджае, што правілы ўсіх далучаных груп агрэгуюцца, і гэта ўвесь механізм, што стаіць за гэтай няўдачай.
Сеткавыя ACL — асобная палітыка без стану з упарадкаванымі запісамі дазволу і адмовы, і яны ацэньваюцца на падсетцы, а не на інстанцыі.
Не адказвайце сцяной адмовы
Даданне адмовы NACL на ўсю падсетку, каб імітаваць звыклы файрвол, — няправільны інструмент і рызыкоўны. Запісы NACL упарадкаваныя і не маюць стану, таму адмова, пастаўленая вышэй за існуючы дазвол, моўчкі ламае не злучаны з ім трафік, уключаючы зваротны шлях для сеансаў, якія вы спрабавалі захаваць. Выпраўце шырокае дазвол групы бяспекі ў той групе, якая ім валодае, затым пакіньце ACL у спакоі, калі ён сапраўды не частка дызайну.
Выдаленне публічнага адраса з інстанцыі — мацнейшая гарантыя, і гэта таксама архітэктурная змена з адміністрацыйнымі і прыкладнымі наступствамі, а не галачка ў спісе дазволаў.
Тэстуйце ў новым сеансе і пакіньце шлях уваходу
Перш чым адмовіцца ад любога існуючага дазволу, пацвердзіце ўзгоднены незалежны шлях адміністравання, бо правіла, якое вы збіраецеся выдаліць, можа быць тым, ад якога залежыць аднаўленне вашага сеансу. Затым праверце новае дазволенае злучэнне з VPN і новае адхіленае злучэнне з дазволенага тэставага шляху без VPN. Існуючыя адсочваемыя сеансы перажываюць змены правілаў так, што старыя адкрытыя абалонкі становяцца бескарыснымі як доказ прыёмкі.
Нарэшце, пакіньце ўласную аўтарызацыю праграмы на месцы. Трансляваны карпаратыўны выхад можа прадстаўляць сотні людзей, а сеткавы допуск ніколі не вызначаў асобнага карыстальніка ці яго прыладу.