iptables --uid-owner se potrivește socketurilor locale ale Squid, nu utilizatorilor LAN
Folosește sensul de creator de socket local al --uid-owner când analizezi ieșirea Squid și ține pachetele LAN redirecționate separat.
Potrivirea owner din iptables poate identifica pachetele create de socketul unui proces local. De exemplu, -m owner --uid-owner 1234 se referă la un socket local deținut de UID 1234; nu identifică un nume de utilizator de proxy HTTP.
Pe o mașină care rulează Squid, distinge aceste căi:
| Trafic | Distincția relevantă |
|---|---|
| Un client se conectează la Squid pe această mașină | Conexiune de intrare către listenerul proxy |
| Squid deschide o conexiune către destinație | Socket de ieșire creat local |
| Un client LAN rutează direct prin această mașină | Trafic redirecționat fără socket creator local |
Extensia este valabilă în OUTPUT și POSTROUTING. Pachetele redirecționate nu au un socket local asociat pentru această potrivire, așa că o regulă FORWARD nu poate afla utilizatorul calculatorului aflat la distanță întrebând care este UID-ul Squid.
Așadar, o politică ce permite socketurile de ieșire proprii ale Squid acoperă doar o parte a unui proiect de rețea bazat exclusiv pe proxy. Redirecționarea prin gateway, accesul la listener, alte servicii permise și contul real al serviciului proxy trebuie tratate în domeniul lor potrivit.
Folosește identitatea de execuție configurată în loc să presupui că Squid rulează ca nobody. Mai multe procese pot partaja un singur UID, deci o permisiune bazată pe UID este o limită de cont, nu dovada că un anumit executabil a creat fiecare conexiune permisă.