Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[OT] Proxy HTTPS transparente

355 views
Skip to first unread message

Vicios

unread,
Feb 25, 2014, 8:10:02 PM2/25/14
to
Buenas noches,

Llevo algún tiempo peleándome con Squid para que trabaje de forma
transparente con el tráfico HTTP y HTTPS. He compilado, con soporte SSL,
tanto el paquete squid3 de Debian como la última versión de Squid con el
mismo resultado.

Estoy utilizando un certificado auto-firmado generado con OpenSSL y
aunque recibo la advertencia de seguridad en el navegador, puedo acceder
al contenido.

El problema viene al utilizar el navegador Chrome y acceder a ciertas
páginas como google o paypal (imagino que habrá muchas más) que muestran
la siguiente información técnica:

www.google.es le ha pedido a Chrome que bloquee los certificados que
contengan errores, pero el certificado que ha recibido Chrome durante
este intento de conexión contiene un error.
Tipo de error: HSTS failure
Destinatario: www.miweb.es
Emisor: www.miweb.es
Hashes de clave pública: sha1//56eU2r1eF2ylEej7cDkTo0SbBk=
sha256/uoXtr1FR/avDhIbWRaqKcgpVL6kV4Yvqb+EveDoSqzc=

Desde Firefox no tengo problemas tras confirmar la advertencia de
seguridad con ninguna página HTTPS pero a la hora de utilizar Chrome hay
ciertas páginas que no quiere.

En Squid, para el tráfico HTTPS estoy utilizando https_port y ssl-bump
junto con alguna acl para manejar errores y de momento es lo mejor que
he encontrado salvo el problema con Chrome.

Si no es indiscreción... ¿Cómo gestionan/manejan/filtran las conexiones
HTTPS?

Gracias y un saludo.
Fernando.


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/530D3D5...@gmail.com

Camaleón

unread,
Feb 26, 2014, 10:30:03 AM2/26/14
to
El Wed, 26 Feb 2014 02:03:21 +0100, Vicios escribió:

(...)

> Estoy utilizando un certificado auto-firmado generado con OpenSSL y
> aunque recibo la advertencia de seguridad en el navegador, puedo acceder
> al contenido.
>
> El problema viene al utilizar el navegador Chrome y acceder a ciertas
> páginas como google o paypal (imagino que habrá muchas más) que muestran
> la siguiente información técnica:

(...)

> Desde Firefox no tengo problemas tras confirmar la advertencia de
> seguridad con ninguna página HTTPS pero a la hora de utilizar Chrome hay
> ciertas páginas que no quiere.

(...)

Si no lo he entendido mal, el problema que dices que tienes es que al
pasar por tu proxy transparente, Google Chrome detecta un error con el
certificado SSL de la página web a la que se intenta acceder, presenta
una pantalla de aviso pero no te permite continuar con su carga ¿es así?

También supongo que sin pasar por el proxy transparente la conexión a la
página SSL con Chrome funciona sin problemas (no muestra ningún aviso y
carga normalmente).

Prueba lanzando el navegador con el parámetro "--ignore-certificate-
errors", aunque sólo sea para probar.

¿Qué versión de Chrome tienes? Porque parece más bien un problema del
navegador y no tanto de la configuración del proxy :-?

Saludos,

--
Camaleón


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/pan.2014.02...@gmail.com

Vicios

unread,
Feb 26, 2014, 11:20:01 AM2/26/14
to
El 26/02/14 16:22, Camaleón escribió:
> El Wed, 26 Feb 2014 02:03:21 +0100, Vicios escribió:
>
> (...)
>
>> Estoy utilizando un certificado auto-firmado generado con OpenSSL y
>> aunque recibo la advertencia de seguridad en el navegador, puedo acceder
>> al contenido.
>>
>> El problema viene al utilizar el navegador Chrome y acceder a ciertas
>> páginas como google o paypal (imagino que habrá muchas más) que muestran
>> la siguiente información técnica:
>
> (...)
>
>> Desde Firefox no tengo problemas tras confirmar la advertencia de
>> seguridad con ninguna página HTTPS pero a la hora de utilizar Chrome hay
>> ciertas páginas que no quiere.
>
> (...)
>
> Si no lo he entendido mal, el problema que dices que tienes es que al
> pasar por tu proxy transparente, Google Chrome detecta un error con el
> certificado SSL de la página web a la que se intenta acceder, presenta
> una pantalla de aviso pero no te permite continuar con su carga ¿es así?

Efectivamente pero solamente pasa con ciertas páginas desde Chrome. En
Firefox tras aceptar la advertencia de seguridad cargan perfectamente
todos sitios.

>
> También supongo que sin pasar por el proxy transparente la conexión a la
> página SSL con Chrome funciona sin problemas (no muestra ningún aviso y
> carga normalmente).

Efectivamente, son páginas normales: google o paypal. Ebay me deja más
descolocado porque da un conection refuse y punto :(

>
> Prueba lanzando el navegador con el parámetro "--ignore-certificate-
> errors", aunque sólo sea para probar.
>

Lo he probado pero nada.

> ¿Qué versión de Chrome tienes? Porque parece más bien un problema del
> navegador y no tanto de la configuración del proxy :-?
>

Las pruebas las estoy realizando desde Windows XP con la versión de
Chrome 33.0.1750.117 (Build oficial 252094) m. El problema es que no es
un entorno corporativo donde pueda configurar el proxy en los
navegadores ni estandarizar el uso de uno navegador concreto.

Yo también creo que es un problema de la aplicación y no de
configuración del proxy sobre todo por el mensaje ese de "X le ha pedido
a Chrome que bloquee los certificados que contengan errores...", porque
otras páginas si las muestra bien y con otros navegadores no tengo
problemas.

Tengo la duda si utilizando un certificado firmado con por una CA
reconocida funcionaría pero no tengo ganas de comprar uno para que no me
sirva de nada.

> Saludos,
>

Gracias y un saludo.
Fernando.


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/530E1383...@gmail.com

Luis Eduardo Cortes

unread,
Feb 26, 2014, 11:30:02 AM2/26/14
to
> www.google.es le ha pedido a Chrome que bloquee los certificados que
> contengan errores, pero el certificado que ha recibido Chrome durante este
> intento de conexión contiene un error.
> Tipo de error: HSTS failure
> Destinatario: www.miweb.es
> Emisor: www.miweb.es
> Hashes de clave pública: sha1//56eU2r1eF2ylEej7cDkTo0SbBk=
> sha256/uoXtr1FR/avDhIbWRaqKcgpVL6kV4Yvqb+EveDoSqzc=

El protocolo HTTP Strict Transport Security (HSTS) hace referencia al
"período de tiempo durante el cual el agente de usuario deberá acceder
al servidor sólo en forma segura"
(http://es.wikipedia.org/wiki/HTTP_Strict_Transport_Security)

Fijate en este tutorial, puede tener que ver con la hora de tu
servidor proxy o incluso la de tu computador, tal vez alguno de ellos
no tengan la zona horaria bien configurada, o quizás hasta la hora
misma no esté correcta:

http://www.youtube.com/watch?v=SNcTToClmnM

Saludos.


--
Usuario Linux Registrado # 342019
--> http://linuxcounter.net/ <--
skype --> luedcortes
gtalk --> luedc...@gmail.com
msn --> luedc...@gmail.com


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/CAFkPpbzvw7ddoA5DDuEi1uaS...@mail.gmail.com

Francesc Guitart

unread,
Feb 26, 2014, 11:40:01 AM2/26/14
to
Buenas,

El 26/02/2014 2:03, Vicios escribió:
> Buenas noches,
>
> Llevo algún tiempo peleándome con Squid para que trabaje de forma
> transparente con el tráfico HTTP y HTTPS. He compilado, con soporte SSL,
> tanto el paquete squid3 de Debian como la última versión de Squid con el
> mismo resultado.
>
> Estoy utilizando un certificado auto-firmado generado con OpenSSL y
> aunque recibo la advertencia de seguridad en el navegador, puedo acceder
> al contenido.
>

Es decir, estás llevando a cabo un ataque MitM sistemáticamente contra
tus usuarios. SSL se pensó justamente para que las comunicaciones fuesen
privadas y tener la certeza de que te estás conectando al servidor que
crees que te estás conectando. Es normal entonces que te salten alertas
en los navegadores. Metiéndote en medio (aunque sea para filtrar el
contenido usando un proxy) de la comunicación estás burlando las
especificaciones SSL.

> El problema viene al utilizar el navegador Chrome y acceder a ciertas
> páginas como google o paypal (imagino que habrá muchas más) que muestran
> la siguiente información técnica:
>
> www.google.es le ha pedido a Chrome que bloquee los certificados que
> contengan errores, pero el certificado que ha recibido Chrome durante
> este intento de conexión contiene un error.
> Tipo de error: HSTS failure
> Destinatario: www.miweb.es
> Emisor: www.miweb.es
> Hashes de clave pública: sha1//56eU2r1eF2ylEej7cDkTo0SbBk=
> sha256/uoXtr1FR/avDhIbWRaqKcgpVL6kV4Yvqb+EveDoSqzc=
>
> Desde Firefox no tengo problemas tras confirmar la advertencia de
> seguridad con ninguna página HTTPS pero a la hora de utilizar Chrome hay
> ciertas páginas que no quiere.
>
> En Squid, para el tráfico HTTPS estoy utilizando https_port y ssl-bump
> junto con alguna acl para manejar errores y de momento es lo mejor que
> he encontrado salvo el problema con Chrome.
>
> Si no es indiscreción... ¿Cómo gestionan/manejan/filtran las conexiones
> HTTPS?
>

Usa las directiva CONNECT de squid para evitar interceptar el tunnel SSL:

acl CONNECT method CONNECT
acl SSL_ports port 443
acl SSL_ports port otros_puertos_SSL_deseados # ejemplo: 8443
acl ssl_forbiden facebook.com twitter.com otros_ejemplos.com
...
http_access deny CONNECT ssl_forbiden
http_access deny CONNECT !SSL_ports

Atención al orden de los http_access, es importante.

Más info: http://wiki.squid-cache.org/Features/HTTPS

Si no me equivoco este método no funciona para squid en modo
transparente. Configuralo en modo normal e implementa la configuración
automática del proxy (PAC/WPAD). Solo necesitas añadir un registro DNS
(wpad.tudominio.com) y poner un ficherito wpad.dat en la raiz del
servidor web http://wapd.tudominio.com.

El fichero wpad.pad se parece a esto. Como ves va a determinar cuando
los clientes de tu LAN deben usar tu proxy:

function FindProxyForURL(url, host){
if(isPlainHostName(host)) return DIRECT;
if(isInNet(dnsResolver(host), "192.168.1.0", "255.255.255.0")) return
DIRECT;
if(shExpMatch(url, "*192.168.1.*")) return "DIRECT";
if(isInNet(myIpAddress(), "10.1.1.0", "255.255.255.0")) return DIRECT;
if(
url.substring(0, 5) == "http:" ||
url.substring(0, 6) == "https:" ||
url.substring(0, 5) == "ftp:"
)
return "PROXY 192.168.1.254:3228";
return "DIRECT";
}

Saludos


--
Francesc Guitart




--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/530E174C...@gmx.com

Vicios

unread,
Feb 26, 2014, 11:50:03 AM2/26/14
to
El 26/02/14 17:26, Luis Eduardo Cortes escribió:
>> www.google.es le ha pedido a Chrome que bloquee los certificados que
>> contengan errores, pero el certificado que ha recibido Chrome durante este
>> intento de conexión contiene un error.
>> Tipo de error: HSTS failure
>> Destinatario: www.miweb.es
>> Emisor: www.miweb.es
>> Hashes de clave pública: sha1//56eU2r1eF2ylEej7cDkTo0SbBk=
>> sha256/uoXtr1FR/avDhIbWRaqKcgpVL6kV4Yvqb+EveDoSqzc=
>
> El protocolo HTTP Strict Transport Security (HSTS) hace referencia al
> "período de tiempo durante el cual el agente de usuario deberá acceder
> al servidor sólo en forma segura"
> (http://es.wikipedia.org/wiki/HTTP_Strict_Transport_Security)
>
> Fijate en este tutorial, puede tener que ver con la hora de tu
> servidor proxy o incluso la de tu computador, tal vez alguno de ellos
> no tengan la zona horaria bien configurada, o quizás hasta la hora
> misma no esté correcta:
>
> http://www.youtube.com/watch?v=SNcTToClmnM
>
> Saludos.
>
>
Buenas!

La hora esta bien. Tanto el server tiene un NTPd corriendo y el cliente
tiene configurado el server como servidor horario.

Además de ser ese el problema debería de fallar en todos los navegadores
y todas las páginas no?

Saludos!


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/530E1A96...@gmail.com

Vicios

unread,
Feb 26, 2014, 12:00:03 PM2/26/14
to
El 26/02/14 17:33, Francesc Guitart escribió:
Gracias por la información. Voy a ponerme a probar esta configuración.

Saludos.


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/530E1BC4...@gmail.com

Camaleón

unread,
Feb 26, 2014, 12:10:04 PM2/26/14
to
El Wed, 26 Feb 2014 17:17:07 +0100, Vicios escribió:

> El 26/02/14 16:22, Camaleón escribió:

(...)

>> ¿Qué versión de Chrome tienes? Porque parece más bien un problema del
>> navegador y no tanto de la configuración del proxy :-?
>>
>
> Las pruebas las estoy realizando desde Windows XP con la versión de
> Chrome 33.0.1750.117 (Build oficial 252094) m. El problema es que no es
> un entorno corporativo donde pueda configurar el proxy en los
> navegadores ni estandarizar el uso de uno navegador concreto.
>
> Yo también creo que es un problema de la aplicación y no de
> configuración del proxy sobre todo por el mensaje ese de "X le ha
> pedido a Chrome que bloquee los certificados que contengan errores...",
> porque otras páginas si las muestra bien y con otros navegadores no
> tengo problemas.

¿Alguna página que use https carga correctamente desde Chrome?

> Tengo la duda si utilizando un certificado firmado con por una CA
> reconocida funcionaría pero no tengo ganas de comprar uno para que no
> me sirva de nada.

Algo me dice que el problema no viene por ahí, recibirías otro tipo de
mensaje. Intenta borrar caches (del propio navegador y de squid) porque
parece que el HSTS¹ no se puede desactivar para algunos sitios.

¹http://superuser.com/questions/480200/how-to-disable-ssl-for-some-websites-in-chrome

Saludos,

--
Camaleón


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/pan.2014.02...@gmail.com

Luis Eduardo Cortes

unread,
Feb 26, 2014, 12:20:02 PM2/26/14
to
> La hora esta bien. Tanto el server tiene un NTPd corriendo y el cliente
> tiene configurado el server como servidor horario.
>
> Además de ser ese el problema debería de fallar en todos los navegadores y
> todas las páginas no?
>
> Saludos!

¿Y la zona horaria también está bien configurada en ambos?

No necesariamente tiene que suceder con todas las páginas, depende de
si el servidor web esté o no configurado para requerir este control.

Saludos.


--
Usuario Linux Registrado # 342019
--> http://linuxcounter.net/ <--
skype --> luedcortes
gtalk --> luedc...@gmail.com
msn --> luedc...@gmail.com


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/CAFkPpbzM4NneNunWGpkd3p0N...@mail.gmail.com

Francesc Guitart

unread,
Feb 26, 2014, 12:30:01 PM2/26/14
to
No, no te funcionaría porque, en el caso de www.google.es, te
conectarías a www.google.es y el certificado estaría a nombre de
proxy.tudominio.com. El navegador NO mostraría la alerta por el tema de
la confianza con la CA (como ahora) pero SI mostraría entonces una
alerta diciendo que el certificado ha sido otorgado a una entidad que no
corresponde con el nombre del sitio web visitado, es decir, posible
suplantación de identidad.


--
Francesc Guitart



--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: https://lists.debian.org/530E2243...@gmx.com
0 new messages