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.
Owner-treffet i iptables kan identifisere pakker som er laget av socketen til en lokal prosess. For eksempel peker -m owner --uid-owner 1234 på en lokal socket som eies av UID 1234; det identifiserer ikke et brukernavn for HTTP-proxy.
På en maskin som kjører Squid må du skille mellom disse veiene:
| Trafikk | Relevant forskjell |
|---|---|
| En klient kobler seg til Squid på denne maskinen | Innkommende forbindelse til proxy-lytteren |
| Squid åpner en forbindelse mot en destinasjon | Lokalt opprettet utgående socket |
| En LAN-klient ruter direkte gjennom denne maskinen | Videresendt trafikk uten lokal skaper-socket |
Utvidelsen gjelder i OUTPUT og POSTROUTING. Videresendte pakker har ingen tilknyttet lokal socket for dette treffet, så en FORWARD-regel kan ikke avdekke brukeren på den eksterne maskinen ved å spørre etter UID-en til Squid.
En policy som slipper gjennom Squids egne utgående sockets, dekker derfor bare én del av et nettverksdesign som bygger utelukkende på proxy. Videresending via gateway, 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.