Shoda owner v iptables umí rozpoznat pakety vytvořené socketem lokálního procesu. Například -m owner --uid-owner 1234 označuje lokální socket vlastněný UID 1234; neidentifikuje uživatelské jméno HTTP proxy.

Na stroji se Squidem rozlišujte tyto cesty:

ProvozPříslušný rozdíl
Klient se připojuje k Squidu na tomto strojiPříchozí spojení k naslouchajícímu proxy
Squid otevírá spojení k cíliLokálně vytvořený odchozí socket
Klient LAN směruje přímo přes tento strojPřeposílaný provoz bez lokálního socketu tvůrce

Rozšíření platí v OUTPUT a POSTROUTING. Přeposílané pakety nemají pro tuto shodu přidružený lokální socket, takže pravidlo FORWARD nemůže zjistit uživatele vzdáleného počítače dotazem na UID Squidu.

Zásada povolující vlastní odchozí sockety Squidu tedy řeší jen jednu část návrhu sítě postavené výhradně na proxy. Přeposílání brány, přístup k naslouchajícímu portu, další povolené služby a skutečný účet proxy služby se musí řešit ve svém rozsahu.

Používejte nakonfigurovanou identitu za běhu, místo abyste předpokládali, že Squid běží jako nobody. Několik procesů může sdílet jedno UID, takže povolení podle UID je hranice účtu, nikoli důkaz, že konkrétní spustitelný soubor vytvořil každé povolené spojení.

Související články