Дзве групы кліентаў, адзін сервер: дзе ўжываць палітыку
Падсеткі пазначаюць групы, але не ізалююць іх. Вызначце, які шлях перасылкі валодае правілам, затым напішыце матрыцу, якую павінна выконваць рэалізацыя.
Размяшчэнне дзвюх груп кліентаў у розных падсетках выглядае як ізаляцыя, і ёй не з’яўляецца. Адрасы апісваюць, адкуль нібыта прыйшоў пакет, а дазвол — гэта рашэнне, якое прымае той, хто яго перасылае. На гэтае пытанне адказвае канфігурацыя, а не маска, таму вызначце, які кампанент перасылае трафік паміж аднагодкамі, перш чым пісаць любое правіла.
Падсетка — гэта пазнака, а не правіла
Прызначэнне аднаго пула на групу дае вам чытэльныя адрасы і нічога болей. Кліент, які прыняў дадатковы маршрут, атрымаў дасяжнасць, а дасяжнасць — не дазвол. Дазвол на размову знаходзіцца ў рашэнні аб перасылцы, якое можа жыць у дэмане або ў ядры ў залежнасці ад таго, як наладжаны сервер.
Менавіта валоданне адрасам робіць прэфікс прыдатным як сродак выбару групы. Кожная аўтэнтыфікаваная асоба павінна адпавядаць перадказальнаму адрасу або дыяпазону, і гэтая адпаведнасць ламаецца, як толькі некалькі прылад дзеляць адзін уліковы запіс і адно прызначэнне. Вырашыце пытанні асобы і адначасовасці, перш чым спадзявацца на прэфікс крыніцы, бо палітыка, якая здагадваецца, якая машына выклікае, дазваляе не той у самы горшы момант.
Выберыце шлях, які пераносіць трафік аднагодкаў
Калі дэман перасылае пакеты аднагодкаў унутры свайго працэсу, гэтыя пакеты ніколі не дасягаюць кручка перасылкі хаста, таму правіла ядра не можа іх убачыць. Адключыце гэтую ўнутраную перасылку, і ядро стане пунктам перасылкі, дзе дзейнічаюць звычайныя правілы перасылкі.
# peer forwarding inside the daemon: enforce with per-group policy instead of FORWARD rules
client-to-client
# kernel forwarding path: remove the line above, then filter in the forward chain
Разгрузкаваныя каналы даных і серверы, якімі кіруе прадукт, публікуюць уласныя мадэлі прымянення, таму ўдакладніце, які з іх вы выкарыстоўваеце, а не мяркуйце паводзіны супольнасці. Збой, якога варта пазбягаць, — гэта правіла, якое выглядае слушным на разглядзе і ніколі не запытваецца падчас працы.
Напішыце матрыцу раней за правілы
Кароткая матрыца лягчэй разглядаецца, чым набор правілаў, і яна ёсць кантрактам, які павінна задаволіць рэалізацыя: аднагодкі адной групы дазволеныя, аднагодкі розных груп забароненыя, абедзве групы маюць дазвол да адной названай агульнай службы, усё астатняе забаронена. Запішыце гэтыя чатыры радкі, перш чым адкрыць рэдактар фаеруола. Рэцэнзент, які не чытае сінтаксіс правілаў, усё ж можа праверыць матрыцу. Тады рэалізацыі застаецца толькі адпавядаць радкам.
| Source | Destination | Decision |
|---|---|---|
| Group A address | Another Group A address | Allow |
| Group A address | A Group B address | Deny |
| Either group | The shared internal service | Allow |
| Either group | Anything not listed | Deny |
Трымайце тры класы прызначэння асобна, пакуль пішаце. Служба на хаспе VPN — гэта лакальны ўваход, іншы кліент — гэта транзіт аднагодкаў, а машына за шлюзам — іншы шлях перасылкі. Адно шчодрае правіла можа выпадкова дазволіць усе тры, і менавіта так групавая палітыка ператвараецца ў плоскую сетку з дадатковымі крокамі. Запішыце клас побач з кожным радком, каб намера перажыла наступную праўку.
Змесціце правілы туды, дзе яны жывуць
Дадавайце рашэнні ў тым самым месцы, дзе падтрымліваецца рэшта фаеруола, перад любым дазвольным правілам, якое інакш іх паглынула б. Парадак правілаў — частка палітыкі, а слушнае правіла, пастаўленае пасля шырокага дазволу, не выконвае нічога. Запішыце нумары правілаў да і пасля змены. Палітыка, якая існуе ў рэдактары, але не ў працоўным наборы правілаў, — гэта план, а не кантроль.
Вырашыце, што адбудзецца з патокамі, якія ўжо існуюць, калі палітыка зменіцца, бо сеанс, адкрыты да змены, можа працягвацца пасля яе. Калі член, які выйшаў, павінен неадкладна страціць доступ, набору правілаў патрэбен спосаб спыніць гэты стан, а не чакаць, пакуль злучэнне зачыніцца само.
Захавайце правілы праз механізм, які валодае рэштай фаеруола, і запішыце матрыцу побач з імі. Незапісаная палітыка пералічваецца з памяці падчас наступнага інцыдэнту, звычайна кімсьці ў спешцы.
Дакажыце з абодвух бакоў
Праверце дасяжнасць унутры групы, збой паміж групамі і агульную службу з аднаго кліента ў кожнай групе. Адзіная праверка з аднаго кліента даказвае палову матрыцы, і палова, якую яна пакідае, звычайна і ёсць памылковай. Паўтарыце кірунак забароны двойчы, бо кэшаваны сеанс можа схаваць памылку прымянення. Запішыце, якую пару вы правяралі, каб наступны чалавек не паўтараў яе.
Паўтарыце праверку на IPv6, калі тунель яго пераносіць, і пакіньце звычайную аўтэнтыфікацыю праграм на месцы. Прэфікс крыніцы — не ўліковы запіс, таму праходжанне сеткавай палітыкі не азначае, што служба павінна давяраць выклікальніку.