Pomocí proxy_protocol_access důvěřujte relayi, který dodává metadata, nikoli vybírejte povolené weby. V Squidu 5–7 proběhne kontrola jednou po navázání TCP na listeneru require-proxy-header, tedy před zpracováním hlaviček požadavku HTTP:

acl trusted_relay src 192.0.2.20/32
http_port 3128 require-proxy-header
proxy_protocol_access allow trusted_relay
proxy_protocol_access deny all

Nahraďte ukázkovou adresu relaye a omezujte síťový přístup k tomuto listeneru. V této fázi Squid ověří skutečný TCP protějšek, než přijme dodaná metadata. Po přijetí používá tvrzenou adresu klienta pro následné kontroly ACL i logování. Důvěra v relay podle adresy klienta, kterou tvrdí, by toto pořadí obrátila.

Ponechte http_access pro pozdější oprávnění ke zdroji klienta a cíli. Přijetí metadat neautorizuje přístup k webu a ACL cílové domény nemůže odpovědět na dřívější otázku důvěry v odesílatele.

Odesílatel i příjemce se musí shodnout na podporované verzi protokolu PROXY. Běžný klient HTTP nemůže tento listener s povinným prefixem použít jako obyčejný koncový bod proxy. Potřebujete-li obě podoby, použijte záměrně oddělené koncové body místo zdvojení stejné naslouchací adresy a portu.

Důvěryhodný relay může ovlivnit autorizaci podle adresy prostřednictvím identity klienta, kterou dodává. Tuto schopnost přiznejte jen zamýšlenému prostředníkovi.

Související články