Esta página está obsoleta. La nueva la puedes encontrar en VPN ipsec con certificados

VPN ipsec con certificados

Vamos a realizar todo el proceso necesario para realizar conexiones a nuestro fortigate mediante certificados. Para ello necesitamos un crear una entidad certificadora, ya sea con un servidor Windows con el rol de AD CS(mirar las páginas de referencia), mediante openssl, o como en nuestro caso usando una aplicación para windows llamada XCA http://xca.sourceforge.net/.

Los pasos que vamos a seguir son:

Crear una entidad certificadora

Generar un certificado raíz

Generar un certificado para el Fortigate.

Generar un petición en el fortigate

Importar la petición del fortigate al XCA.

firmarlo

exportar el certificado firmado e importarlo al Fortigate

Generar certificados para los clientes de la vpn

Generar un petición para los clienes desde el XCA

Firmar la petición

exportar el certificado firmado de cliente

exportar desde el fortigate el certificado raíz CA_Cert

importar los certificados clientes y raíz al Forticlient

Crear vpn, políticas y usuarios en el fortigate

Una VPN con certificados nos garantiza tanto la identidad del usuario que se conecta como la del sitio al que se coneca.

Crear una entidad certificadora

Nos bajamos el XCA y lo instalamos en nuestro equipo con permisos de administrador

En XCA cada CA (Autoridad Certificadora)se almacena en un fichero con extensión *.xdb. Se recomienda usar distintas bases de datos para cada PKI (Infraestructura de clave pública) que creemos.

Ejecutamos el programa Click File > New Database.

En la ventana que se abre especificar el nombre y la ubicación donse se almacena el fichero con la base de datos XCA y pulsar guardar.

Nos aparece una ventana donde debemos poner una contraseña para encriptar el fichero de la base de datos. Esa contraseña es necesaria para cada vez que vayamos a abrir esa base de datos.

Nos aparece la siguiente ventana

Generar el certificado Raíz

Pulsamos sobre la pestaña Certificates y entonces pulsamos en el botón New Certificate.

Configuramos los parámetros del certificado.

Pestaña Sujeto

Configuramos la información de identificación.

Rellenamos los campos de Distinguished name y pulsamos sobre el botón inferior Generate a new key

Seleccionamos el tamaño de la clave y pulsamos el botón Create

Pestaña Extensions

modificamos los siguientes parámetros:

en la lista desplegable Type elegimos Certification Authority

En la casilla Time range ponemos 10 para que el certificado raíz tenga una validez de 10 años

Pestaña Key usage

En el panel de la izquierda seleccionamos:

Digital Signature

Key Agreement

Certificate Sign

si seleccionamos otras opciones el certificado puede no ser reconocido/aceptado por ciertos equipos o sistemas operativos

Pulsamos Aceptar y nos debe aparecer una ventana indicandonos que el certificado ha sido creado

Lo siguiente es exportar el certificado raíz para tener una copia de seguridad. Para ello hacemos lo siguiente:

Pestaña certificados →Botón exportar →ponemos la ubicación y el nombre de donde guardamos el certificado y pulsamos sobre el botón Aceptar

Generar certificado para el Fortigate

Abrimos la interfaz web de nuestro cortafuegos →System →Certificates → Local Certificates.

En la parte superior pulsamos sobre Generate y se abrirá la siguiente ventana

Rellenamos los campos

Al pulsar sobre ok volvemos a la página de Lcal Certificates. seleccionamos el certificado que hemos creado y pulsamos sobre el botón download de la barra.

Nos generará un fichero con la extensión csr que deberemos de importar en el XCA para firmar

Firma del Certificado generado

Abrimos el XCA y nos vamos a la pestaña Certificate Signing requests y pulsamos sobre el botón Importar y seleccionamos el fichero que descargamos en el paso anterior.

Botón derecho del ratón sobre el certificado que acabamos de importar → Firma

Editamos los parámetros antes de firmar de acuerdo a lo siguiente:

En source verificar está marcada la opción de usar el certificado raiz que habiamos generado

En la pestaña de extensions, casilla Time range poner 1 año

En la pestaña Key Usage marcar

Digital Signature

Key Agreement

Certificate Sign

Pulsamos aceptar para que nos firme el certificado.

Depués debemos de exportar el certificado y volverlo a importar al Fortigate. Para eso vamos a la pestaña certificates del XCA →seleccionamos el certificado y pulsamos el botón de exportar

Importar certificado firmado

Vamos al interfaz web del cortafuegos → System →Certificates →Local Certificate → Import → Seleccionamos el certificado firmado del paso anterior

Importar Certificado Raiz

System →Certificates →CA Certificates →Import →Marcamos la casilla Local Pc y seleccionamos el fichero CA Raiz que previamente hemos exportado de nuestra entidad Certificadora

El certificado raíz es necesario importarlo tanto al cortafuegos, como a los clientes

Crear certificados para los clientes

Abrimos el XCA → Pestaña Certificate signing requests → New Request En la ventana que se abre → Pestaña Subject → Rellenamos los campos y pulsamos sobre el botón generate a new key

el commonname tiene que coincider con el del usuario pki que creamos en el fortinet

Seleccionamos el tamaño de la clave y pulsamos sobre create.

Pestaña key usage y seleccionamos del panel de la izquierda → Digital signature

Pulsamos el botón de aceptar y bajo la pestaña Certificate signing requests aparece la petición que acabamos de crear con el estado de la columna firma como Unhandled.

Firma del certificado cliente

Pulsamos con el botón derecho del ratón y en el menu contextual que aparece seleccionamos Firma

En la ventana que se abre en la parte de signing elegimos la opción use this Certificate for signning y seleccionamos el certificado raíz

Verificamos que en la pestaña Extensions la validez que queremos darle al certificado y pulsamos sobre aceptar

En la pestaña Key usage no hace falta ahora seleccionar nada

Ahora nos aparecerá el certificado firmado. Ya sólo falta exportar este certificado y el certificado raíz e importarlo al forticlient. XCA→ Pestaña Certificate→ elegimos el certificado y le damos a exportar →PKCS#12

Forticlient

Importar certificados al Forticlient

Desde el Fortigate descargamos la CA que hemos creado y que si es la primera seguramente se llamara el CA_Cert_1.

A su vez desde el XCA → pestaña Certificates →exportamos el certificado cliente en formato pkcs#12 e importamos ambos certificados al forticlient→Menu File→opciones→Gestión de Certificados→botón importar

Es necesario importar los dos certificados CA_Cert1 y el del cliente

Crear la conexión

Añadimos una nueva conexión con los siguientes parámetros

La autenticación XAuth la he deshabilitado para simplificar, pero sería recomendable activarla tanto el fortigate como en el cliente

Crear conexión y usuarios en el Fortigate

Aparte de los pasos anteriores se supone que en el fortigate hemos creado las políticas y los usuarios necesarios. En caso contrario los pasos a seguir son:

Nos validamos en el Fortigate y vamos a la pestaña VPN

Creamos los usuarios de validación

Pinchamos sobre el icono Create FortiClient VPN

Ponemos los siguientes parámetros

Creamos los usuarios de validación

para PKI

Creamos uno nuevo teniendo en cuenta que el Subject tiene que ser el mismo que el del certficado y en CA el certificado de nuestra CA normalmente CA_Cert1

Referencias

https://stuff.purdon.ca/?page_id=21

https://stuff.purdon.ca/?page_id=30

http://jbouzada.wordpress.com/2009/03/03/trabajando-con-certificados-en-windows-server-2008-1/

http://jbouzada.wordpress.com/2009/03/12/trabajando-con-certificados-en-windows-server-2008-2/

http://jbouzada.wordpress.com/2009/03/16/trabajando-con-certificados-en-windows-server-2008-3/

http://jbouzada.wordpress.com/2009/03/18/trabajando-con-certificados-en-windows-server-2008-4/

http://jbouzada.wordpress.com/2009/03/25/trabajando-con-certificados-en-windows-server-2008-5/

http://jbouzada.wordpress.com/2009/03/30/trabajando-con-certificados-en-windows-server-2008-%E2%80%A6y-6/

http://techlib.barracuda.com/display/CP/How%2Bto%2BCreate%2BCertificates%2Bwith%2BXCA

https://campus.barracuda.com/product/campus/article/REF/CreateCertificatesXCA/

http://firewallguru.blogspot.com.es/2009/05/creating-self-signed-certificates-for.html