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:

RuchIstotna różnica
Klient łączy się z Squidem na tej maszyniePołączenie przychodzące do nasłuchu proxy
Squid otwiera połączenie do celuLokalnie 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.

Powiązane artykuły