Manual SSL v3

15
INSTALACION Y CONFIGURACION SSLv3 Primero lo que debemos hacer es instalar el paquete de “openssl”. Luego vamos a entrar a la carpeta que genera dicha instalación que es “/etc/ssl/”.

Transcript of Manual SSL v3

Page 1: Manual SSL v3

INSTALACION Y CONFIGURACION

SSLv3

Primero lo que debemos hacer es instalar el paquete de “openssl”.

Luego vamos a entrar a la carpeta que genera dicha instalación que es “/etc/ssl/”.

Page 2: Manual SSL v3

En esta carpeta debemos crear un directorio llamado “CA” es donde se van a crear todos los archivo requeridos para el SSL.

Ahora dentro de la carpeta “/etc/ssl/CA/” creamos otras dos llamadas “certificados” y “privado”. En la carpeta “certificados” es donde se guardará una copia de cada certificado que firmemos y en el directorio “privado” se guardará la llave privada.

Page 3: Manual SSL v3

Después debemos crear dos archivos de conformarán la base de datos de los certificados autofirmados, el primero es el archivo “serial” simplemente contiene el siguiente número de serie de nuestros certificados, ya que apenas vamos a crear el primero su número de serie será 01, después de crearlo se actualizará a 02 y así sucesivamente.

Luego por organización de nuestro servidor copiaremos el archivo “openssl.cnf” a la carpeta “CA” y haremos un backup del archivo original por seguridad.

Page 4: Manual SSL v3

Configuraremos el archivo “openssl.conf”, la configuración que debe haber dentro de este archivo es la siguiente:

# ********************************************************************# www.marcar.com# [email protected]# # Archivo de configuracion para openssl## ***** openssl.cnf ******

dir = . # variable que establece el directorio de trabajo # seccion que permite convertirnos en una CA# solo se hace referencia a otra seccion CA_default[ ca ]default_ca = CA_default

[ CA_default ]serial = $dir/serial # archivo que guarda el siguiente numero de # serie database = $dir/index.txt # archvio que guarda la bd de certificadosnew_certs_dir = $dir/certificados # dir que guarda los certificados generadoscertificate = $dir/cacert.pem # nombre del archivo del certificado raizprivate_key = $dir/privado/cakey.pem # llave privada del certificado raízdefault_md = md5 # algoritmo de dispersión usadopreserve = no # Indica si se preserva o no el orden de los # campos del DN cuando se pasa a los certs.nameopt = default_ca # esta opción y la siguiente permiten mostrar # detalles del certificado certopt = default_ca policy = policy_match # indica el nombre de la seccion # donde se especifica que campos son # obligatorios, opcionales y cuales deben ser # iguales al certificado raiz

# seccion de politicas para la emisión de certificados[ policy_match ]countryName = optional # optional, obligatoriostateOrProvinceName = optional organizationName = optionalorganizationalUnitName = optional # optional, campo opcionalcommonName = supplied # supplied, debe estar en la peticion emailAddress = optional

# seccion que indica como los certificados deben ser creados[ req ]default_bits = 1024 # tamaño de la llave, si no se indica 512default_keyfile = key.pem # nombre de la llave privadadefault_md = md5 # algoritmo de dispersión a utilizarstring_mask = nombstr # caracteres permitidos en la mascara de la # llavedistinguished_name = req_distinguished_name # seccion para el nombre # distinguido (DN)req_extensions = v3_req # seccion con mas extensiones que se añaden a # la petición del certificado

# seccion del nombre distinguido, el valor es el prompt que se vera en # pantalla.# datos del propietario del certificado.# esta seccion define el contenido de datos de id que el certificado llevara.

[ req_distinguished_name ]0.organizationName = Nombre de la organizacion0.organizationName_default = marcar, S.A.organizationalUnitName = Departamento o division

Page 5: Manual SSL v3

emailAddress = Correo electronicoemailAddress_max = 40localityName = Ciudad o distritolocalityName_default = MedellínstateOrProvinceName = Estado o provinciastateOrProvinceName_default = AntioquiacountryName = Codigo del pais (dos letras)countryName_default = COcountryName_min = 2countryName_max = 2commonName = Nombre comun (hostname o IP)commonName_max = 64

# Si en la línea de comandos se indica la opción -x509, # Las siguientes extensiones también aplican [ v3_ca ]# indica que se trata de un certificado CA raíz con autoridad para # firmar o revocar otros certificadosbasicConstraints = CA:TRUE # especifica bajo que método identificar a la llave publica que será # certificadasubjectKeyIdentifier = hash # Especifica como identificar la llave publica

authorityKeyIdentifier = keyid:always,issuer:always # extensiones de la opcion req[ v3_req ]basicConstraints = CA:FALSE # los certificados firmados no son CAsubjectKeyIdentifier = hash

# ***************************************************************************

Lo siguiente es generar la llave privada y el certificado raíz de la CA (Autoridad Cerificadora)

Veamos los que indica cada comando

req -new -x509 ---> crear un certificado nuevo autofirmado

-extensions v3_ca ---> crear un certificado raíz CA

Page 6: Manual SSL v3

-keyout ---> nombre y donde guardará la llave privada

-out ---> nombre del certificado raíz CA

-days 3650 ---> el certificado será válido por 3650 días (10 años)

-config ---> archivo de configuración a utilizar

A continuación nos preguntara algunos datos como la llave privada de la CA.

Después algunos datos que necesita otorgarle al certificado, nombre de la organización, departamento de trabajo, correo electrónico del encargado, ciudad, estado, y código del país, además nombre común (dominio, IP, hostname).

Listo ya generamos la llave privada y el certificado raíz de la CA. Ahora somos una CA

Generaremos una solicitud de certificado para el cliente y una clave para esta petición

Page 7: Manual SSL v3

A continuación nos pedirá la clave para la nueva solicitud y además algunos datos necesarios para el certificado.

Ahora procederemos a firmar la petición generada así:

Page 8: Manual SSL v3

Luego nos pedirá la clave de la CA (Autoridad Certificadora), además nos mostrara los datos que la solicitud tiene para este certificado, y también nos preguntara si queremos firmar el la petición de certificado commit y que se generara una salida de certificado a los cual contestaremos que si (y).

Continuamos con la configuración del archivo del servidor APACHE

Page 9: Manual SSL v3

Y agregaremos las siguientes líneas al final del archivo

Por ultimo exportaremos el certificado del cliente en formato “p12” para que el navegador pueda tener nuestra Autoridad Certificadora (CA) como confiable.

Page 10: Manual SSL v3

Para exportarlo nos pedirá la clave que creamos con la solicitud y una clave de exportación que nos tendremos exigirá cuando estemos agregándolo al browser.

Para agregar el certificado al navegador debemos primero ir a “preferencias” y daremos clic en “ver certificados”

Page 11: Manual SSL v3

Y para agregarlo seleccionaremos la pestaña “sus certificados” y daremos clic en “importar”.

Y buscaremos la ruta de acceso a el certificado que esta en formato “p12”, lo seleccionaremos y daremos clic en abrir.

Luego nos pedirá la clave con que exportamos el certificado en formato “p12”

Page 12: Manual SSL v3

Y listo ya tendremos el certificado instalación el nuestro navegador

Nos deberá mostrar el certificado en la pestaña “sus certificados” el nuevo certificado agragado y podremos ver los detalles del certificado dando clic en “ver”

Nos mostrara algo como esto, con todos los datos de nuestra CA y del certificado.

Page 13: Manual SSL v3