¿Cómo crear un proxy https transparente con firehol y tinyproxy?


8

Tengo una configuración de proxy transparente en Ubuntu 10.04.4 con firehol y tinyproxy que funciona bien para http pero no puedo hacer que funcione para https.

Conectarse a tinyproxy directamente funciona bien ya que los siguientes comandos completan bien:

env  http_proxy=localhost:8888 curl  http://www.google.com
env https_proxy=localhost:8888 curl https://www.google.com

El proxy transparente HTTP también funciona bien:

curl  http://www.google.com

pero al acceder a google directamente usando https, el comando simplemente se cuelga:

curl  https://www.google.com

Aquí están los archivos de configuración completos para firehol y tinyproxy. Tenga en cuenta que no tengo interés en usar firehol para otra cosa que no sea proxy transparente.

firehol.conf:

transparent_proxy "80 443" 8888 proxy
interface any world
   client all accept
   server all accept

tinyproxy.conf (todos los valores predeterminados excepto el proxy ascendente):

User    nobody
Group   nogroup
Port    8888
Timeout 600
DefaultErrorFile  "/usr/share/tinyproxy/default.html"
StatFile          "/usr/share/tinyproxy/stats.html"
Logfile           "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile           "/var/run/tinyproxy/tinyproxy.pid"
MaxClients     100
MinSpareServers  5
MaxSpareServers 20
StartServers    10
MaxRequestsPerChild 0
ViaProxyName "tinyproxy"
ConnectPort 443
ConnectPort 563
upstream corporate.fire.wall:8080

Respuestas:


11

Por lo que puedo decir, tinyproxy simplemente no admite conexiones HTTPS entrantes. Le permitirá acceder a sitios HTTPS utilizando el método CONNECT , pero para que se utilice, el navegador / cliente debe saber que está hablando con un servidor proxy y utilizar los métodos de conexión correctos.

Las ConnectPortdirectivas simplemente definen a qué puertos está permitido hacer conexiones.

El único producto FOSS que admite la conexión HTTPS de proxy transparente es Squid , y el soporte para eso es relativamente reciente. También presenta algunas preocupaciones de seguridad bastante importantes, ya que un proxy HTTPS transparente tiene que realizar un ataque de hombre en el medio y descifrar la conexión para que sepa a qué conectarse.


Eso tiene sentido. Después de investigar, parece que tienes razón y el calamar es el camino a seguir. No hay backport de 3.1 con soporte ssl / https disponible para Ubuntu 10.04 (lúcido), por lo que se requiere una compilación personalizada. Probaré esto. ¡Gracias!
— Stefan Farestam

Con Squid versión 3.5 ahora es posible usar la función "peek and splice" para implementar el proxy HTTPS sin hacer man-in-the-middle ( wiki.squid-cache.org/Features/SslPeekAndSplice ).
— Rafał Krypa
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.