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:

TrafikRelevant forskel
En klient opretter forbindelse til Squid på denne maskineIndgående forbindelse til proxy-lytteren
Squid åbner en destinationsforbindelseLokalt oprettet udgående socket
En LAN-klient router direkte gennem denne maskineVideresendt 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.

Relaterede artikler