Дайце карыстальнікам VPN доступ да адной паслугі, а не да падсеткі
Вузкі маршрут — не палітыка аўтарызацыі. Вызначце, дзе адбываецца прымяненне, які крынічны адрас бачыць паслуга і як застаюцца асобнымі ролі праграмы.
Падрадчыку патрэбна адна ўнутраная вэб-праграма і больш нічога, і просты адказ — даць ім тунэль у падсетку сервера. Гэта працуе да таго дня, калі яны яе прасканаваць. Больш вузкі дызайн патрабуе больш роздуму, бо дасягальнасць, маршрутызацыя і дазвол праграмы — тры асобныя сродкі кантролю, якія павінны ўзгадняцца.
Запішыце патрабаванне як паслугу, а не як падсетку
Пачніце з хоста прызначэння, пратакола і порта, затым дадайце групу карыстальнікаў або прылад, якая павінна да яго дабрацца. Уключыце прыватную зону DNS толькі калі праграма развязае імя, і ўключыце пастаўшчыка ідэнтычнасці толькі калі працэсу ўваходу ён патрэбны. Усё астатняе — залежнасць, якую вы яшчэ не абгрунтавалі.
Падсетка — гэта дэталь рэалізацыі каманды сеткі, а паслуга — тое, што замовіў бізнес, і адзінка, якую можна разгледзець і вывесці з эксплуатацыі.
Калі спіс залежнасцяў вырастае больш за тры пункты, праграме, верагодна, патрэбна ўласная размова пра дызайн.
Маршрутызуйце вузка, але прымяняйце ў іншым месцы
Вузкі маршрут або селектар кажа тунэлю, якія пакеты несці; гэта не палітыка аўтарызацыі. Фільтр шлюза, міжсеткавы экран хоста прызначэння і ўласная мадэль дазволаў праграмы — вось дзе вырашаецца доступ. Маршрут, які ахоплівае адзін адрас, — добры пачатак, і ён не той сродак, які спыняе рашучага карыстальніка. Менавіта гэтае раздзяленне дазваляе змяніць фільтр, не перапрацоўваючы тунэль.
Наадварот, шырокі маршрут са строгім фільтрам можа быць законным, але толькі калі ўсе ўдзельнікі ведаюць, які з іх выконвае прымяненне.
Задакументуйце пункт прымянення яўна, інакш наступная змена перанясе яго выпадкова.
Праверце крыніцу, якую паслуга сапраўды бачыць
Мэта бачыць або адрас пула кліента, або адрас шлюза, у залежнасці ад таго, ці вы трансліруеце. Правілы міжсеткавага экрана хоста і журналы павінны адпавядаць рэальнай крыніцы. Калі некалькі карыстальнікаў дзеляць трансліраваную крыніцу, ніякае правіла на гэтым хосце не можа іх адрозніць, і гэта абмежаванне дызайну, а не памылка.
Выбірайце трансляцыю свядома: яна спрашчае маршрутызацыю і знішчае ідэнтычнасць крыніцы, што важна для аўдыту і правілаў па карыстальніках.
Запішыце, які з двух вы выбралі, побач з правілам, якое ад яго залежыць.
Аўтарызацыя праграмы абавязковая
Дасягненне порта не дае ролі. Праграме ўсё яшчэ патрэбны ўласны ўваход і ўласныя дазволы, бо сеткавы ўзровень не можа выказаць, якія запісы карыстальнік можа рэдагаваць. Паслуга, якая давярае любому запыту з унутранай падсеткі, ператварае вузкі тунэль у поўны доступ для аднаго скампраметаванага пасведчання. Тунэль вырашае, хто можа адкрыць сокет, а праграма вырашае, што з ім можна рабіць.
Вось дзе вузкі дызайн акупляецца двойчы, бо менш дасягальных хостаў — менш месцаў, дзе можна выкарыстаць памылку ўзроўню праграмы.
Трымайце сеткавае правіла і ролю праграмы ў асобных сістэмах і выводзьце іх асобна.
Давядзіце і дазволены, і забаронены шлях
Падключыцеся як аўтарызаваны карыстальнік і выканайце адну бясшкодную прадстаўнічую аперацыю, затым паспрабуйце прызначэнне, якое павінна быць недасягальным. Дызайн, які правярае толькі першую палову, не правераны, і менавіта тэст адмовы даказвае дызайн. Правярайце свежую сесію пасля кожнай змены правіла і глядзіце на зваротны шлях, калі запыты прыходзяць, а адказы не.
Не адключайце фільтры перасылкі, каб прайсці прыёмачны тэст, бо гэта змяняе тое, што тэстуецца.
Калі карыстальніку больш не патрэбна паслуга, вывядзіце аддаленую ідэнтычнасць і ролю праграмы ў іх адпаведных сістэмах і запішыце абедзве. Кіраўніцтва strongSwan па перасылцы ахоплівае бок шлюза гэтага шляху.