Configuraciones

Bloquear páginas web no permitidas con certificate inspection sin romper el túnel SSL

En cierto tipo de entornos no se puede hacer rotura de túnel para realizar control de navegación en tráfico HTTPS y tampoco se puede cargar la CA de FortiGate usada para inspeccionar el tráfico HTTPS.

Por tanto lo que se quiere es controlar el tráfico de navegación web sin realizar ningún tipo de configuración adicional en el usuario.

Lo que queremos evitar es el que aparezca un warning de certificado no válido en el navegador del cliente.

Para ello lo que tenemos que hacer es usar el perfil de inspección SSL certificate-inspection. Este perfil sólo inspecciona la parte pública del certificado de cada página web para comprobar si ese dominio está permitido en el control de navegación o no.

Para esta configuración crearemos una regla firewall con el perfil de webfilter que queramos y el perfil de inspección ssl certificate-inspection.

Ejemplo:

El problema es que cuando un usuario navegue por una página web no permitida le saldrá el siguiente error de certificado no válido de la imagen a continuación.¿A qué es debido esto? Si en teoría sólo estábamos inspeccionando los certificados sin romper el túnel.

El motivo es que por defecto la configuración del perfil de control de navegación al detectar una página web no permitida manda un mensaje de “Web Page Blocked” al navegador del cliente. Así el FortiGate está avisando que esta página está siendo bloqueada por el control de navegación.

Al mandar un mensaje de reemplazo tiene que romper el túnel por tanto siempre que haya una página web bloqueada el usuario verá previamente el aviso de certificado no válido. Imagen de página web bloqueada:

Esto lógicamente no sucederá si la página web está permitida por el control de navegación ya que el FortiGate no tiene que mandar ningún tipo de mensaje, simplemente dejar navegar al usuario por esa página web.

Para evitar este problema hay dos opciones posibles:

  • Cargar la CA que usa FortiGate para romper el túnel.
  • No mandar ningún mensaje de reemplazo avisando de que la web está bloqueada. Esta segunda opción es la que explicaremos a continuación.

Deshabilitar el mensaje de reemplazo

El perfil de webfilter tiene que estar en modo proxy, esta configuración no está soportada en modo flow.

Ejecutar los siguinetes comandos desde CLI:

config webfilter profile

    edit “default”

        set inspection-mode proxy

       set https-replacemsg disable

   end

end

Como podemos ver en la imagen a continuación ya no le aparece un aviso de certificado no válido. El motivo es que FortiGate directamente cerrará la conexión sin mandar ningún tipo del mensaje al usuario. Cabe destacar que esto es una restricción del protocolo SSL y no de la implementación del fabricante.

Resultado:

 

Tags

Contenidos relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *