LINUX.ORG.RU
решено ФорумAdmin

https фильтрация - privoxy

 , , ,


0

1

Привет всем!

Чего хочется:

хочется фильтровать https/SSL трафик, чтобы на основе «регулярки» направлять запросы через разные хосты в зависимости от URL. В теории прокси, используя подставной сертификат, выдает себя за целевой хост и расшифровывает трафик клиента, а потом от его имени запрашивает странички и передает ответ клиенту.

Чего имеем:

имеем софтину «privoxy», которая тут анонсировала что умеет такое:

Supports https inspection which allows to filter https requests.

Чего не получилось:

не взлетает функционал. Может я чего не понял и в конфиге недопилил? Вот конфиги:

Основной конфиг:

confdir /etc/privoxy
logdir /var/log/privoxy
logfile logfile31017
listen-address 192.168.96.12:31017

ca-directory /usr/local/etc/privoxy/CA
ca-cert-file cacert.crt
ca-key-file cakey.pem
ca-password *********
certificate-directory /var/spool/privoxy
cipher-list  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
trusted-cas-file cacert.pem
actionsfile https-enable.action

forward-socks5 example.ru/balala.*jpg$ 192.168.96.12:11014 .

toggle 0
enable-remote-toggle 0
enable-remote-http-toggle 0
enable-edit-actions 0
enforce-blocks 0
buffer-limit 4096
enable-proxy-authentication-forwarding 0
forwarded-connect-retries 0
accept-intercepted-requests 1
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 5
tolerate-pipelining 1
socket-timeout 300

Тут я пытаюсь перенаправлять запросы «example.ru/balala.*jpg$» через сокс-прокси «192.168.96.12». Остальное все уходит через дефолтный шлюз.

Вот файл https-enable.action

{+limit-connect{-}}                     # All ports are OK
{+limit-connect{,}}                     # No HTTPS/SSL traffic is allowed

{+https-inspection \
 +ignore-certificate-errors }
example.ru

В мануале есть замечание, что

Note that the action has to be enabled based on the CONNECT request which doesn’t contain a path. Enabling it based on a pattern with path doesn’t work as the path is only seen by Privoxy if the action is already enabled.

Только я не понял, это надо как-то в конфиге подключить или это просто описание процесса? Может кто пользовался уже и знает в чем проблема?

Алтернативные решения приветствутся. Главное, чтоб софт под Linux работал.


Судя по твоей цитате - фильтровать по урлам нельзя, потому что они так сделали, что урл смотрится только уже после того, как принято решение что делать с запросом. А до этого виден только домен.

Прорекламирую свой софт для вмешательства в https: fproxy v80 — локальный прокси-сервер для фильтрации http(s)-трафика

Видит урлы всегда и может в зависимости от них что-то делать. Правда того что тебе нужно напрямую там тоже нет (фильтры не регулярками, socks протокол не знает - зато есть свой прокси-протокол в который можно форвардить), но я старался писать исходник (на Си) так чтобы было легко добавить нужный функционал.

firkax ★★★ ()

Как выяснилось, софтина годная и задача решаемая. Проблема оказалась в ОСи - под Дебианом текущая версия пакета из репы хромает, а на FreeBSD все взлетело как задумано.

Странно другое - что на LORe не оказалось никого, кто в курсе. Не тот нынче LOR… жаль.

bigov ()
Последнее исправление: bigov (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.