iptables --uid-owner corrisponde ai socket locali di Squid, non agli utenti LAN
Usa il significato di --uid-owner come creatore di socket locale quando ragioni sull'egress di Squid e tieni separati i pacchetti LAN inoltrati.
La corrispondenza owner di iptables può identificare i pacchetti creati dal socket di un processo locale. Ad esempio, -m owner --uid-owner 1234 si riferisce a un socket locale di proprietà dell'UID 1234; non identifica un nome utente del proxy HTTP.
Su una macchina che esegue Squid, distingui questi percorsi:
| Traffico | Distinzione rilevante |
|---|---|
| Un client si connette a Squid su questa macchina | Connessione in ingresso al listener del proxy |
| Squid apre una connessione verso una destinazione | Socket in uscita creato localmente |
| Un client LAN instrada direttamente attraverso questa macchina | Traffico inoltrato senza socket creatore locale |
L'estensione è valida in OUTPUT e POSTROUTING. I pacchetti inoltrati non hanno un socket locale associato per questa corrispondenza, quindi una regola FORWARD non può scoprire l'utente del computer remoto chiedendo l'UID di Squid.
Una politica che consente i socket in uscita propri di Squid copre quindi solo una parte di un progetto di rete basato unicamente sul proxy. L'inoltro tramite gateway, l'accesso al listener, gli altri servizi consentiti e l'account effettivo del servizio proxy devono essere gestiti nel loro ambito appropriato.
Usa l'identità di runtime configurata invece di presumere che Squid giri come nobody. Più processi possono condividere un UID, quindi un'autorizzazione basata sull'UID è un confine di account, non la prova che uno specifico eseguibile abbia creato ogni connessione consentita.