squid + squidGuard + redireccion SSL

Descripción

La redirecion a la pagina de error de squidguard no funciona para una pagina https. La solucion mostrada no es ideal, pero se ve mejor que una simple “NO conexion”

EL problema puede leerse en el segundo comentario en  https://groups.google.com/forum/#!topic/linux.debian.user/GE3bGE10bf4

** Este metodo solo funciona con unos pocos navegadores (Opera), los demas siguien monstrando error

Prerequistos

Un sistema con squid, squidguard ya montado  (Un boogon) y operativo

Configuración

1. Agregar soporte SSL a squid3


La recompilada esta bien documentada en  https://www.banym.de/linux/build-squid-with-enable-ssl-on-debian


Solo se requiere reinstalar squid3 y squid3-common. OJO no sobreescriba el archivo de configuracion

$> dpkg -i squid3_3.1.20-2.2+deb7u2_amd64.deb squid3-common_3.1.20-2.2+deb7u2_all.deb


Seria bueno evitar que se actualizara este squid3 para no perder el soporte SSL

echo “squid3 hold” | sudo dpkg –set-selections
echo “squid3-common hold” | sudo dpkg –set-selections
 
** https://www.debian-administration.org/article/67/Preventing_Debian_Package_Upgrades

2. Permita la redireccion de https sin quejarse

En squid.conf agregue la linea

    sslproxy_flags DONT_VERIFY_PEER
 
Esto se toma de http://www.squid-cache.org/mail-archive/squid-users/200809/0081.html

3. Paginas de error de squid personalizado de squid.


En squid.conf agregue la linea

    error_directory /etc/squid3/pages

Cree el directorio y copie las paginas de erro

$> mkdir /etc/squid3/pages
$> cp /usr/share/squid3/errors/es/* /etc/squid3/pages
$> rm /etc/squid3/pages/ERR_CONNECT_FAIL

Copie un archivo personalizado de pagina de error  error.page y vinculelo

$> ln -s /etc/squid3/pages/error.page /etc/squid3/pages/ERR_CONNECT_FAIL

Reinicie squid3


** https://help.ubuntu.com/community/Squid/Customize
 

4. Cambie el archivo index.cgi   (de Webmin en Bogoon)


En /usr/share/webmin/kn_sqG/index.cgi .. ponga la version nueva

Esto es suficiente y debieria funcionar .. toco quitar el logo porque no lo muestra.
 

Trucos

Problemas

1. NO es posible

“…
Buenos Dias Carolina

La última semana hemos estado trabajando en el requerimiento que nos hiciste, respecto a los nuevos proxy's, para redirigir las páginas https bloqueadas a una pagina de error personalizada como ya se hace con http.

El resultado de nuestra investigación, muy a nuestro pesar, es que no es posible y que no hay nadie que pueda hacerlo sin romper los principios fundamentales del diseño de https.


1. Por la naturaleza del protocolo HTTPs, este no puede ser redirigido. El tráfico http viene cifrado dentro de un tunel SSL/TLS y el intermediario (proxy) no puede interferir con este contenido para redirigir, re-escribir o hacer cualquier alteración del contenido. He ahi el encanto de https para evitar ataques o espionaje.

Esto se se explica en  (https:%%//%%groups.google.com/forum/#!topic/linux.debian.user/GE3bGE10bf4”) donde dice

“ …
A HTTP-Client doing HTTPS over a proxy like squid uses CONNECT (instead of HEAD, GET or POST) which instructs the proxy to open a TCP connection to the specified host and port and forward any bytes sent or received. Since inside that connection the data is encrypted, the proxy cannot do anything special with it.
… “

2.  La  única forma de poder hacer una redirección de trafico https es romper el ciframiento SSL.  En el mismo documento:

”…
The only way is to setup a transparent proxy, intercepting any outbound connection and terminating the encryption on the proxy. You will need a fake CA certificate with which the proxy is able to create  fake server certificates so the client still thinks it is connected to the real server.

And here it gets a) dangerous and b) expensive.
…”

Esto es un ataque conocido como MIM (Man in the Middle), en el cual el proxy simula ser el origen e intermedia el trafico https hacia el destino y es usado para obtener contraseñas bancarias y hacer suplantación de usuarios.
Técnicamente es posible hacerlo: existe un plugin para squid llamado “SSL Bump” (http://www.squid-cache.org/Doc/config/ssl_bump/)  que permite implementar este mecanismo, pero en este momento debemos consultar las políticas internas de Almagrario y la ley Colombiana porque claramente violaríamos la privacidad de los usuarios internos (ejm: pudieramos ver todo el trafico bancario).

Adicionalmente, consideramos que el riesgo y el esfuerzo no lo amerita, ya que solo pocas paginas candidatas a ser bloqueadas utilizan https. Solo entidades bancarias, o sitios que manejan información delicada lo hacen. El 90% del trafico de internet sigue siendo http.


Quedamos a la espera de una directiva ya que este tema es el único pendiente para entrar en producción.

Cordial Saludo
…“
 

Referencias

-

FIN


Advertencia

Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.


 

 


 

Volver arriba