LINUX.ORG.RU
ФорумAdmin

Squid ssl_bump + cache_peer

 , ,


0

1

Доброго времени суток. Не получается завернуть https трафик в privoxy через сквид в режиме intercept, если выпускать напрямую с узла (не через privoxy), работает, если явно указать squid в качестве прокси в настройках браузера, работает.

Конфиг такой:

acl localnet src 0.0.0.0/0

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

dns_nameservers 8.8.8.8
http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost manager
http_access deny manager

http_access allow localnet
http_access allow localhost
http_access deny all

tcp_outgoing_tos 0x30 localnet
tcp_outgoing_tos 0x30 localhost

icp_port 0

cache_peer localhost0 parent 8108 0 round-robin no-query #ssl
#cache_peer localhost1 parent 8118 0 round-robin no-query #ssl
#cache_peer localhost2 parent 8128 0 round-robin no-query #ssl
#cache_peer localhost3 parent 8138 0 round-robin no-query #ssl
#cache_peer localhost4 parent 8148 0 round-robin no-query #ssl
#cache_peer localhost5 parent 8158 0 round-robin no-query #ssl
#cache_peer localhost6 parent 8168 0 round-robin no-query #ssl
#cache_peer localhost7 parent 8178 0 round-robin no-query #ssl
#cache_peer localhost8 parent 8188 0 round-robin no-query #ssl
#cache_peer localhost9 parent 8198 0 round-robin no-query #ssl

http_port 127.0.0.1:3129

http_port 127.0.0.1:3130 intercept options=NO_SSLv3:NO_SSLv2

https_port 127.0.0.1:3131 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl/squid.pem key=/etc/squid/ssl/squid.pem version=4 cipher=TLSv1:!AES128:!CAMELLIA

sslproxy_cert_adapt setCommonName ssl::certDomainMismatch all
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
never_direct allow all
#always_direct deny all
#always_direct allow all
ssl_bump server-first all
ssl_bump none all

sslcrtd_program /usr/lib/squid/ssl_crtd  -s /var/lib/ssl_db -M 4MB
#sslcrtd_children 5 

hierarchy_stoplist cgi-bin ?
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
forwarded_for off

coredump_dir /var/spool/squid
cache_dir ufs /var/spool/squid 20000 49 256
maximum_object_size 61440 KB
minimum_object_size 3 KB

Обыскался уже, help! В логах:

2017/07/04 06:13:54 kid1| assertion failed: PeerConnector.cc:116: "peer->use_ssl"

Squid Cache: Version 3.5.23
Service Name: squid
Debian linux
configure options:  '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' 'BUILDCXXFLAGS=-g -O2 -fdebug-prefix-map=/tmp/squidSRC/squid3-3.5.23=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,--as-needed' '--enable-http-violations' '--enable-ssl' '--enable-ssl-crtd' '--with-openssl' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--libexecdir=/usr/lib/squid' '--mandir=/usr/share/man' '--enable-inline' '--disable-arch-native' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,time_quota,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-build-info=Debian linux' '--enable-linux-netfilter' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fdebug-prefix-map=/tmp/squidSRC/squid3-3.5.23=. -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fdebug-prefix-map=/tmp/squidSRC/squid3-3.5.23=. -fstack-protector-strong -Wformat -Werror=format-security'

в socks через сквид

Squid не умеет в socks

Kuzz ★★★ ()
Ответ на: комментарий от JoIIyRoger

А за ним сокс? У меня такая связка не пошла.

Вместо этого использую badvpn-tun2socks.

Kuzz ★★★ ()
Ответ на: комментарий от Kuzz

За ним сокс. Связка работает но без intercept.) В настройках браузера указываем httpproxy хост:порт и ставим галку «использовать для всех протоколов».

JoIIyRoger ()
Ответ на: комментарий от JoIIyRoger

Чета поторопился я с выводами, ssl_bump перестает работать если указывать проксю явно.

JoIIyRoger ()

если явно указать squid в качестве прокси в настройках браузера, работает

Как?

Я не в курсе, что такое privoxy и как оно работает, но в случае ssl_bump любой cache_peer должен либо: прозрачно пускать трафик не вмешиваясь в него (то есть, быть абсолютно бесполезен), либо терминировать ssl сессию со стороны дочернего прокси, и устанавливать аналогичную к целевому хосту. Это если что-то хочется делать с трафиком.

aidaho ★★★★★ ()
Ответ на: комментарий от JoIIyRoger

Возможно получится если сделать каскад из squid, 1й делает ssl_bump и некие нужные манипуляции с трафиком, второй заворачивает трафик от первого в privoxy, который в свою очередь заворачивает в socks.

JoIIyRoger ()

Задача была разблокировать в сети заблокированные Роскомнадзором ресурсы без вмешательства в клиентов. (прозрачный режим) победил я squid с перенаправлением https.

порты описаны так:

http_port 192.168.10.1:3130 intercept
https_port 192.168.10.1:3131 intercept ssl-bump connection-auth=off cert=/etc/squid/ssl/squidCA.pem

непосредственно parent proxy

# roskomsvoboga

cache_peer proxy.antizapret.prostovpn.org parent 3128 0 no-query proxy-only no-digest name=antizapret

# unblocking hosts
acl roskomsvoboda_pac url_regex -i "/etc/squid/roskomsvoboda_270517.bypac"

# unblock http
cache_peer_access antizapret allow roskomsvoboda_pac

# bumping step1
acl step1 at_step SslBump1
ssl_bump peek step1

# unblocking hosts (https)
acl blocked ssl::server_name "/etc/squid/roskomsvoboda_270517.bypac"

# unblock https
cache_peer_access antizapret allow blocked

# force hosts to parent proxy
never_direct allow roskomsvoboda_pac
never_direct allow blocked

mark99 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.