Хмарная група бяспекі для VPN: адкрыйце слухача, а не ўсё
Група бяспекі — адзін з чатырох фільтраў паміж кліентам і дэманам. Спачатку назавіце пратакол, потым праверце ACL, хост-файрвол і перасылку.
Сервер VPN працуе, кліент выходзіць па тайм-аўце, і першая думка — дадаць правіла, якое дазваляе ўсё, у групу бяспекі. Часам гэта дапамагае, і гэта найгоршы вынік, бо цяпер ніхто не ведае, якая мяжа насамрэч зачынена. Паміж кліентам і дэманам стаяць чатыры асобныя фільтры, і толькі адзін з іх — група бяспекі.
Назавіце пратакол раней за правіла
Правіла — гэта пратакол, дыяпазон партоў і крыніца. WireGuard слухае UDP, звычайна 51820. OpenVPN звычайна працуе на UDP або TCP 1194 у залежнасці ад налады. IPsec патрабуе абмену IKE на UDP 500 і 4500, а таксама сам пратакол ESP, які з'яўляецца нумарам пратакола, а не партом. Меркаванне, што гэта TCP, бо іншыя правілы TCP, — гэта шлях да правіла, якое выглядае правільным і ні з чым не супадае.
Чытайце слухача з працуючага сэрвісу, а не з падручніка. Дэман, прывязаны да аднаго адраса, не прыме трафік, які прыйшоў на іншы.
Абмяжуйце крыніцу дыяпазонам кліентаў, які дазваляе дызайн, а не ўсім інтэрнэтам.
Групы бяспекі захоўваюць стан; ACL падсетак — не
Групы бяспекі захоўваюць стан і толькі дазваляюць: дазволены ўваходны паток атрымлівае адказы аўтаматычна, і няма правіла забароны, пра якое трэба думаць. ACL падсетак не захоўваюць стан і ацэньваюцца ў абодвух кірунках, таму ўваходны дазвол без адпаведнага зыходнага эфемернага дыяпазону ўсё роўна не спрацуе. Гэтая розніца тлумачыць шмат правілаў, якія ў кансолі выглядаюць правільна.
Пацвердзіце таксама, якая палітыка прымацаваная да працуючага эндпойнта, бо ў інстанса можа быць больш за адну групу, і правіла ў непрымацаванай групе нічога не змяняе.
Эфектыўная палітыка — гэта аб'яднанне таго, што прымацавана, а не файл, які вы рэдагавалі.
Хост-файрвол — асобная мяжа
Хмарная палітыка прапускае трафік да сеткавага інтэрфейса, а далей аперацыйная сістэма вырашае, ці ўбачыць яго дэман. Хост-файрвол з палітыкай забароны па змаўчанні скіне пакет, які група бяспекі дазволіла, і хмарная кансоль не пакажа адмовы, бо яна ніколі не мела меркавання. Праверце абодва ў тым парадку, у якім пакет іх сустракае.
Калі хост выкарыстоўвае фронт файрвола дыстрыбутыва, пацвердзіце базавыя правілы, а не назву профілю, бо профіль можа быць актыўным, пакуль порт зачынены.
Захоп на інтэрфейсе паказвае, якая мяжа скінула пакет.
Дазволіць слухача — не тое самае, што маршрутызаваць кліентаў
VPN-шлюз, які перасылае трафік кліентаў, патрабуе большага, чым адкрыты порт. Патрэбна перасылка IP, палітыка, якая дазваляе паток ад інтэрфейса тунеля да сеткі прызначэння, і часта адключаная праверка крыніцы і прызначэння на інтэрфейсе, каб платформа не адкідвала трафік, не адрасаваны ёй. Нічога з гэтага правіла слухача не стварае.
Менавіта тут разыходзяцца працоўнае рукапацісканне і зламаны шлях даных, і таму статус тунеля можа выглядаць здаровым, пакуль нічога не загружаецца.
Выпраўляйце маршрутызацыю як асобную змену з уласнай праверкай і ўлічыце, што шлюз, які перасылае, таксама патрабуе палітыкі выхаду, якая дазваляе прызначэнне.
Пакіньце шлях назад, потым звузьце правіла
Перад зменай палітыкі аддаленага файрвола пацвердзіце, што існуе незалежны шлях кіравання: мэнэджар сесій, паслядоўная кансоль або пазапаласная сетка. Калі адзіны шлях кіравання ідзе праз правіла, якое вы рэдагуеце, у вас няма аднаўлення. Затым прымяніце вузкае правіла, праверце з рэальнага кліента і суаднясіце спробу з доказамі на баку сервера. Адказ іншага сэрвісу на той жа машыне не даказвае, што слухач дасягнуты.
Выдаліце любы эксперыментальны шырокі дазвол, як толькі вузкі запрацуе, і адзначце, навошта існуе правіла. AWS дакументуе паводзіны груп бяспекі з захаваннем стану, і менавіта на гэты дакумент спасылаюцца, калі хтосьці прапануе шырокі дыяпазон як кароткі шлях.
Задакументуйце і прымацаванне, інакш зменны інтэрфейс моўчкі страціць палітыку.