iptables --uid-owner treffer Squids lokale sockets, ikke LAN-brukere
Bruk betydningen av --uid-owner som lokal socket-skaper når du vurderer Squids utgående trafikk, og hold videresendte LAN-pakker atskilt.
iptables' owner-match kan identifisere pakker som er opprettet av en lokal prosess' socket. For eksempel viser -m owner --uid-owner 1234 til en lokal socket som eies av UID 1234; det identifiserer ikke et HTTP-proxybrukernavn.
På en maskin som kjører Squid, skill mellom disse veiene:
| Trafikk | Relevant forskjell |
|---|---|
| En klient kobler til Squid på denne maskinen | Innkommende forbindelse til proxy-lytteren |
| Squid åpner en destinasjonsforbindelse | Lokalt opprettet utgående socket |
| En LAN-klient ruter direkte gjennom denne maskinen | Videresendt trafikk uten lokal skaper-socket |
Utvidelsen er gyldig i OUTPUT og POSTROUTING. Videresendte pakker har ingen tilknyttet lokal socket for denne matchen, så en FORWARD-regel kan ikke avdekke brukeren på den eksterne maskinen ved å spørre etter Squids UID.
En policy som tillater Squids egne utgående sockets, dekker derfor bare én del av et nettverksdesign som bygger utelukkende på proxy. Gateway-videresending, lyttertilgang, andre tillatte tjenester og den faktiske proxy-tjenestekontoen må håndteres i sitt rette omfang.
Bruk den konfigurerte kjøretidsidentiteten i stedet for å anta at Squid kjører som nobody. Flere prosesser kan dele én UID, så en UID-basert tillatelse er en kontogrense, ikke bevis for at én bestemt kjørbar fil opprettet hver tillatte forbindelse.