DESCIFRADO SSL en Fortigate
- Iñaki Urrutxi

- 20 sept 2020
- 4 Min. de lectura
Actualizado: 26 sept 2020
Lleva tiempo siendo una prioridad en poder descrifrar el tráfico SSL para poder saber que esta ocurriendo en nuestra red. Garner estima que alrededor del 80% del tráfico web empresarial en 2019 estaba cifrado, con lo que cada vez es más importante desencriptar este tráfico para poder ver que pasa en la red, el 95% de los servicios de Google según su informe de transparencia usa servicios HTTPS y el navegador Firefox asegura que casi el 80% de las páginas visitadas usan algún cifrado TLS.
Todo esto sumado a que más del 70% de las campañas de malware utilizan algún tipo de cifrado para enviar el malware, conectar con el servidor de comando y control o para el robo de datos. Y que el 60% de los organizaciones tienen fallos para desencriptar el tráfico HTTPS de forma eficiente, para poder descubrir amenazas reales en el tráfico HTTPS. Hace que sea vital tener algún sistema de descifrado SSL en nuestra red.

Veremos en este post cómo podemos fácilmente crear un certificado autofirmado por nosotros mediante openssl y aplicarlo en nuestro Fortigate para poder realizar el descifrado SSL. Mostraremos como podemos ver si esta funcionando, crear excepciones particulares o por categorías y una vez hecho esto aplicar reglas de capa 7 para poder bloquear todas aquellas amenazas que se están produciendo.
Comandos para generar el certificado mediante open-ssl.
MacBookAir$ openssl genrsa -aes256 -out fgcaprivkey.pem 2048
Generating RSA private key, 2048 bit long modulus
.................+++
...+++
e is 65537 (0x10001)
Enter pass phrase for fgcaprivkey.pem:clave
Verifying - Enter pass phrase for fgcaprivkey.pem:clave
MacBookAir$ openssl req -new -x509 -days 3650 -extensions v3_ca -key fgcaprivkey.pem -out fgcacert.pem
Enter pass phrase for fgcaprivkey.pem: clave
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:ES
State or Province Name (full name) []:Bizkaia
Locality Name (eg, city) []:Myhome
Organization Name (eg, company) []:Home
Organizational Unit Name (eg, section) []:DptoIT-Home
Common Name (eg, fully qualified host name) []:fw.cert.home.com
Email Address []:i.urrutxi@gmail.comEsto genera 2 ficheros:
fgcacert.pem
fgcaprivkey.pemAhora tenemos que importar el certificado en el FW, para ello, accedemos al FW, a System --> Certificates --> Import--> Local certificate --> Certificate:

Podemos ver el certificado importado:

Una vez importado el certificado tenemos que aplicarlo al perfil de SSL que luego aplicaremos en las politicas donde queramos hacer man-in-the-middle.

Dentro del perfil podemos crear excepciones de categorías o dominios pudiendo usar opciones de wildcard. Por defecto Fortigate ya tiene creados determinadas categorías y dominios, que en algunos casos para cumplir con la normativa de GDPR de protección de datos o bien porque determinadas aplicaciones/servicios utilizan sus propios certificados y no permiten que funcionen si hacemos desencriptado SSL. Podremos generar diferentes perfiles para que por ejemplo en dispositivos móviles que manejan apps se haga excepciones pero para equipos windows/mac por ejemplo no, todo esto mediante las opciones de device/device group de nuestro fortigate. Marcando la opciones Reputable websites dejara de hacer SSL inspection en una BBDD que tiene Fortigate de sitios de buena reputación entre los que esta GOOGLE, WINDOWS, etc ...

Podemos DESCARGARNOS el certificado: fgcacert.cert e importarlo en los almacenes de nuestros equipos WINDOWS, MAC o LINUX, así como en los diferentes navegadores que tengamos en los mismos. Por ejemplo Chrome usa el mismo almacén que usan Safari y EDGE en MAC y WINDOWS, pero Firefox usa un almacén propio para almacenarlos, estos son cosas que hay que tener en cuenta a la hora de decidir que navegador queremos usar.
Windows
Para nuestras pruebas podemos importarlos manualmente lo veremos a posteriori, pero en una gran organización esto habrá que hacer algo de forma masiva mediante GPO (integrado con nuestro servidor de dominio de windows) o con otro aplicativo similar. Adjunto información sobre GPO
GPO
https://docs.microsoft.com/es-es/windows-server/identity/ad-fs/deployment/distribute-certificates-to-client-computers-by-using-group-policy
https://www.santiagobuitragoreis.com/instalar-certificados-personales-via-directivas-grupo/
https://blog.ragasys.es/gpo-para-configurar-pagina-de-inicio-en-internet-explorer-google-chrome-y-mozilla-firefox
https://www.radians.com.ar/blog/?p=1684 Listado de certicados CA firmados, como tienen todos los navegadores para poder hacer el descrifrado.

Como testear que esta funcionando, la forma más fácil es acceder a eicar.org--> DOWNLOAD ANTIVIRUS TEST FILE

Si todo esta correcto al pinchar sobre eicar.com, eicar_com.zip e eicarcom2.zip te aparece un mensaje de virus detectado.

Y al pinchar sobre eicar_com.txt, te aparece un mensaje de página bloqueada por el webfilter, ya que este se aplica antes que el escaneo del fichero.

IMPORTAR LOS CERTIFICADOS EN SU SISTEMA OPERATIVO
Ahora veremos como importar los certificados en tu equipo ya sea mac os x o windows, veremos que safari, chrome y edge usan el mismo almacen de certificados que trae el propio sistema operativo sin embargo firefox usa su propio almacen de certificados.
1-MAC OS X
- Safari y Chrome
Vamos a ver como importar los certificados en mac os x, para ello hacemos doble clic sobre el certificado desrcagado y se nos abrira el Acceso al Llavero, donde tendremos que seleccionar en que apartados vamos a confiar en el mismo

2- WINDOWS
- Edge y Chrome
Al hacer doble clic sobre el certificados se iniciara un asistente para la importación del certificado, lo único que hay que tener en cuenta es que hay que instalar el certificado en el almacen "Entidades de certificación raíz de confianza".

3 -WINDOWS y MAC OS X
- Firefox
En tenemos que acceder a Firefox--> Preferencias -->Privacidad & Seguridad --> Certificados --> Autoridades. Importamos el certificado descargado y marcamos la confianza del mismo.

Espero que os haya parecido interesante.




Comentarios