iptables --uid-owner matcher Squids lokale sockets, ikke LAN-brugere
Brug betydningen af --uid-owner som lokal socket-skaber, når du ræsonnerer om Squids udgående trafik, og hold videresendte LAN-pakker adskilt.
iptables' owner-match kan identificere pakker, der er oprettet af en lokal proces' socket. For eksempel refererer -m owner --uid-owner 1234 til en lokal socket ejet af UID 1234; det identificerer ikke et HTTP-proxybrugernavn.
På en maskine, der kører Squid, skal du skelne mellem disse veje:
| Trafik | Relevant forskel |
|---|---|
| En klient opretter forbindelse til Squid på denne maskine | Indgående forbindelse til proxy-lytteren |
| Squid åbner en destinationsforbindelse | Lokalt oprettet udgående socket |
| En LAN-klient router direkte gennem denne maskine | Videresendt trafik uden lokalt skaber-socket |
Udvidelsen er gyldig i OUTPUT og POSTROUTING. Videresendte pakker har ingen tilknyttet lokal socket til dette match, så en FORWARD-regel kan ikke finde fjerncomputernes bruger ved at spørge efter Squids UID.
En politik, der tillader Squids egne udgående sockets, dækker derfor kun én del af et netværksdesign, der udelukkende bygger på proxy. Gateway-videresendelse, lytteradgang, andre tilladte tjenester og den faktiske proxy-tjenestekonto skal håndteres i deres rette omfang.
Brug den konfigurerede runtime-identitet i stedet for at antage, at Squid kører som nobody. Flere processer kan dele ét UID, så en UID-baseret tilladelse er en kontogrænse, ikke bevis for, at én bestemt eksekverbar fil har oprettet hver tilladt forbindelse.