meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

hardware:fortigate:vpn:certificados [232020/04/ 11:09] – ↷ Página movida de hardware:fortigate:certificados a hardware:fortigate:vpn:certificados lchardware:fortigate:vpn:certificados [182023/01/ 13:45] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +{{tag> vpn, ipsec, certificados }}
 +<note warning>Esta página está obsoleta. La nueva la puedes encontrar en [[hardware:fortigate:vpn:ipseccertificados|VPN ipsec con certificados]]</note>
 +===== 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.
 +
 +{{ :hardware:fortigate:xcapassword.png?600 |}}
 +
 +Nos aparece la siguiente ventana {{ :hardware:fortigate:xca1.png?600 |}}
 +
 +==== Generar el certificado Raíz ====
 +Pulsamos sobre la pestaña **Certificates** y entonces pulsamos en el botón **New Certificate**. 
 +{{ :hardware:fortigate:xca2.png?600 |}}
 +
 +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**
 +{{ :hardware:fortigate:xca3.png?600 |}}
 +
 +
 +Seleccionamos el tamaño de la clave y pulsamos el botón **Create**
 +{{ :hardware:fortigate:xca4.png?300 |}}
 +
 +=== 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{{ :hardware:fortigate:xca5.png?600 |}}
 +
 +=== Pestaña Key usage ===
 +En el panel de la izquierda seleccionamos:
 +  * Digital Signature
 +  * Key Agreement
 +  * Certificate Sign
 +<note>si seleccionamos otras opciones el certificado puede no ser reconocido/aceptado por ciertos equipos o sistemas operativos</note>
 +{{ :hardware:fortigate:xca6.png?600 |}}
 +
 +
 +Pulsamos Aceptar y nos debe aparecer una ventana indicandonos que el certificado ha sido creado
 +{{ :hardware:fortigate:xca7.png?600 |}}
 +{{ :hardware:fortigate:xca8.png?600 |}}
 +
 +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
 +{{ :hardware:fortigate:xca9.png?600 |}}
 +
 +==== 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 {{ :hardware:fortigate:xca10.png?600 |}}
 +
 +Rellenamos los campos
 +{{ :hardware:fortigate:xca11.png?600 |}}
 +
 +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.
 +{{ :hardware:fortigate:xca12.png?600 |}}
 +
 +Botón derecho del ratón sobre el certificado que acabamos de importar -> Firma
 +{{ :hardware:fortigate:xca13.png?300 |}}
 +
 +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
 + {{ :hardware:fortigate:xca14.png?600 |}}
 +  * En la pestaña de extensions, casilla Time range poner 1 año
 +{{ :hardware:fortigate:xca15.png?600 |}}
 +  * En la pestaña Key Usage marcar 
 +    * Digital Signature
 +    * Key Agreement
 +    * Certificate Sign
 +{{ :hardware:fortigate:xca16.png?600 |}}
 +
 +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
 +
 +<note>El certificado raíz es necesario importarlo tanto al cortafuegos, como a los clientes </note>
 +
 +==== Crear certificados para los clientes ====
 +Abrimos el XCA -> Pestaña Certificate signing requests -> New Request
 +{{ :hardware:fortigate:x_certificate_and_key_management-2014-02-20_12.34.52.png?600 |}}
 +En la ventana que se abre -> Pestaña Subject -> Rellenamos los campos y pulsamos sobre el botón generate a new key
 +{{ :hardware:fortigate:x_certificate_and_key_management-2014-02-20_12.37.49.png?600 |}}
 +
 +<note>el commonname tiene que coincider con el del usuario pki que creamos en el fortinet </note>
 +Seleccionamos el tamaño de la clave y pulsamos sobre create.
 +
 +Pestaña **key usage** y seleccionamos del panel de la izquierda -> Digital signature 
 +
 +{{ :hardware:fortigate:x_certificate_and_key_management-2014-02-20_12.43.34.png?600 |}}
 +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
 +{{ :hardware:fortigate:screenshot-2014-02-20_12.55.57.png?600 |}}
 +
 +
 +
 +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
 +{{ :hardware:fortigate:x_certificate_and_key_management-2014-02-20_13.08.28.png?600 |}}
 +
 +Verificamos que en la pestaña **Extensions** la validez que queremos darle al certificado y pulsamos sobre aceptar
 +
 +<note> En la pestaña **Key usage** no hace falta ahora seleccionar nada </note>
 +
 +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
 +
 +<note>Es necesario importar los dos certificados CA_Cert1 y el del cliente</note>
 +
 +=== Crear la conexión ===
 +
 +
 +Añadimos una nueva conexión con los siguientes parámetros
 +
 +{{:undefined:forticlient.png|}}
 +<note>La autenticación XAuth la he deshabilitado para simplificar, pero sería recomendable activarla tanto el fortigate como en el cliente</note> 
 +
 +==== 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 ===
 +{{ :hardware:fortigate:pki.png?400 |}}
 +
 +
 +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