Squids PROXY-protokoll: stol på avsenderen før HTTP-tilgangskontrollene
Hold avsenderkontrollene i Squids PROXY-protokoll atskilt fra autorisasjon av målområdet og klientforespørselen.
Bruk proxy_protocol_access for å stole på reléet som leverer metadataene, ikke for å velge tillatte nettsteder. I Squid 5–7 kjører kontrollen én gang etter TCP-oppsettet på en require-proxy-header-lytter, før HTTP-forespørselshoder behandles:
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 allErstatt reléadressen i eksempelet og begrens nettverkstilgangen til denne lytteren. På dette trinnet kontrollerer Squid den faktiske TCP-motparten før de leverte metadataene godtas. Etter godkjenning bruker den den påståtte klientadressen for de påfølgende ACL-kontrollene og for logging. Å stole på et relé ut fra klientadressen det hevder, ville snu denne rekkefølgen.
Behold http_access for de senere tillatelsene for klientkilde og mål. Godkjenning av metadata autoriserer ikke tilgang til nettsteder, og en ACL for målområdet kan ikke svare på det tidligere spørsmålet om avsendertillit.
Avsender og mottaker må bli enige om en støttet versjon av PROXY-protokollen. En vanlig HTTP-klient kan ikke bruke denne lytteren med obligatorisk prefiks som et vanlig proxy-endepunkt. Hvis begge former trengs, bruk bevisst atskilte endepunkter i stedet for å duplisere samme lytteadresse og port.
Et klarert relé kan påvirke adressebasert autorisasjon gjennom klientidentiteten det leverer. Gi bare den tiltenkte mellomleddet denne muligheten.