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:

TrafikkRelevant forskjell
En klient kobler seg til Squid på denne maskinenInnkommende forbindelse til proxy-lytteren
Squid åpner en forbindelse mot en destinasjonLokalt opprettet utgående socket
En LAN-klient ruter direkte gjennom denne maskinenVideresendt 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.

Relaterte artikler