Który adres IP klienta widzi nadrzędny serwer proxy?
Śledź adres źródłowy widziany przez nadrzędny serwer proxy i utrzymuj przekazywane metadane klienta w zdefiniowanej granicy zaufania.
Dodanie stacji roboczej do listy dozwolonych niekoniecznie pozwala nowemu podrzędnemu serwerowi proxy łączyć się w jej imieniu:
workstation → local proxy → corporate parent → website
Lokalny serwer proxy otwiera nowe połączenie do nadrzędnego. Zwykle nadrzędny widzi adres wyjściowy tego serwera proxy, być może po NAT. Adres pierwotnej stacji roboczej nie staje się źródłem nowego połączenia tylko dlatego, że zainicjowała całe żądanie.
Ustal bezpośrednie źródło, które nadrzędny serwer faktycznie otrzymuje. Autoryzuj podrzędny serwer proxy tylko dla zamierzonej usługi i zachowaj ograniczenia klienta w podrzędnej instancji. W przeciwnym razie dozwolony pośrednik może dać dostęp każdemu, kto może go osiągnąć.
Istnieje celowy wyjątek od prostego rozumienia socket-peer. Squid 6 i 7 mogą śledzić X-Forwarded-For od jawnie zaufanych partnerów i używać wynikowego pośredniego adresu klienta do wybranych funkcji. Odpowiednie ustawienia decydują, czy źródłowa lista ACL korzysta z tej pochodnej tożsamości; przy włączonej funkcji src nie zawsze jest surowym partnerem.
Ufaj przekazywanej tożsamości tylko od pośrednika, który poprawnie ją oczyszcza i dostarcza. Dowolny X-Forwarded-For podany przez klienta jest wartością deklarowaną, a nie uwierzytelnionym źródłem. Tam, gdzie polityka na to pozwala, rejestruj zarówno bezpośredniego partnera, jak i zaufanego oryginalnego klienta: pierwszy wskazuje, kto połączył się z nadrzędnym, drugi — komu obsługiwał podrzędny.