Du klientaj grupoj, unu servilo: kie apliki la politikon
Subretoj etikedas grupojn; ili ne izolas ilin. Decidu, kiu plusenda vojo posedas la regulon, poste skribu la matricon, kiun la efektivigo devas plenumi.
Meti du klientajn grupojn en malsamajn subretojn aspektas kiel izolado, kaj ĝi ne estas. Adresoj priskribas, de kie pakaĵo ŝajne venas, dum permeso estas decido farita de tio, kio ĝin plusendas. Tiun demandon responas agordo, ne la masko, do decidu, kiu komponanto plusendas samtavolan trafikon antaŭ ol vi skribos ajnan regulon.
Subreto estas etikedo, ne regulo
Asigni unu naĝejon por grupo donas al vi legeblajn adresojn kaj nenion alian. Kliento, kiu akceptas plian vojon, gajnis atingeblon, kaj atingeblo ne estas rajtigo. La permeso paroli kuŝas en la plusenda decido, kiu povas loĝi en la demono aŭ en la kerno laŭ tio, kiel la servilo estas agordita.
Adresa posedo estas tio, kio igas prefikson utila kiel grup-elektilo. Ĉiu aŭtentikigita identeco devas mapi al antaŭvidebla adreso aŭ gamo, kaj tiu mapado malsukcesas tuj kiam pluraj aparatoj dividas unu akreditaĵon kaj unu asignon. Solvu identecon kaj samtempecon antaŭ ol fidi fontan prefikson, ĉar politiko, kiu divenas, kiu maŝino vokas, rajtigas la malĝustan en la plej malbona momento.
Elektu la vojon, kiu portas samtavolan trafikon
Kiam la demono plusendas samtempulajn pakaĵojn ene de sia propra procezo, tiuj pakaĵoj neniam atingas la plusendan hokon de la gastiganto, do kernregularo ne povas vidi ilin. Malŝaltu tiun internan plusendadon kaj la kerno fariĝas la plusenda punkto, kie validas ordinaraj plusendaj reguloj.
# 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
Elŝutitaj datenkanaloj kaj produkto-administritaj serviloj publikigas siajn proprajn plenum-modelojn, do konfirmu, kiun vi uzas, anstataŭ supozi la komunuman konduton. La fiasko inda eviti estas regulo, kiu aspektas ĝusta en revizio kaj neniam estas konsultita dum stato.
Skribu la matricon antaŭ ol skribi regulojn
Mallonga matrico estas pli facile reviziebla ol regularo, kaj ĝi estas la kontrakto, kiun la efektivigo devas plenumi: samgrupaj samtempuloj permesataj, intergrupaj samtempuloj malpermesataj, ambaŭ grupoj permesataj al unu nomita komuna servo, ĉio alia malpermesata. Skribu tiujn kvar liniojn antaŭ ol malfermi fajroŝirma redaktilon. Recenzanto, kiu ne legas regularan sintakson, tamen povas kontroli la matricon. Tiam la efektivigo nur devas kongrui kun la linioj.
| 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 |
Tenu la tri destinajn klasojn apartaj dum vi skribas ĝin. Servo sur la VPN-gastiganto estas loka enigo, alia kliento estas samtempula transito, kaj maŝino malantaŭ la enirejo estas malsama plusenda vojo. Unu malavara regulo povas hazarde doni ĉiujn tri, kaj tiel grupa politiko transformiĝas en platigita reto kun pliaj paŝoj. Skribu la klason apud ĉiu vico, por ke la intenco pluvivu la sekvan redakton.
Metu la regulojn tie, kie ili pluvivas
Aldonu la decidojn en la sama loko, kie la resto de la fajroŝirmilo estas konservata, antaŭ ajna permesa regulo, kiu alie englutus ilin. La ordo de reguloj estas parto de la politiko, kaj ĝusta regulo metita post vasta akcepto plenumas nenion. Notu la numerojn de la reguloj antaŭ kaj post la ŝanĝo. Politiko, kiu ekzistas en redaktilo sed ne en la kuranta regularo, estas plano, ne kontrolo.
Decidu, kio okazas al fluoj, kiuj jam ekzistas, kiam la politiko ŝanĝiĝas, ĉar seanco malfermita antaŭ la ŝanĝo povas daŭri poste. Se foriranta membro devas tuj perdi aliron, la regularo bezonas manieron fini tiun staton anstataŭ atendi, ke la ligo fermiĝu mem.
Daŭrigu la regulojn per la mekanismo, kiu posedas la reston de la fajroŝirmilo, kaj registru la matricon apud ili. Neregistrita politiko estas re-derivata el memoro dum la sekva incidento, kutime de iu hastema.
Pruvu ĝin de ambaŭ flankoj
Testu atingeblon ene de la sama grupo, malsukceson inter grupoj kaj la komunan servon de unu kliento en ĉiu grupo. Unu sola testado de unu sola kliento pruvas duonon de la matrico, kaj la duono, kiun ĝi preterlasas, estas kutime la malĝusta. Ripetu la malpermesan direkton dufoje, ĉar kaŝmemora seanco povas kaŝi plenum-eraron. Registru, kiun paron vi testis, por ke la sekva persono ne ripetu ĝin.
Ripetu la kontrolon sur IPv6 se la tunelo portas ĝin, kaj konservu ordinarajn aplikaĵajn aŭtentikigojn. Fonta prefikso ne estas konto, do trapasi la retan politikon ne signifas, ke servo devus fidi la alvokanton.