Squid PROXY protokolü: HTTP erişim denetimlerinden önce gönderene güvenin
Squid'deki PROXY protokolünün gönderici denetimlerini hedef alan ve istemci isteği yetkilendirmesinden ayrı tutun.
Meta verileri sağlayan aktarıcıya güvenmek için proxy_protocol_access kullanın, izin verilen web sitelerini seçmek için değil. Squid 5–7'de denetim, TCP kurulduktan sonra require-proxy-header dinleyicisinde bir kez, HTTP istek başlıkları işlenmeden önce çalışır:
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Örnekteki aktarıcı adresini değiştirin ve ağ erişimini bu dinleyiciyle sınırlayın. Bu aşamada Squid, sağlanan meta verileri kabul etmeden önce gerçek TCP eşini denetler. Kabulden sonra, sonraki ACL denetimleri ve günlükleme için beyan edilen istemci adresini kullanır. Bir aktarıcıya beyan ettiği istemci adresine dayanarak güvenmek bu sırayı tersine çevirir.
Sonraki istemci kaynağı ve hedef izinleri için http_access öğesini saklayın. Meta verileri kabul etmek web sitesi erişimini yetkilendirmez ve hedef alan adı ACL'si önceki gönderici güveni sorusunu yanıtlayamaz.
Gönderen ve alıcı, PROXY protokolünün desteklenen bir sürümü üzerinde anlaşmalıdır. Sıradan bir HTTP istemcisi, zorunlu önekli bu dinleyiciyi olağan bir vekil sunucu uç noktası olarak kullanamaz. Her iki biçim de gerekiyorsa, aynı dinleme adresini ve bağlantı noktasını çoğaltmak yerine bilinçli olarak ayrı uç noktalar kullanın.
Güvenilen bir aktarıcı, sağladığı istemci kimliği aracılığıyla adres tabanlı yetkilendirmeyi etkileyebilir. Bu yeteneği yalnızca amaçlanan aracıya verin.