iptables --uid-owner dopasowuje lokalne gniazda Squida, a nie użytkowników LAN
Rozważając ruch wychodzący Squida, używaj znaczenia --uid-owner jako twórcy lokalnego gniazda i trzymaj przekazywane pakiety LAN osobno.
Dopasowanie owner w iptables potrafi rozpoznać pakiety utworzone przez gniazdo lokalnego procesu. Na przykład -m owner --uid-owner 1234 odnosi się do lokalnego gniazda należącego do UID 1234; nie identyfikuje nazwy użytkownika proxy HTTP.
Na maszynie z uruchomionym Squidem rozróżniaj te ścieżki:
| Ruch | Istotna różnica |
|---|---|
| Klient łączy się z Squidem na tej maszynie | Połączenie przychodzące do nasłuchu proxy |
| Squid otwiera połączenie do celu | Lokalnie utworzone gniazdo wychodzące |
| Klient LAN kieruje bezpośrednio przez tę maszynę | Ruch przekazywany bez lokalnego gniazda twórcy |
Rozszerzenie działa w OUTPUT i POSTROUTING. Przekazywane pakiety nie mają powiązanego lokalnego gniazda dla tego dopasowania, więc reguła FORWARD nie może ustalić użytkownika zdalnego komputera, pytając o UID Squida.
Polityka zezwalająca na własne gniazda wychodzące Squida obejmuje więc tylko jedną część projektu sieci opartej wyłącznie na proxy. Przekazywanie przez bramę, dostęp do nasłuchu, inne dozwolone usługi i rzeczywiste konto usługi proxy trzeba obsłużyć we właściwym zakresie.
Używaj skonfigurowanej tożsamości uruchomieniowej, zamiast zakładać, że Squid działa jako nobody. Wiele procesów może dzielić jeden UID, więc zezwolenie oparte na UID jest granicą konta, a nie dowodem, że konkretny plik wykonywalny utworzył każde dozwolone połączenie.