Tailscale a senso unico¶
Il problema¶
Con la policy predefinita ogni nodo della rete privata raggiunge tutti gli altri. Un server esposto a Internet, se compromesso, avrebbe quindi accesso alla rete di casa.
La soluzione¶
Dare un tag ai server esterni e scrivere una policy con due sole regole:
- i dispositivi dell'utente raggiungono tutto;
- i server con il tag raggiungono solo il DNS interno.
{
"tagOwners": { "tag:vps": ["autogroup:admin"] },
"grants": [
{ "src": ["autogroup:member"], "dst": ["*"], "ip": ["*"] },
{ "src": ["tag:vps"], "dst": ["100.64.0.1"], "ip": ["53"] }
]
}
L'indirizzo nell'esempio va sostituito con quello del proprio DNS. La regola predefinita che permette tutto va tolta: finché c'è, il tag non ha alcun effetto.
Conseguenze da conoscere¶
- I server con il tag non si raggiungono nemmeno tra loro.
- Tutto ciò che controlla i server deve partire da casa: monitoraggio, gestione dei container, raccolta dei log.
- Un nuovo dispositivo di casa ha accesso completo solo se intestato all'utente e senza tag.
- Sui server conviene non accettare le reti annunciate da altri nodi.
Verifica¶
Da un server, provare a raggiungere un nodo di casa: deve fallire. Da casa, raggiungere il server: deve funzionare. Vanno provate entrambe le direzioni dopo ogni modifica alla policy.