iptables --uid-owner odgovara lokalnim socketima Squida, a ne LAN korisnicima
Koristite značenje --uid-owner kao lokalnog kreatora socketa kada razmatrate Squidov izlaz i držite proslijeđene LAN pakete odvojeno.
Podudaranje owner u iptablesu može prepoznati pakete koje je stvorio socket lokalnog procesa. Na primjer, -m owner --uid-owner 1234 odnosi se na lokalni socket u vlasništvu UID-a 1234; ne prepoznaje korisničko ime HTTP proxyja.
Na mašini na kojoj radi Squid razlikujte ove putanje:
| Saobraćaj | Relevantna razlika |
|---|---|
| Klijent se povezuje na Squid na ovoj mašini | Dolazna veza prema proxy listeneru |
| Squid otvara vezu prema odredištu | Lokalno stvoren odlazni socket |
| LAN klijent usmjerava direktno kroz ovu mašinu | Proslijeđeni saobraćaj bez lokalnog kreatora socketa |
Ekstenzija važi u OUTPUT i POSTROUTING. Proslijeđeni paketi nemaju pridruženi lokalni socket za ovo podudaranje, pa FORWARD pravilo ne može otkriti korisnika udaljenog računara pitajući za Squidov UID.
Politika koja dozvoljava Squidove vlastite odlazne sockete zato pokriva samo jedan dio dizajna mreže zasnovane isključivo na proxyju. Prosljeđivanje kroz gateway, pristup listeneru, druge dozvoljene usluge i stvarni račun proxy usluge moraju se rješavati u odgovarajućem obimu.
Koristite konfigurirani runtime identitet umjesto pretpostavke da Squid radi kao nobody. Više procesa može dijeliti jedan UID, pa je dozvola zasnovana na UID-u granica računa, a ne dokaz da je jedan određeni izvršni fajl stvorio svaku dozvoljenu vezu.