Поставувањето две клиентски групи на различни подмрежи изгледа како изолација, а не е. Адресите опишуваат од каде пакетот навидум доаѓа, додека дозволата е одлука што ја носи оној што го препраќа. На тоа прашање одговара конфигурацијата, а не маската, затоа одлучете која компонента го препраќа сообраќајот меѓу партнерите пред да напишете било какво правило.

Подмрежата е ознака, не правило

Доделувањето еден базен по група ви дава читливи адреси и ништо друго. Клиент што прифаќа дополнителна рута доби достапност, а достапноста не е авторизација. Дозволата да се зборува е во одлуката за препраќање, која може да живее во демонот или во јадрото зависно од тоа како е конфигуриран серверот.

Сопственоста на адресата е она што префиксот го прави употреблив како избирач на група. Секој автентифициран идентитет мора да одговара на предвидлива адреса или опсег, и тоа совпаѓање пропаѓа штом неколку уреди делат едни акредитиви и една доделба. Решете ги идентитетот и истовременоста пред да се потпрете на префиксот на изворот, зашто политика што погодува која машина ѕвони ја авторизира погрешната во најлош момент.

Изберете ја патеката што го носи сообраќајот меѓу партнерите

Кога демонот препраќа пакети меѓу партнерите во сопствениот процес, тие пакети никогаш не стигнуваат до куката за препраќање на домаќинот, па правило во јадрото не може да ги види. Исклучете го тоа внатрешно препраќање и јадрото станува точка на препраќање, каде што важат обичните правила за препраќање.

# 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

Офлоадираните канали за податоци и серверите управувани од производот објавуваат свои модели на спроведување, затоа потврдете кој го возите наместо да го претпоставувате однесувањето на заедницата. Дефектот што вреди да се избегне е правило што изгледа точно на преглед и никогаш не се прашува при извршување.

Напишете ја матрицата пред правилата

Кратката матрица е полесна за преглед од множество правила, и тоа е договорот што имплементацијата мора да го исполни: партнери од иста група дозволени, партнери меѓу групи забранети, двете групи дозволени кон една именувана заедничка служба, сето друго забрането. Запишете ги тие четири реда пред да отворите уредувач на огнена брана. Прегледувач што не ја чита синтаксата на правилата сепак може да ја провери матрицата. Потоа имплементацијата само треба да одговара на редовите.

SourceDestinationDecision
Group A addressAnother Group A addressAllow
Group A addressA Group B addressDeny
Either groupThe shared internal serviceAllow
Either groupAnything not listedDeny

Држете ги трите класи на одредиште одделно додека ја пишувате. Служба на домаќинот VPN е локален влез, друг клиент е транзит меѓу партнери, а машина зад портата е друга патека за препраќање. Едно дарежливо правило може случајно да ги дозволи сите три, и така групната политика станува рамна мрежа со дополнителни чекори. Запишете ја класата покрај секој ред за да опстане намерата по следното уредување.

Ставете ги правилата таму каде што преживуваат

Додадете ги одлуките на истото место каде што се одржува остатокот од огнената брана, пред секое дозволувачко правило што инаку би ги проголтало. Редоследот на правилата е дел од политиката, а точно правило ставено по широко дозволување не спроведува ништо. Забележете ги броевите на правилата пред и по промената. Политика што постои во уредувач, но не во активниот сет правила, е план, не контрола.

Одлучете што се случува со тековите што веќе постојат кога политиката се менува, зашто сесија отворена пред промената може да продолжи по неа. Ако член што заминува мора веднаш да изгуби пристап, сетот правила треба начин да ја прекине таа состојба наместо да чека врската сама да се затвори.

Направете ги правилата трајни преку механизмот што го поседува остатокот од огнената брана, и запишете ја матрицата покрај нив. Незапишаната политика повторно се изведува од меморијата при следниот инцидент, обично од некој што брза.

Докажете го од двете страни

Тестирајте достапност во иста група, неуспех меѓу групи и заедничката служба од еден клиент во секоја група. Еден тест од еден клиент докажува половина од матрицата, а половината што се испушта обично е погрешната. Повторете го правецот на забрана двапати, зашто кеширана сесија може да скрие грешка во спроведувањето. Забележете кој пар го тестиравте за следниот човек да не го повторува.

Повторете ја проверката на IPv6 ако тунелот го носи, и задржете ја обичната автентикација на апликациите. Префиксот на изворот не е сметка, па поминувањето на мрежната политика не значи дека службата треба да му верува на повикувачот.

Поврзани статии