Squid não redireciona SSL como HTTP

Squid não redireciona SSL como HTTP

Quero que todo o meu tráfego para um domínio específico seja enviado através de um proxy pai. Aqui está minha configuração do squid:

acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

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

http_access allow manager localhost
http_access allow localhost
http_access allow localnet
http_access deny manager
http_access deny !Safe_ports
http_access deny all
http_access allow localnet
http_access allow localhost
http_access deny all

http_port 3128

hierarchy_stoplist cgi-bin ?

coredump_dir /var/spool/squid

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

cache_peer XXX.XXX.XXX.XXX  parent 3128 0 no-digest
cache_peer_domain XXX.XXX.XXX.XXX .srv-get-my-ip.com

Entãohttp://ip.srv-get-my-ip.comé bem enviado através do proxy quando retorna Current Address: XXX.XXX.XXX.XXX:

1444889588.794    599 192.168.0.12 TCP_MISS/200 522 GET http://ip.srv-get-my-ip.com/ - FIRSTUP_PARENT/XXX.XXX.XXX.XXX text/html

Mashttps://ip.srv-get-my-ip.comnão é enviado pelo proxy pois retorna meu ip Current Address: YYY.YYY.YYY.YYY:

1444889762.199    154 192.168.0.12 TCP_MISS/200 6654 CONNECT ip.srv-get-my-ip.com:443 - HIER_DIRECT/AAA.AAA.AAA.AAA -

Como posso fazer com que o squid processe a segunda consulta da mesma maneira que a primeira?

O resultado é importante aqui, então se alguém conseguir atingir o mesmo objetivo usando outro proxy que não o squid (apache, haproxy ou qualquer outro), eu tentaria!

Obrigado!

Responder1

O proxy SSL da maneira que você está descrevendo pode ser feito, masrequer[1] que você possui os certificados SSL em sua posse.

Este é um recurso, não um bug, porque evita ataques man-in-the-middle contra SSL.

Se você estiver de posse dos certificados, a maioria dos proxies reversos funcionará para você. Você pode, por exemplo, configurar o squid para encerrar a conexão SSL e então restabelecê-la em direção ao proxy pai. Veja oDocumentação https do Squid

Observe também nessa página:

HTTPS foi projetado para dar aos usuários uma expectativa de privacidade e segurança. Descriptografar túneis HTTPS sem o consentimento ou conhecimento do usuário pode violar normas éticas e ser ilegal em sua jurisdição.

Nginx,Servidor de tráfego Apache,HAProxy, Apache httpd commod_proxye vários outros proxies reversos são capazes de realizar a terminação SSL para você.

[1] Há exceções se você puder tolerar HTTPS inseguro ou (talvez mais interessante) se for capaz de controlar os certificados confiáveis ​​nos clientes. Mas... nesse caminho está o perigo.

informação relacionada