Å plassera to klientgrupper på ulike subnett ser ut som isolasjon, og er det ikkje. Adresser skildrar kvar ein pakke tilsynelatande kjem frå, medan løyve er ei avgjerd teken av det som videresender han. Det spørsmålet blir svara av konfigurasjonen og ikkje av maska, so avgjer kva komponent som videresender peer-trafikk før du skriv nokon regel.

Eit subnett er ei merkelapp, ikkje ein regel

Å tildela éin pool per gruppe gir deg lesbare adresser og ingenting anna. Ein klient som godtek ei ekstra rute har fått rekkevidd, og rekkevidd er ikkje autorisasjon. Løyvet til å snakka ligg i videresendingsavgjerda, som kan leva i daemonen eller i kjernen avhengig av korleis tenaren er konfigurert.

Adresseigar er det som gjer eit prefiks brukbart som gruppeveljar. Kvar autentiserte identitet må knytast til ei føreseieleg adresse eller eit område, og den koplinga sviktar så snart fleire einingar deler éin påloggingsinformasjon og éi tildeling. Løys identitet og samtidigheit før du stolar på eit kjelde-prefiks, for ein politikk som gissar kva maskin som ringjer, autoriserer den gale i det verste augneblinken.

Vel vegen som ber peer-trafikk

Når daemonen videresender peer-pakkar inne i sin eigen prosess, når desse pakkane aldri videresendingskroken på verten, so ein kjerneregel kan ikkje sjå dei. Slå av den interne videresendinga, og kjernen blir videresendingspunktet, der vanlege videresendingsreglar gjeld.

# 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

Avlasta datakanalar og produktstyrte tenarar publiserer eigne handhevingsmodellar, so stadfest kva du køyrer i staden for å anta åtferda til fellesskapet. Feilen det er verdt å unngå er ein regel som ser rett ut i ein gjennomgang og aldri blir konsultert under køyring.

Skriv matrisa før du skriv reglar

Ei kort matrise er lettare å gjennomgå enn eit regelsett, og det er kontrakten implementasjonen må oppfylla: peer i same gruppe tillatne, peer på tvers av grupper avviste, begge grupper tillatne til éin namngitt delt teneste, alt anna avvist. Skriv ned dei fire linjene før du opnar ein brannmur-editor. Ein gjennomgangar som ikkje les regel-syntaks kan likevel kontrollera matrisa. Deretter må implementasjonen berre samsvara med linjene.

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

Hald dei tre destinasjonsklassane frå kvarandre medan du skriv henne. Ei teneste på VPN-verten er lokal inngang, ein annan klient er peer-transitt, og ei maskin bak gatewayen er ein annan videresendingsveg. Éin raus regel kan ved eit uhell gje alle tre, og det er slik ein gruppepolitikk blir eit flatt nettverk med ekstra steg. Skriv klassen ved kvar rad slik at intensjonen overlever neste redigering.

Set reglane der dei overlever

Legg til avgjerdene på same stad der resten av brannmuren blir vedlikehalden, framfor kvar tillatande regel som elles ville svelgja dei. Regelrekkjefølgje er ein del av politikken, og ein korrekt regel plassert etter ein brei aksept handhevar ingenting. Noter reglenummera før og etter endringa. Ein politikk som finst i ein editor men ikkje i det køyrande regelsettet, er ein plan, ikkje ein kontroll.

Avgjer kva som skjer med straumar som allereie finst når politikken blir endra, for ein sesjon som vart opna før endringa kan halda fram etterpå. Viss eit medlem som forlèt må mista tilgang med ein gong, treng regelsettet ein måte å avslutta den tilstanden på i staden for å venta på at tilkoblinga lukkar seg sjølv.

Gjer reglane varige gjennom mekanismen som eig resten av brannmuren, og registrer matrisa ved sida av. Ein uregistrert politikk blir leidd ut på nytt frå minnet under neste hending, vanlegvis av nokon som har det travelt.

Prov det frå begge sider

Test rekkevidd innanfor same gruppe, feil på tvers av grupper og den delte tenesta frå éin klient i kvar gruppe. Éin test frå éin klient provar halve matrisa, og halvdelen han utelèt er vanlegvis den gale. Gjenta avvisingrsretninga to gonger, fordi ein bufra sesjon kan skjula ein handhevingsfeil. Noter kva par du testa, slik at neste person ikkje gjentek det.

Gjenta kontrollen på IPv6 viss tunnelen ber det, og hald vanleg applikasjonsautentisering på plass. Eit kjelde-prefiks er ikkje ein konto, so å bestå nettverkspolitikken tyder ikkje at ei teneste bør stola på den som ringjer.

Relaterte artiklar