Gerarchie
I sette sostantivi di una configurazione Warden, e come si collegano in una sola policy per client.
Il modello
La configurazione di Warden ha sette entità. Dividile in due compiti e tutto il modello va a posto.
Ogni configurazione Warden è fatta di sette sostantivi: profili, dispositivi, gruppi, subnet, pianificazioni, blocklist e Custom List. Si dividono nettamente lungo una sola linea:
- Identità: chi è questo client? Dispositivi, gruppi e subnet sono tre modi di riconoscere un client e legarlo a un profilo.
- Policy: cosa riceve quel client? Blocklist e Custom List sono il materiale grezzo del filtraggio; un profilo li riunisce in un unico comportamento con un nome.
Il profilo è il cardine tra le due. Le entità di identità puntano a un profilo; un profilo punta alla policy che applica. Non ci sono altri collegamenti: è questo che tiene il modello abbastanza piccolo da averlo tutto in testa.
La mappa
I profili sono il centro. L’identità entra da sinistra, la policy sta a destra, e una pianificazione può cambiare il profilo per un po'.
Identità · chi è il client?
- device
- group
- subnet
- default_profile
Policy · cosa applica?
- blocklists
- custom_lists
Leggila tutta d’un fiato: un dispositivo, un gruppo o una subnet punta a esattamente un profilo, e se nessuno corrisponde il client viene raccolto dal default_profile del server. Ogni blocklist raggiunge quel profilo con il base della lista, a meno che il profilo non lo cambi per quella lista (deny, allow o ignore); il profilo monta anche le sue Custom List. La pianificazione è l’unico pezzo che tiene conto dell’orario: durante la sua finestra mette un profilo diverso al posto di quello di un dispositivo o di un gruppo abbinato, poi restituisce il controllo.
I ruoli
A cosa serve ogni entità, da che lato della linea tra identità e policy sta, e quanti profili tocca.
| Entità | Ruolo | Strato | Verso un profilo |
|---|---|---|---|
| Profilo | L’insieme della policy: blocklist, Custom List, la risposta di blocco, record locali facoltativi | Policy, il centro | è il centro |
| Dispositivo | Un client, fissato per IP e/o MAC | Identità | punta a 1 (facoltativo) |
| Gruppo | Un insieme con nome di dispositivi che condividono un profilo | Identità | 1 profilo, molti dispositivi |
| Subnet | Un range CIDR con un profilo di ripiego (vince il prefisso più lungo) | Identità | 1 profilo, molti CIDR |
| Pianificazione | Un cambio a tempo verso un profilo diverso, per un dispositivo o un gruppo | Sovrapposizione | porta a 1 |
| Blocklist (in inglese) | Un elenco di domini, scaricato via HTTPS o importato da un file locale; il suo base è deny, allow o ignore | Sorgente di policy | usata da molti |
| Custom List (in inglese) | Un file con le tue regole: allow, deny, wildcard o regex | Sorgente di policy | montata da molti |
Alcuni fatti di cardinalità che la tabella riassume:
- Un dispositivo punta a un profilo (facoltativo) e può appartenere a molti gruppi.
- Un gruppo ha un profilo e molti dispositivi; una subnet ha un profilo e molti CIDR.
- Una blocklist o una Custom List è usata da molti profili: la scrivi una volta e la monti dove vuoi.
- Una pianificazione ha esattamente un bersaglio (un dispositivo o un gruppo, mai entrambi) e un profilo da sovrapporre.
L’identità non porta mai policy
La divisione tra identità e policy è voluta, ed è il motivo per cui un profilo può governare una dozzina di client senza duplicazioni.
Le entità di identità (dispositivi, gruppi, subnet) non contengono mai regole di filtraggio proprie. Si limitano a puntare a un profilo. Tutta la policy vera (quali liste, quali regole, cosa rispondere quando una query viene bloccata) sta sul profilo. Questa separazione permette a un solo profilo kids di governare un tablet, un portatile e un’intera VLAN senza tre copie delle stesse regole: cambi il profilo una volta e ogni client legato a lui si aggiorna.
Dalla 0.44.0 non c’è alcuna eccezione. Un dispositivo non può avere regole allow o deny proprie. Un’eccezione per un client significa un profilo per quel client, con una Custom List montata sopra.
Dove prosegue ogni entità
Questa pagina è la mappa. Ogni sostantivo ha la sua guida con lo schema completo, la CLI ed esempi svolti.
- Profili: l’insieme della policy a cui punta ogni altra entità.
- Dispositivi, Gruppi, Subnet: i tre strati di identità.
- Pianificazioni: profili sovrapposti per un periodo di tempo.
- Blocklist (in inglese) e Regole personalizzate (in inglese): le sorgenti di policy da cui attinge un profilo.
Vedi anche
Hai appena visto come sono collegate le entità. Per l’ordine in cui il resolver le consulta (quale profilo vince quando un client corrisponde allo stesso tempo a un dispositivo, a un gruppo e a una subnet) vedi il processo di filtraggio. Questa pagina è la struttura; quella è il funzionamento a runtime.