Какой IP-адрес клиента видит родительский прокси?
Отслеживайте адрес источника, который видит вышестоящий прокси, и держите передаваемые метаданные клиента в заданных границах доверия.
Внесение рабочей станции в список разрешённых не обязательно даёт новому нижестоящему прокси право подключаться от её имени:
workstation → local proxy → corporate parent → website
Локальный прокси открывает новое соединение с родительским. Обычно родительский видит исходящий адрес этого прокси, возможно, после NAT. Адрес исходной рабочей станции не становится источником нового соединения только потому, что она инициировала весь запрос.
Определите непосредственный источник, который родительский прокси действительно получает. Разрешайте нижестоящему прокси только нужную службу и сохраняйте клиентские ограничения на нижестоящем экземпляре. Иначе разрешённый посредник может дать доступ любому, кто до него дотянется.
Есть намеренное исключение из простой трактовки socket-peer. Squid 6 и 7 могут следовать X-Forwarded-For от явно доверенных узлов и использовать полученный косвенный адрес клиента для отдельных функций. Соответствующие настройки решают, применяет ли ACL источника эту производную идентичность; при включённой функции src не всегда является исходным узлом.
Доверяйте переданной идентичности только от посредника, который корректно её очищает и предоставляет. Произвольный X-Forwarded-For, присланный клиентом, — это заявленное значение, а не аутентифицированный источник. Там, где политика позволяет, журналируйте и непосредственный узел, и доверенного исходного клиента: первый показывает, кто подключился к родительскому прокси, второй — кому служил нижестоящий.