iptables --uid-owner odgovara lokalnim socketima Squida, a ne LAN korisnicima
Koristite značenje --uid-owner kao lokalnog stvaratelja socketa kada razmišljate o Squidovu izlazu 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 računalu na kojem radi Squid razlikujte ove putanje:
| Promet | Relevantna razlika |
|---|---|
| Klijent se povezuje sa Squidom na ovom računalu | Dolazna veza prema proxy poslužitelju |
| Squid otvara vezu prema odredištu | Lokalno stvoren odlazni socket |
| LAN klijent usmjerava izravno kroz ovo računalo | Proslijeđeni promet bez lokalnog stvaratelja socketa |
Proširenje vrijedi 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čunala pitajući za Squidov UID.
Pravilo koje dopušta Squidove vlastite odlazne sockete stoga pokriva samo jedan dio mrežnog dizajna koji se oslanja isključivo na proxy. Prosljeđivanje kroz pristupnik, pristup poslužitelju, druge dopuštene usluge i stvarni račun proxy usluge moraju se rješavati u odgovarajućem opsegu.
Koristite konfigurirani identitet izvršavanja umjesto pretpostavke da Squid radi kao nobody. Više procesa može dijeliti jedan UID, pa je dopuštenje temeljeno na UID-u granica računa, a ne dokaz da je jedan određeni izvršni program stvorio svaku dopuštenu vezu.