SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
CREACIÓN DE CERTIFICADOS DIGITALES CON OPENSSL 
En esta sección de la investigación se muestra como generar los certificados digitales actuando como una autoridad de certificación (CA). Para ello debemos tener instalado el paquete openssl, si aún no lo tenemos, lo instalamos con: 
#apt-get install openssl 
Antes de continuar debemos preparar un directorio en nuestro equipo, este será el directorio base que aloja todos los archivos necesarios para la emisión de certificados que vamos a generar. Nos aseguramos de crear la siguiente estructura de directorio: 
Tabla 1: Estructura de directorio base para la creación de certificados. Directorio Descripción 
/root/CA 
Directorio base a utilizar. 
/root/CA/certs 
Directorio para alojar los certificados ya firmados. 
/root/CA/crl 
Directorio destinado a almacenar los archivos de lista de revocación de certificados (CRL). 
/rot/CA/csr 
Directorio para almacenar las nuevas peticiones de certificados a firmar. 
/root/CA/private 
Directorio que almacena las llaves privadas generadas incluyendo la de nuestro CA. 
/root/CA/serial 
Archivo almacena el número de serie actual asignado al certificado firmado. 
/root/CA/crlnumber 
Archivo que indica el número que tendrá la siguiente lista de revocación de certificados. 
/root/CA/index.txt 
Archivo que almacena información de los certificados creados, a manera de una base de datos simple. 
Figura 1. Listado del directorio base para creación de certificados. 
Además de esta estructura de directorios creada previamente, se recomienda editar una copia del archivo /etc/ssl/openssl.cnf y colocarla en el directorio de trabajo /root/CA/
Ahora trabajaremos con el archivo copia de openssl.cnf, en nuestro ejemplo se le nombro tesisgad.cnf, se modificó las siguientes líneas indicadas en la tabla a continuación: 
Tabla 2: Parámetros modificados del archivo de configuración para la creación de certificados. 
Variable 
Valor 
Descripción Sección CA-default 
dir 
/root/CA 
Directorio raíz de nuestra autoridad de certificación (CA). 
certificate 
$dir/catesisgad.com.pem 
Archivo con la clave pública de la autoridad de certificación. 
crl 
$dir/micrl.pem 
Archivo de lista de revocación de certificados. 
private_key 
$dir/private/catesisgad.com.key 
Archivo con la clave privada de la autoridad de certificación. 
default_days 
3650 
Valor en días en los que será válido el certificado. 
default_crl_days 
300 
Valor del periodo en el que se deben actualizar la lista crl. 
default_md 
sha1 
Valor del tipo de mensaje utlizado se recomienda sha1 Sección req 
default_bits 
4096 
Longitud en bits de la clave privada Sección req_distinguished_name 
countryName_default 
EC 
Iniciales del país de emisión del certificado. 
stateOrProvinceName_default 
Loja 
Estado o provincia de emisión del certificado. 
localityName_default 
Loja 
Localidad de emisión (ciudad) del certificado. 
0.organizationName_default 
Tesis GAD 
Nombre de la Organización 
organizationUnitName_default 
Informática 
Nombre de la unidad organizativa/sección de la Organización
Pasos a seguir para la creación del certificado usado como CA local. 
1. Ingresamos la siguiente línea de comando en la terminal para crear un certificado autofirmado, adicionalmente nos pedirá varios datos informativos, en este ejemplo solo se ingresa algunos datos para diferenciar al certificado. 
Figura 2: Creación de certificado de autoridad de certificación (CA). 
Tabla 3: Explicación de parámetros para la creación de certificado de CA. Explicación de parámetros ingresados 
req 
Indica que va a gestionar una petición 
-new 
Seguido a req significa nueva petición 
-x509 
Formato del tipo de certificado 
-days 3650 
Se indica el período de días durante los que será válido el certificado y su clave privada. 
-config /root/CA/tesisgad.cnf 
Se especifica el archivo de configuración que openssl debe usar. 
-keyout /root/CA/private/catesisgad.com.key 
Se indica el archivo de salida correspondiente a la clave privada del certificado. 
-out /root/CA/catesisgad.com.pem 
Se indica el archivo de salida correspondiente al certificado 
Datos Informativos solicitados: 
Passphrase: Este dato se refiere a una contraseña con la que estará protegida la clave privada de nuestro certificado. 
Datos de la organización: Datos como el país, ciudad, localización, organización, unidad organizativa, al momento de haber sido solicitados solo tecleamos enter, esto es porque nuestro archivo de configuración ya tiene como valores por defecto la información
correspondiente a dichos campos, de otra manera ingresamos el valor que creamos necesario. En este proceso debemos prestar especial atención al momento que nos solicitan el dato “Common Name”, según el tipo de certificado que vamos a crear, podemos ingresar un nombre completo de equipo (FQDN) útil para validar servidores, o en el caso de tratarse de un certificado personal, debería ir el nombre del propietario de dicho certificado, en el primer caso es necesario que el nombre de equipo sea el mismo indicado en el registro del servidor DNS que resuelve a dicho servidor. Por último otro dato importante es la dirección de email asociada a la persona o entidad a la que va destinado dicho certificado. 
Nota: Para poder visualizar en formato textual la información del certificado lo podemos realizar ingresando los siguientes comandos: 
Para la clave secreta: 
Figura 3: Información en forma de texto de la clave privada de CA.
Para la clave pública (el certificado propiamente dicho). 
Figura 4: Información en forma de texto de la clave pública de CA. 
También se puede observar información del propósito del certificado creado como se aprecia en la siguiente figura: 
Figura 5: Información acerca del propósito del certificado de CA.
Pasos a seguir para la creación del certificado que identificara el servidor de correo: 
1. Creamos una llave privada para el servidor con el siguiente comando: 
Figura 6: Creación de clave privada de certificado para servidor de correo. 
Tabla 4: Parámetros ingresados para la creación de clave privada de servidor. Explicación de parámetros ingresados 
genrsa 
Indica que se va a generar una clave privada. 
-des3 
Algoritmo de cifrado a utilizar para la clave privada. 
-out tesisgad.com.key 
Se indica el archivo de salida correspondiente al certificado. 
4096 
Tamaño en bits de la clave privada. 
2. Creamos una petición de firma de certificado, con la siguiente línea de comando creamos un archivo CSR, éste contendrá previamente la información de la organización que está destinada a nuestro certificado de servidor, este archivo debe ser enviado al servidor CA para que este lo revise y si cree conveniente lo firme. 
Figura 7: Creación de archivo de petición de certificado para enviar a CA.
Tabla 5: Parámetros ingresados para la creación de petición de certificado de servidor. Explicación de parámetros ingresados 
req 
Indica que va a gestionar una petición. 
-new 
Seguido a req significa nueva petición. 
-key tesisgad.com.key 
Se indica el archivo de salida correspondiente a la clave privada del certificado. 
-config /root/CA/tesisgad.cnf 
Se especifica el archivo de configuración que openssl debe usar. 
-out tesisgad.com.csr 
Se indica el archivo de salida csr correspondiente a la petición de firma de certificado. 
Datos Informativos solicitados: 
Pass phrase: Este dato se refiere a una contraseña con la que estará protegida la clave privada del certificado. 
Datos de la organización: Como se mencionó anteriormente, se ingresa los datos correspondientes de este certificado para servidor de correo. En la información proporcionada para esta petición de firma de certificado se ingresó como dato Common Name, “debian7.tesisgad.com” es necesario que el nombre de equipo sea el mismo indicado en el registro del servidor DNS que resuelve a dicho servidor, esto para que no presente errores al momento que el certificado sea usado por los servicios para los que fue destinado. 
3. EL administrador de CA revisara la petición de certificado ingresando lo siguiente: 
Figura 8: Fragmento de texto de la petición de certificado de servidor examinado por la CA.
Tabla 6: Información de petición de certificado de servidor examinada desde la CA. Explicación de parámetros ingresados 
req 
Indica que va a gestionar una petición 
-in /root/CA/tesisgad.com.csr 
Archivo del cual se va a leer la información de petición. Este archivo se envió anteriormente desde el servidor que solicita el certificado digital. 
-text 
Presenta en forma de texto la información detallada, en este caso de la petición de certificado. 
4. El administrador de la CA procede a ingresar el siguiente comando para generar el certificado digital solicitado por el servidor en base al archivo de petición recibido. 
Figura 9: Fragmento inicial de comando ingresado para firmar la petición y generación de certificado digital.
Figura 10: Fragmento final de comando ingresado para firmar la petición y generación de certificado digital. 
Aquí luego de revisar la información de certificado tecleamos “y” y luego enter para firmar el certificado. 
5. EL administrador de CA encuentra en este momento el siguiente archivo /root/CA/certs/01.pem este archivo es el nuevo certificado que debe enviarle al servidor que anteriormente realizo la petición de firma. 
6. Antes de usar la clave privada de servidor creada anteriormente se debe remover su pass phrase, esto se debe a que tanto el certificado digital y su clave van a ser usados por servicios del sistema y al poseer una contraseña esta no permite el inicio automático de los servicios que hacen uso de dichos certificados; para ello usamos los siguientes comandos [1]. 
Figura 11: Remover contraseña de clave privada para uso con servicios del sistema. 
Pasos a seguir para la creación de certificado personal de usuario. 
El tipo de certificado que se va a crear a continuación tiene como propósito autenticar usuarios y entre las utilidades que este brinda tenemos: validarnos a un servicio específico que requiera que el usuario sea validado mediante certificado, cifrado y firma digital de correo electrónico, estos son los usos para los que hemos creado los
certificados que tenemos como ejemplo. Para la creación de los certificados digitales para usuario, debemos seguir los siguientes pasos: 
1. Ingresamos la siguiente línea de comando indicada en la siguiente imagen y procedemos a digitar los datos solicitados, en este ejemplo el propietario de este certificado será el usuario: ”Benito Barriga”, y será válido por un año. En este paso se crea la clave privada y la petición de firma de certificado. 
Figura 12: Creación de clave privada y petición de firma de certificado digital de usuario. 
Tabla 7: Información de parámetros ingresados para la creación de petición de certificado de usuario y su clave privada. Explicación de parámetros ingresados 
Req 
Indica que va a gestionar una petición. 
-new 
Seguido a req significa nueva petición. 
-nodes 
Se ingresa para que al momento de crearse la clave privada esta no sea encriptada. 
-out benitob-req.pem 
Se indica el archivo de salida correspondiente a la petición de firma de certificado. 
-keyout private/benitob-key.pem 
Se indica el archivo de salida correspondiente a la clave privada del certificado. 
-days 365 
Se indica el período de días durante los que será válido el certificado y su clave privada. 
-config /root/CA/tesisgad.cnf 
Se especifica el archivo de configuración que openssl debe usar.
Datos Informativos solicitados: 
Datos de la organización a la que pertenece el usuario: Como se mencionó anteriormente, se ingresa los datos correspondientes al certificado. En la información proporcionada para este tipo de certificado se ingresó como dato Common Name, “Benito Barriga” en este ejemplo el nombre del usuario con el que se va a identificar a este individuo cuando el servicio requiera autenticación por medio de certificado. 
2. En este paso el CA correspondiente procede a firmar la petición y generar el certificado ingresando el comando indicado en la imagen, aquí se visualiza los datos que se ingresó en dicha solicitud, para firmarla debe teclear “y” dos veces. 
Figura 13: Firma de certificado personal de usuario por parte del CA.
3. Hasta este instante se creó el certificado y clave privada usuario, ahora cumpliendo el rol de CA vamos a integrar el certificado (clave pública) del CA que firmo el certificado, junto con la clave privada y pública del usuario en un archivo usado para distribución en formato p12. Para realizar esto digitamos en la consola el comando que se observa en la siguiente imagen, además se le debe proporcionar al usuario la contraseña con el que dicho contenedor está protegido [2]. 
Figura 14: Creación de contenedor en formato distribuible listo para envío al usuario. 
4. Para finalizar creamos el archivo de lista de revocación de certificados (CRL), para ello empleamos el siguiente comando: openssl ca -config /root/CA/tesisgad.cnf -gencrl -out /root/CA/crl.pem 
Nota: El archivo CRL aqui creado es utilizado para informar cuándo se le ha dado de baja a un certificado digital, por esto es necesario la creación de éste. 
Tabla 8: Información de parámetros ingresados para la creación de archivo lista de revocación de certificados. Explicación de parámetros ingresados 
Ca 
-config /root/CA/tesisgad.cnf 
Se especifica el archivo de configuración que openssl debe usar. 
-gencrl 
Se indica que se va a generar el archivo CRL 
-out /root/CA/crl.pem 
Se indica el archivo de salida correspondiente a la lista de revocación de certificado. 
Bibliografía 
[1] E. V. B. Esteban, “Creación y administración de certificados de seguridad mediante OpenSSL.” [Online]. Available: http://informatica.uv.es/it3guia/AGR/apuntes/teoria/documentos/Certificados.pdf. [Accessed: 31-Jul-2014]. 
[2] Sandor, “SSL - Certificado firmado por nuestra propia entidad certificadora | PlanetaInopia.” [Online]. Available: http://www.planetainopia.com/2013-10-15/ssl-certificado- firmado-por-nuestra-propia-entidad-certificadora.html. [Accessed: 31-Jul-2014].

Contenu connexe

Tendances

Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)
Alejandro Rodríguez
 
Cuestionario de Active Directory
Cuestionario de Active DirectoryCuestionario de Active Directory
Cuestionario de Active Directory
cesartg65
 
Wins, DNS, Dominio y DHCP
Wins, DNS, Dominio y DHCPWins, DNS, Dominio y DHCP
Wins, DNS, Dominio y DHCP
Neovictril
 
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
wilber147
 
Unidad iii. configuración de redes inalámbricas.
Unidad iii. configuración de redes inalámbricas.Unidad iii. configuración de redes inalámbricas.
Unidad iii. configuración de redes inalámbricas.
Amagno Cardenas
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Universidad de Guadalajara
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
JimRocy
 
Planteamiento Del Problema y Diseño Logico de la Red
Planteamiento Del Problema y Diseño Logico de la RedPlanteamiento Del Problema y Diseño Logico de la Red
Planteamiento Del Problema y Diseño Logico de la Red
ciro polo
 

Tendances (20)

Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)
 
Ip
IpIp
Ip
 
Subneteo
SubneteoSubneteo
Subneteo
 
Cuestionario de Active Directory
Cuestionario de Active DirectoryCuestionario de Active Directory
Cuestionario de Active Directory
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
Wins, DNS, Dominio y DHCP
Wins, DNS, Dominio y DHCPWins, DNS, Dominio y DHCP
Wins, DNS, Dominio y DHCP
 
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...2.	Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
2. Estándar IEEE 802.x (Características, Fundamentos, Controladores de Dispos...
 
Red Inalámbrica - Qué es, tipos, ventajas, desventajas y ejemplos.pdf
Red Inalámbrica - Qué es, tipos, ventajas, desventajas y ejemplos.pdfRed Inalámbrica - Qué es, tipos, ventajas, desventajas y ejemplos.pdf
Red Inalámbrica - Qué es, tipos, ventajas, desventajas y ejemplos.pdf
 
Unidad iii. configuración de redes inalámbricas.
Unidad iii. configuración de redes inalámbricas.Unidad iii. configuración de redes inalámbricas.
Unidad iii. configuración de redes inalámbricas.
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Capa Sesion, victor mamani catachura,boreasH,Modelo Osi
Capa Sesion, victor mamani catachura,boreasH,Modelo OsiCapa Sesion, victor mamani catachura,boreasH,Modelo Osi
Capa Sesion, victor mamani catachura,boreasH,Modelo Osi
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 
Planteamiento Del Problema y Diseño Logico de la Red
Planteamiento Del Problema y Diseño Logico de la RedPlanteamiento Del Problema y Diseño Logico de la Red
Planteamiento Del Problema y Diseño Logico de la Red
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Presentación1 DNS
Presentación1 DNSPresentación1 DNS
Presentación1 DNS
 
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
 
IP Privadas y Publicas
IP Privadas y PublicasIP Privadas y Publicas
IP Privadas y Publicas
 
DIRECCIONAMIENTO IP: IPv4 y IPv6
DIRECCIONAMIENTO  IP: IPv4 y IPv6DIRECCIONAMIENTO  IP: IPv4 y IPv6
DIRECCIONAMIENTO IP: IPv4 y IPv6
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
Capacitacion neo4j
Capacitacion neo4jCapacitacion neo4j
Capacitacion neo4j
 

Similaire à Creación de certificados digitales con openssl CA local

Seg t2 practicas_certificado ssl
Seg t2 practicas_certificado sslSeg t2 practicas_certificado ssl
Seg t2 practicas_certificado ssl
garciadebora
 
Manual de Encriptacion con TLS
Manual de Encriptacion con TLSManual de Encriptacion con TLS
Manual de Encriptacion con TLS
K-milo Rivera
 

Similaire à Creación de certificados digitales con openssl CA local (20)

Instalacion certificados-ssl
Instalacion certificados-sslInstalacion certificados-ssl
Instalacion certificados-ssl
 
openssl
opensslopenssl
openssl
 
Seg t2 practicas_certificado ssl
Seg t2 practicas_certificado sslSeg t2 practicas_certificado ssl
Seg t2 practicas_certificado ssl
 
Seguridad j1v2
Seguridad   j1v2Seguridad   j1v2
Seguridad j1v2
 
Configuracion https owcloud
Configuracion https owcloudConfiguracion https owcloud
Configuracion https owcloud
 
Unir cliente linux a Directorio Activo Windows 2003 Server
Unir cliente linux a Directorio Activo Windows 2003 ServerUnir cliente linux a Directorio Activo Windows 2003 Server
Unir cliente linux a Directorio Activo Windows 2003 Server
 
ITSanchez - Infraestructura CA 2 niveles
ITSanchez - Infraestructura CA 2 nivelesITSanchez - Infraestructura CA 2 niveles
ITSanchez - Infraestructura CA 2 niveles
 
Manual de Encriptacion con TLS
Manual de Encriptacion con TLSManual de Encriptacion con TLS
Manual de Encriptacion con TLS
 
Manual certificado digital en windows server 2012
Manual certificado digital en windows server 2012Manual certificado digital en windows server 2012
Manual certificado digital en windows server 2012
 
Manual ldap
Manual ldapManual ldap
Manual ldap
 
5 modelo pkix
5 modelo pkix5 modelo pkix
5 modelo pkix
 
Manual de Encriptacion de Base de Datos para eFactory ERP/CRM (v1.0)
Manual de Encriptacion de Base de Datos para eFactory ERP/CRM (v1.0)Manual de Encriptacion de Base de Datos para eFactory ERP/CRM (v1.0)
Manual de Encriptacion de Base de Datos para eFactory ERP/CRM (v1.0)
 
Openssl
Openssl Openssl
Openssl
 
Certificados Cacert
Certificados CacertCertificados Cacert
Certificados Cacert
 
Generacion de certifcados con OpenSSL para email
Generacion de certifcados con OpenSSL para emailGeneracion de certifcados con OpenSSL para email
Generacion de certifcados con OpenSSL para email
 
Citrix Secure Gateway
Citrix Secure GatewayCitrix Secure Gateway
Citrix Secure Gateway
 
Dns
DnsDns
Dns
 
Actividad No. 1.15 Autenticación de dos factores con Google Authenticator en...
Actividad No. 1.15 Autenticación de dos factores con Google Authenticator en...Actividad No. 1.15 Autenticación de dos factores con Google Authenticator en...
Actividad No. 1.15 Autenticación de dos factores con Google Authenticator en...
 
Openssl
OpensslOpenssl
Openssl
 
Lab 3 cifrado criptografia
Lab 3   cifrado criptografiaLab 3   cifrado criptografia
Lab 3 cifrado criptografia
 

Plus de Henry Cristian Cuesta Vega (7)

Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB  en Debian BullseyePostfix y Dovecot con cuentas MariaDB  en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
 
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian WheezyPostfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
 
Plan de acondicionamiento para una semana
Plan de acondicionamiento para una semanaPlan de acondicionamiento para una semana
Plan de acondicionamiento para una semana
 
Inteligencia artificial prueba cognitiva
Inteligencia artificial prueba cognitivaInteligencia artificial prueba cognitiva
Inteligencia artificial prueba cognitiva
 
Aritmética de Computadores
Aritmética de ComputadoresAritmética de Computadores
Aritmética de Computadores
 
Simbolodiagramas de flujo
Simbolodiagramas de flujoSimbolodiagramas de flujo
Simbolodiagramas de flujo
 
Instalacion y configuracion servidor ftp
Instalacion y configuracion servidor ftpInstalacion y configuracion servidor ftp
Instalacion y configuracion servidor ftp
 

Dernier

Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
chorantina325
 

Dernier (6)

Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
Emprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoEmprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC Mexico
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuad
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
 

Creación de certificados digitales con openssl CA local

  • 1. CREACIÓN DE CERTIFICADOS DIGITALES CON OPENSSL En esta sección de la investigación se muestra como generar los certificados digitales actuando como una autoridad de certificación (CA). Para ello debemos tener instalado el paquete openssl, si aún no lo tenemos, lo instalamos con: #apt-get install openssl Antes de continuar debemos preparar un directorio en nuestro equipo, este será el directorio base que aloja todos los archivos necesarios para la emisión de certificados que vamos a generar. Nos aseguramos de crear la siguiente estructura de directorio: Tabla 1: Estructura de directorio base para la creación de certificados. Directorio Descripción /root/CA Directorio base a utilizar. /root/CA/certs Directorio para alojar los certificados ya firmados. /root/CA/crl Directorio destinado a almacenar los archivos de lista de revocación de certificados (CRL). /rot/CA/csr Directorio para almacenar las nuevas peticiones de certificados a firmar. /root/CA/private Directorio que almacena las llaves privadas generadas incluyendo la de nuestro CA. /root/CA/serial Archivo almacena el número de serie actual asignado al certificado firmado. /root/CA/crlnumber Archivo que indica el número que tendrá la siguiente lista de revocación de certificados. /root/CA/index.txt Archivo que almacena información de los certificados creados, a manera de una base de datos simple. Figura 1. Listado del directorio base para creación de certificados. Además de esta estructura de directorios creada previamente, se recomienda editar una copia del archivo /etc/ssl/openssl.cnf y colocarla en el directorio de trabajo /root/CA/
  • 2. Ahora trabajaremos con el archivo copia de openssl.cnf, en nuestro ejemplo se le nombro tesisgad.cnf, se modificó las siguientes líneas indicadas en la tabla a continuación: Tabla 2: Parámetros modificados del archivo de configuración para la creación de certificados. Variable Valor Descripción Sección CA-default dir /root/CA Directorio raíz de nuestra autoridad de certificación (CA). certificate $dir/catesisgad.com.pem Archivo con la clave pública de la autoridad de certificación. crl $dir/micrl.pem Archivo de lista de revocación de certificados. private_key $dir/private/catesisgad.com.key Archivo con la clave privada de la autoridad de certificación. default_days 3650 Valor en días en los que será válido el certificado. default_crl_days 300 Valor del periodo en el que se deben actualizar la lista crl. default_md sha1 Valor del tipo de mensaje utlizado se recomienda sha1 Sección req default_bits 4096 Longitud en bits de la clave privada Sección req_distinguished_name countryName_default EC Iniciales del país de emisión del certificado. stateOrProvinceName_default Loja Estado o provincia de emisión del certificado. localityName_default Loja Localidad de emisión (ciudad) del certificado. 0.organizationName_default Tesis GAD Nombre de la Organización organizationUnitName_default Informática Nombre de la unidad organizativa/sección de la Organización
  • 3. Pasos a seguir para la creación del certificado usado como CA local. 1. Ingresamos la siguiente línea de comando en la terminal para crear un certificado autofirmado, adicionalmente nos pedirá varios datos informativos, en este ejemplo solo se ingresa algunos datos para diferenciar al certificado. Figura 2: Creación de certificado de autoridad de certificación (CA). Tabla 3: Explicación de parámetros para la creación de certificado de CA. Explicación de parámetros ingresados req Indica que va a gestionar una petición -new Seguido a req significa nueva petición -x509 Formato del tipo de certificado -days 3650 Se indica el período de días durante los que será válido el certificado y su clave privada. -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar. -keyout /root/CA/private/catesisgad.com.key Se indica el archivo de salida correspondiente a la clave privada del certificado. -out /root/CA/catesisgad.com.pem Se indica el archivo de salida correspondiente al certificado Datos Informativos solicitados: Passphrase: Este dato se refiere a una contraseña con la que estará protegida la clave privada de nuestro certificado. Datos de la organización: Datos como el país, ciudad, localización, organización, unidad organizativa, al momento de haber sido solicitados solo tecleamos enter, esto es porque nuestro archivo de configuración ya tiene como valores por defecto la información
  • 4. correspondiente a dichos campos, de otra manera ingresamos el valor que creamos necesario. En este proceso debemos prestar especial atención al momento que nos solicitan el dato “Common Name”, según el tipo de certificado que vamos a crear, podemos ingresar un nombre completo de equipo (FQDN) útil para validar servidores, o en el caso de tratarse de un certificado personal, debería ir el nombre del propietario de dicho certificado, en el primer caso es necesario que el nombre de equipo sea el mismo indicado en el registro del servidor DNS que resuelve a dicho servidor. Por último otro dato importante es la dirección de email asociada a la persona o entidad a la que va destinado dicho certificado. Nota: Para poder visualizar en formato textual la información del certificado lo podemos realizar ingresando los siguientes comandos: Para la clave secreta: Figura 3: Información en forma de texto de la clave privada de CA.
  • 5. Para la clave pública (el certificado propiamente dicho). Figura 4: Información en forma de texto de la clave pública de CA. También se puede observar información del propósito del certificado creado como se aprecia en la siguiente figura: Figura 5: Información acerca del propósito del certificado de CA.
  • 6. Pasos a seguir para la creación del certificado que identificara el servidor de correo: 1. Creamos una llave privada para el servidor con el siguiente comando: Figura 6: Creación de clave privada de certificado para servidor de correo. Tabla 4: Parámetros ingresados para la creación de clave privada de servidor. Explicación de parámetros ingresados genrsa Indica que se va a generar una clave privada. -des3 Algoritmo de cifrado a utilizar para la clave privada. -out tesisgad.com.key Se indica el archivo de salida correspondiente al certificado. 4096 Tamaño en bits de la clave privada. 2. Creamos una petición de firma de certificado, con la siguiente línea de comando creamos un archivo CSR, éste contendrá previamente la información de la organización que está destinada a nuestro certificado de servidor, este archivo debe ser enviado al servidor CA para que este lo revise y si cree conveniente lo firme. Figura 7: Creación de archivo de petición de certificado para enviar a CA.
  • 7. Tabla 5: Parámetros ingresados para la creación de petición de certificado de servidor. Explicación de parámetros ingresados req Indica que va a gestionar una petición. -new Seguido a req significa nueva petición. -key tesisgad.com.key Se indica el archivo de salida correspondiente a la clave privada del certificado. -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar. -out tesisgad.com.csr Se indica el archivo de salida csr correspondiente a la petición de firma de certificado. Datos Informativos solicitados: Pass phrase: Este dato se refiere a una contraseña con la que estará protegida la clave privada del certificado. Datos de la organización: Como se mencionó anteriormente, se ingresa los datos correspondientes de este certificado para servidor de correo. En la información proporcionada para esta petición de firma de certificado se ingresó como dato Common Name, “debian7.tesisgad.com” es necesario que el nombre de equipo sea el mismo indicado en el registro del servidor DNS que resuelve a dicho servidor, esto para que no presente errores al momento que el certificado sea usado por los servicios para los que fue destinado. 3. EL administrador de CA revisara la petición de certificado ingresando lo siguiente: Figura 8: Fragmento de texto de la petición de certificado de servidor examinado por la CA.
  • 8. Tabla 6: Información de petición de certificado de servidor examinada desde la CA. Explicación de parámetros ingresados req Indica que va a gestionar una petición -in /root/CA/tesisgad.com.csr Archivo del cual se va a leer la información de petición. Este archivo se envió anteriormente desde el servidor que solicita el certificado digital. -text Presenta en forma de texto la información detallada, en este caso de la petición de certificado. 4. El administrador de la CA procede a ingresar el siguiente comando para generar el certificado digital solicitado por el servidor en base al archivo de petición recibido. Figura 9: Fragmento inicial de comando ingresado para firmar la petición y generación de certificado digital.
  • 9. Figura 10: Fragmento final de comando ingresado para firmar la petición y generación de certificado digital. Aquí luego de revisar la información de certificado tecleamos “y” y luego enter para firmar el certificado. 5. EL administrador de CA encuentra en este momento el siguiente archivo /root/CA/certs/01.pem este archivo es el nuevo certificado que debe enviarle al servidor que anteriormente realizo la petición de firma. 6. Antes de usar la clave privada de servidor creada anteriormente se debe remover su pass phrase, esto se debe a que tanto el certificado digital y su clave van a ser usados por servicios del sistema y al poseer una contraseña esta no permite el inicio automático de los servicios que hacen uso de dichos certificados; para ello usamos los siguientes comandos [1]. Figura 11: Remover contraseña de clave privada para uso con servicios del sistema. Pasos a seguir para la creación de certificado personal de usuario. El tipo de certificado que se va a crear a continuación tiene como propósito autenticar usuarios y entre las utilidades que este brinda tenemos: validarnos a un servicio específico que requiera que el usuario sea validado mediante certificado, cifrado y firma digital de correo electrónico, estos son los usos para los que hemos creado los
  • 10. certificados que tenemos como ejemplo. Para la creación de los certificados digitales para usuario, debemos seguir los siguientes pasos: 1. Ingresamos la siguiente línea de comando indicada en la siguiente imagen y procedemos a digitar los datos solicitados, en este ejemplo el propietario de este certificado será el usuario: ”Benito Barriga”, y será válido por un año. En este paso se crea la clave privada y la petición de firma de certificado. Figura 12: Creación de clave privada y petición de firma de certificado digital de usuario. Tabla 7: Información de parámetros ingresados para la creación de petición de certificado de usuario y su clave privada. Explicación de parámetros ingresados Req Indica que va a gestionar una petición. -new Seguido a req significa nueva petición. -nodes Se ingresa para que al momento de crearse la clave privada esta no sea encriptada. -out benitob-req.pem Se indica el archivo de salida correspondiente a la petición de firma de certificado. -keyout private/benitob-key.pem Se indica el archivo de salida correspondiente a la clave privada del certificado. -days 365 Se indica el período de días durante los que será válido el certificado y su clave privada. -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar.
  • 11. Datos Informativos solicitados: Datos de la organización a la que pertenece el usuario: Como se mencionó anteriormente, se ingresa los datos correspondientes al certificado. En la información proporcionada para este tipo de certificado se ingresó como dato Common Name, “Benito Barriga” en este ejemplo el nombre del usuario con el que se va a identificar a este individuo cuando el servicio requiera autenticación por medio de certificado. 2. En este paso el CA correspondiente procede a firmar la petición y generar el certificado ingresando el comando indicado en la imagen, aquí se visualiza los datos que se ingresó en dicha solicitud, para firmarla debe teclear “y” dos veces. Figura 13: Firma de certificado personal de usuario por parte del CA.
  • 12. 3. Hasta este instante se creó el certificado y clave privada usuario, ahora cumpliendo el rol de CA vamos a integrar el certificado (clave pública) del CA que firmo el certificado, junto con la clave privada y pública del usuario en un archivo usado para distribución en formato p12. Para realizar esto digitamos en la consola el comando que se observa en la siguiente imagen, además se le debe proporcionar al usuario la contraseña con el que dicho contenedor está protegido [2]. Figura 14: Creación de contenedor en formato distribuible listo para envío al usuario. 4. Para finalizar creamos el archivo de lista de revocación de certificados (CRL), para ello empleamos el siguiente comando: openssl ca -config /root/CA/tesisgad.cnf -gencrl -out /root/CA/crl.pem Nota: El archivo CRL aqui creado es utilizado para informar cuándo se le ha dado de baja a un certificado digital, por esto es necesario la creación de éste. Tabla 8: Información de parámetros ingresados para la creación de archivo lista de revocación de certificados. Explicación de parámetros ingresados Ca -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar. -gencrl Se indica que se va a generar el archivo CRL -out /root/CA/crl.pem Se indica el archivo de salida correspondiente a la lista de revocación de certificado. Bibliografía [1] E. V. B. Esteban, “Creación y administración de certificados de seguridad mediante OpenSSL.” [Online]. Available: http://informatica.uv.es/it3guia/AGR/apuntes/teoria/documentos/Certificados.pdf. [Accessed: 31-Jul-2014]. [2] Sandor, “SSL - Certificado firmado por nuestra propia entidad certificadora | PlanetaInopia.” [Online]. Available: http://www.planetainopia.com/2013-10-15/ssl-certificado- firmado-por-nuestra-propia-entidad-certificadora.html. [Accessed: 31-Jul-2014].