iptables --uid-owner komt overeen met Squids lokale sockets, niet met LAN-gebruikers
Gebruik de betekenis van --uid-owner als maker van een lokale socket bij het beoordelen van Squids uitgaande verkeer en houd doorgestuurde LAN-pakketten apart.
De owner-match van iptables kan pakketten identificeren die zijn gemaakt door de socket van een lokaal proces. Bijvoorbeeld verwijst -m owner --uid-owner 1234 naar een lokale socket die eigendom is van UID 1234; het identificeert geen HTTP-proxygebruikersnaam.
Op een machine waarop Squid draait, onderscheid deze paden:
| Verkeer | Relevant onderscheid |
|---|---|
| Een client maakt verbinding met Squid op deze machine | Inkomende verbinding naar de proxy-listener |
| Squid opent een bestemmingsverbinding | Lokaal gemaakte uitgaande socket |
| Een LAN-client routeert rechtstreeks via deze machine | Doorgestuurd verkeer zonder lokale maker-socket |
De extensie is geldig in OUTPUT en POSTROUTING. Doorgestuurde pakketten hebben geen bijbehorende lokale socket voor deze match, dus een FORWARD-regel kan de gebruiker van de externe computer niet achterhalen door naar Squids UID te vragen.
Een beleid dat Squids eigen uitgaande sockets toestaat, dekt daarom slechts één deel van een netwerkontwerp dat uitsluitend op een proxy leunt. Doorsturen via de gateway, toegang tot de listener, andere toegestane diensten en het werkelijke proxy-serviceaccount moeten in hun eigen juiste bereik worden behandeld.
Gebruik de geconfigureerde runtime-identiteit in plaats van aan te nemen dat Squid als nobody draait. Meerdere processen kunnen één UID delen, dus een op UID gebaseerde toestemming is een accountgrens, geen bewijs dat één bepaald uitvoerbaar bestand elke toegestane verbinding heeft gemaakt.