Назад | Перейти на главную страницу

Прямой прокси для веб-сервисов с сертификатами клиентов SSL

У меня есть много серверов, которые обращаются к различным внешним веб-сервисам, большинство из которых используют SSL, для некоторых из них требуются сертификаты клиентов. Я хотел бы централизовать конфигурацию клиентских сертификатов и отделить уровень представления от базовых серверов.

Хотя я мог бы использовать Squid для проксирования запросов, я не вижу в документации, как указать Squid выбрать сертификат клиента, специфичный для целевого веб-сервиса. Это возможно?

Один из подходов состоит в том, чтобы поддерживать группу экземпляров stunnel за пределами прокси-сервера Squid, а затем настраивать клиентское программное обеспечение для использования HTTP-запросов с перезаписчиком URL-адресов для маршрутизации запроса через соответствующий экземпляр stunnel, однако это сломается, если я получу ответ XML, ссылающийся на HTTPS DTD (если я не перепишу содержимое полным MITM).

Есть другое решение?

Обновить

Проблема с повторной записью https в http заключается в том, что он затем ломает любые дополнительные ресурсы с http URI, поскольку адаптер протокола затем преобразует их обратно в https!

Я наткнулся Эта статья который решает проблему добавления клиентского сертификата к прокси-соединению, что потенциально является решением. Но требует, чтобы клиент был настроен на использование прокси, также есть проблемы с именованием вещей и тем, как заставить его работать с разделенным DNS. По общему признанию, это не огромные проблемы, но это заставило меня подумать, что то, что я здесь описываю, является шаблоном, используемым большинством провайдеров CDN - поэтому в настоящее время я рассматриваю возможность использования Apache Traffic Server в качестве промежуточного компонента - это позволяет использовать разделенный DNS, отдельные каналы SSL между клиент и источник, а также сертификаты клиента для связи с сервером происхождения.

Покопавшись дальше, я решил использовать два экземпляра фунта подряд. Я также рассматривал возможность использования stunnel или haproxy, но pound имеет дело с материалами SSL и имеет базовые возможности для управления заголовками http.

Расшифровка Squid-in-the-middle и шифрование прямого CONNECT и прозрачно перенаправленного SSL-трафика с использованием настраиваемых сертификатов CA.

http://wiki.squid-cache.org/Features/SslPeekAndSplice