You are on page 1of 18

Razones para migrar a HTTPS

Reguardar tus datos digitales bajo un protocolo HTTPS y un certificado SSL, es una medida que adems de
proteger los activos digitales de tu empresa contra peligros cibernticos, favorece su buen posicionamiento en
la web. Detallamos todo lo que necesitas saber sobre este protocolo y los certificados a travs de los cuales tu
empresa puede implementarlo.

Desde que Edward Snowden revel en 2013 que la Agencia de Seguridad Nacional de Estados Unidos (NSA)
intercepta todo tipo de informacin online, se dispar la demanda de certificados Secure Socket Layer (SSL)
para migrar sitios web al protocolo HTTPS. La razn?, obtener mayor seguridad informtica.

Para proteger tu informacin de los intrusos, el sistema HTTPS encripta los datos antes de trasladarlos de
un puerto a otro a travs de la red.

El protocolo HTTPS no es ms que el protocolo HTTP de toda la vida, pero con una capa aadida de
seguridad. Usando algoritmos de encriptacin SSL, los datos que deben viajar de un servidor a otro lo hacen
de manera segura y al destino correcto. De esta manera, informacin delicada como contraseas, datos
financieros y perfiles de empleados, se protegen de ser interceptadas por usuarios malintencionados.

Una forma de obtener estos certificados y sus sistemas de encriptacin, es a travs de autoridades
certificadoras (AC). Las AC son organizaciones de confianza responsables de validar, generar y revocar
certificados digitales, adems de garantizar la seguridad de las transacciones y administrar informacin sobre
el estado de los certificados. Estas entidades verifican que tu pgina y tu empresa sean autnticas y garantizan
a tus usuarios que sus transacciones sean seguras.

Este servicio exige una renta anual que depende del tipo de certificado y el nivel de seguridad que ofrece,
aunque tambin hay empresas tales como Cloudflare, Letsencrypt y OpenSSL, que proveen certificados
gratuitos con ciertos niveles de seguridad.

Pero ms all del reforzamiento de seguridad, existen otras razones adicionales por las que deberas pasar tu
sitio web al modelo de encriptacin HTTPS.

Mejorar el SEO con HTTPS

Desde que las certificaciones gratuitas se popularizaron, Google comenz a dar a las pginas con encriptacin
HTTPS ventajas de posicionamiento en sus buscadores. Al hacer esto, fomentaron ampliamente el uso de
protocolos que protegen la informacin del alcance de la mirada de terceros.

Si bien la ventaja que da Google a las pginas con certificado SSL es mnima, han anunciado que aumentar
en el futuro para impulsar el intercambio cada vez ms seguro de informacin en la web.

Los buscadores siguen dando mayor preponderancia a los contenidos originales de alta calidad, pero un sitio
con certificados SSL tendr un beneficio nada despreciable cuando la competencia por aparecer de primeros
aumenta.

Otra de las ventajas SEO de estos protocolos, es que emantienen intactos los datos referidos. Es decir, con un
sitio HTTPS puedes conocer desde qu pginas te visitan los usuarios o con qu palabras clave te hallaron.
Esta informacin es vital para la analtica de datos y te ayudar a incrementar an ms las visitas.
Tipos de certificado SSL

Antes de migrar a los protocolos HTTPS y solicitar un certificado SSL, primero debes comprender bien qu
tipo de seguridad necesitas:

Certificados de validacin extendida (EV): es vlido para un nico sitio web, ofrece lo mejor de lo
mejor en encriptacin 2048 bits y aade una barra verde al buscador con el nombre de la empresa.
Certificado de organizacin validada (OV): funciona para un solo sitio web y valida que la pgina
pertenece a tu empresa y que sta reconocida por algn organismo oficial, aunque no aporta la misma
confianza que atribuye la barra verde.
Certificado de dominio validado (DV): solo valida que tu empresa es duea del dominio en cuestin
y ofrece niveles de encriptacin estndar en la industria.

Tambin existen otros tipos de certificados que tienen mayor versatilidad en cuanto a los sitios en los que
pueden usarse:

Certificados multi dominio: pueden albergar en su cpsula de seguridad a ms de 100 sitios.


Certificados comodn: certificados de tipo DV y OV que pueden abarcar un dominio
(www.ejemplo.com) con todos sus subdominios (login.ejemplo.com, tienda.ejemplo.com, etc).

Asesrate en GPC con uno de nuestros analistas en seguridad IT empresarial, y obtn el certificado SSL que
mejor se adapte a las necesidades de migracin de datos de tu empresa.

Otros aspectos a tener en cuenta

Es probable que tu sitio HTTPS tenga una pequea demora de carga, puesto que este tipo de protocolos
incrementa el intercambio de datos internos de tu web antes de establecer la conexin entre sus pginas. Es el
precio que hay que pagar por mayor seguridad, aunque esta demora puede reducirse si se siguen buenas
prcticas de desarrollo web.

Por otro lado, algunas aplicaciones web, sobre todo antiguas, pueden tener problemas con direcciones HTTPS.
AdSense, por ejemplo, puede reducir considerablemente los ingresos que genera, ya que Google restringir la
impresin de anuncios en las webs que cumplan los requisitos SSL.

Ya para finalizar es compendio explicaciones, lo ms importante que debes considerar es que cada vez ms
sitios web migran al sistema HTTPS. Lo ms probable es que en poco tiempo este sistema de encriptacin
SSL sea el usado por defecto, as que ste es el mejor momento para migrar y asegurar los datos digitales de tu
empresa.
Generar y convertir claves y certificados con OpenSSL

Usando los comandos expuestos en este artculo y con OpenSSL podemos crear una clave pblica y privada
para usarlo con ssh o para cifrar y descifrar mensajes, un certificado autofirmado que podremos usar en un
servidor de aplicaciones para usar un protocolo seguro y tambin convertir las claves y certificados a uno de
los formatos aceptados por la aplicacin que usemos.

Para un uso personal como enviar correos o archivos cifrados o firmados digitalmente usar GnuPG es una
buena opcin. En Internet los servidores tambin se aprovechan del uso de criptografa para realizar
comunicaciones seguras entre el usuario y el servidor.

Para hacer uso en un servidor de una comunicacin https donde los datos viajan cifrados y sin que otras partes
salvo el usuario y el servidor puedan acceder a los datos necesitamos un certificado digital. Un certificado es
un archivo que contiene la clave pblica sirvindonos para verificar su autenticidad. Un certificado
autofirmado es un certificado firmado con la misma clave privada asociada a la clave pblica que contiene el
certificado. Un certificado autofirmado es suficiente para un entorno de pruebas pero en un servidor para
proporcionar confianza a los usuarios deberemos solicitar que una autoridad de certificados que nos firme con
su clave nuestro certificado, si el usuario confa en esa autoridad de certificado puede de esta manera confiar
en nuestro certificado y clave pblica. Varias entidades de registro de dominios o halojamiento web ofrecen la
compra de certificados SSL, en el artculo Certificado SSL, de empresa, wildcard y de validacin extendida
comento con un poco ms detalle los varios tipos de certificados y algunas opciones donde obtenerlos o
comprarlos.

Dependiendo del tipo de certificado que solicitemos y nos entregue la autoridad de certificado el usuario podr
ver que est simplemente accediendo a un servidor con conexin segura, ver los detalles de nuestro certificado
y en algunos casos el usuario podr ver en la barra de direcciones en verde el nombre de la entidad, que puede
darle al usuario ms confianza y ver que realmente est accediendo al servidor correcto y no a uno que est
intentando suplantar una identidad. En este ltimo caso la barra de direcciones no tendra en verde el nombre
de la entidad, esto es algo que como usuarios debemos comprobar al acceder a determinados sitios de forma
segura.

Con la herramienta OpenSSL y los siguientes comandos podemos generar claves y certificados y realizar las
conversiones entre formatos que necesitemos.

Crear claves y certificados


Crear una clave privada y pblica

Para generar un par de claves RSA que nos permitan tanto cifrar datos como realizar firmas se emplea el
siguiente comando:

$ openssl genrsa -out localhost.key 8192

Para cifrar la clave generada con el algoritmo aes256 y protegerla por una contrasea se puede emplear el
siguiente comando, en realidad al generar la clave indicando la misma opcin -aes256 en el comando anterior
la clave se generar cifrada y protegida por una contrasea. Para cambiar la contrasea es el mismo comando
y el segundo comando elimina la contrasea y la descifra:

$ openssl rsa -aes256 -in localhost.key -out localhost-encrypted.key


$ openssl rsa -in localhost-encrypted.key -out localhost.key

El contenido de un archivo de clave privada sin cifrar tiene el siguiente aspecto (los tres puntos son lneas de
contenido omitidas).

-----BEGIN RSA PRIVATE KEY-----

MIISKQIBAAKCBAEAwFQjrkBwMq6jKfvAK31pwSh3lQXrS6laf8Bu1eFJDPLlat2/

508NgkPB/mY3/SISmrFDV9RfvLLKD0mGWxDlmMuv3AVPCzpNWwV6BbNC4BmdPkgH

pKHMZShIBPqpoJ1uNu9adq8Icw8EeIdz3irbeR2hZAWddGuawfm2yiixM93EMxff

bdby2NIWgAJSzjWn4X5bUFvfmIcTsDkyP0SN+cfUBM09NV3JJrV8c7FR3AG2jOXJ

WlcJUUTgyrTOD6fkzSaap0OYAlLC4/Ux7/0JYxfRgzJ/SRZ5i5uFIJ1mp4aVs+UK

2VpqSdZo4Tk7FHsDWWk0ml0nycQ6wM3avqaDjlb9tPXC3WVRsyDqZ61GzjgLIgK5

3ZW5hKkSQvF1pmNV06MGyxF/5//rAH3muIZ8egaOdUa/aj48HIvooO46o4DjCKAB

h1sNVrFcdlLdmZJ4f6W3CuUZyVX7zMbHRvhGGA4sOXar/41wHW9v4GAViLGWCQ7l

9l6r8kDdJ90yGStml/PnXQ6XUdYA878DObYmYCd+FN4e1rRMXnd97jtysuYeDsSV

/Shkd5x4ois9CQqh7rShvipdq3SNNp/9VSNG4bDN4IqzyhcnFDk0k5sm34vAPSn7

CdhpE5m5xtjYiPrR5IxQdN+1rL0+CheMvwhiKcwiaOrNTpbHZzhDfFJ40gg3MHaW

...

...

...

...

...

...
DKDSV7bm/0/4T4/vtpn3MKauMFVubNY0/UxPNpp+s1QaeBx5TwhGz7+1meb8bRg9

3Q8QluXUEhDzq+AyaQiCHnnn977lkjxZ0h6WM1wrsbkcBHFhsi9CE9XLgijA

-----END RSA PRIVATE KEY-----

Exportar la clave pblica

El archivo generado al crear el par de claves contiene tanto la clave pblica como la privada. La privada no se
debe distribuir y se debe mantener protegida de forma que solo la conozca su propietario. La clave pblica es
la que se distribuye a otras personas o entidades. Para extraer la clave pblica del archivo generado anterior
por OpenSSL usamos el siguiente comando:

$ openssl rsa -in localhost.key -pubout > localhost.pub

Tambin se puede obtener la clave pblica en formato OpenSSH y una representacin grfica de la huella
digital.

$ ssh-keygen -y -f localhost.key > localhost-openssh.pub

Obtener la huella digital de la clave pblica

La huella digital de una clave pblica sirve para comprobar que la clave es la esperada. Son una cadena de
nmeros y letras pudiendo estar cada pareja de caracteres separados por :.

$ openssl dgst -sha256 -c localhost.pub


$ ssh-keygen -lv -f localhost.pub

Crear un certificado

Un certificado contiene la firma de una tercera parte que valida nuestra clave pblica como autntica. Para que
esa tercera parte pueda firmar nuestra clave deberemos generar una peticin de firma de certificado y
envirsela a la autoridad de certificado que nos lo devolver firmado. La peticin firma de certificado se crea
con el siguiente comando:

$ openssl req -new -key localhost.key -out localhost.csr

Si no queremos tratar con una autoridad de certificado, ya que cobran por la firma, podemos crear un
certificado autofirmado que puede ser suficiente para un entorno de pruebas. El comando para generar el
certificado autofirmado es:

$ openssl req -new -x509 -days 1825 -key localhost.key -out localhost.crt

Cmo usar OpenSSL para generar SSL certificados, claves privadas y los CSR

OpenSSL es una CLI (Command Line Tool) que puede ser usado para fijar el servidor para generar la
infraestructura de clave pblica (PKI) y HTTPS. Este artculo le ayuda como una referencia rpida para entender
los comandos OpenSSL que son muy tiles en comn, y para los escenarios de la vida cotidiana, especialmente
para los administradores de sistemas.

Las solicitudes de firma de certificado (CSR)

Si queremos obtener el certificado SSL de una autoridad de certificacin (CA), debemos generar una solicitud
de firma de certificado (CSR). A CSR consiste en principalmente la clave pblica de un par de claves, y alguna
informacin adicional. Estos dos componentes se combinan en el certificado cada vez que estamos firmando
para la RSE.

Mientras generar una CSR, el sistema le solicitar informacin sobre el certificado y esta informacin se conoce
como nombre distinguido (DN). El campo importante en el DN es el nombre comn (CN) que debe ser el FQND
(Calificado Completamente de nombres de dominio) del servidor o host en el que tenemos la intencin de utilizar
el certificado con.
El siguiente punto en un DN es proporcionar la informacin adicional acerca de nuestra empresa u organizacin.
Si se compra un certificado SSL de una autoridad de certificacin (CA), es muy importante y requiere que estos
campos adicionales como la "Organizacin" deben reflejar su organizacin para obtener ms detalles.

Aqu est un ejemplo general de la lnea de informacin de la CSR, cuando se ejecute el comando OpenSSL
para generar el CSR.

Nombre Pas (cdigo de 2 letras) [EE.UU.]: EN


Estado o Provincia Nombre (nombre completo) [Algunos-Estado]: Telengana
Nombre localidad (por ejemplo, de la ciudad) []: Hyderabad
Nombre de la organizacin (por ejemplo, de la compaa) [Internet Widgits Pty Ltd]: Ansole Pvt Ltd
Unidad organizativa Nombre (por ejemplo, la seccin) []: Aplicacin
Nombre comn (por ejemplo, nombre de dominio completo del servidor o su nombre) []: domainname.com
Direccin de correo electrnico []: support@domainname.com

Tambin podemos proporcionar la informacin por respuestas no interactivas para la generacin de informacin
de la CSR, podemos hacer esto aadiendo la opcin -subj a cualquier comando de OpenSSL que tratamos de
generar o ejecutar.

A continuacin se muestra un ejemplo para la opcin -subj donde podemos proporcionar la informacin de la
organizacin donde queremos usar esta RSE.

-subj "/ C = IN / ST = Telengana / L = Hyderabad / S = Ansole Pvt Ltd / CN = domainname.com"


producir CSR

En esta seccin, vamos a cubrir sobre los comandos OpenSSL que estn relacionadas con la generacin de la
RSE. Este RSE puede ser utilizado para solicitar un certificado SSL de una autoridad de certificacin.

Generar una clave privada y una CSR

Si queremos utilizar HTTPS (HTTP sobre TLS) para asegurar los servidores web Apache o Nginx (utilizando
una autoridad de certificacin (CA) para emitir el certificado SSL). Adems, el '.CSR' que va a generar tiene
que ser enviado a una CA para solicitar el certificado SSL para la obtencin de CA-firmado.

A continuacin se muestra el comando para crear una clave privada de 2048 bits de 'domain.key' y la CSR
'domain.csr' desde el principio.

$ Openssl req -newkey RSA: 2048 -nodes -keyout domain.key salida privado domain.csr
Generar una clave privada RSA de 2048 bits
.............................. +++
....................................... +++
escribir nueva clave privada para 'domain.key'
-----
Usted est a punto de ser preguntado para introducir la informacin que se incorporarn
en su solicitud de certificado.
Lo que est a punto de entrar es lo que se llama un nombre completo o un DN.
Hay un buen nmero de campos, pero puede dejar un poco de espacio en blanco
Para algunos campos habr un valor predeterminado,
Si introduce '.', El campo se deja en blanco.
-----
Nombre Pas (cdigo de 2 letras) [UA]: EN
Estado o Provincia Nombre (nombre completo) [Algunos-Estado]: Telengana
Nombre localidad (por ejemplo, de la ciudad) []: Hyderabad
Nombre de la organizacin (por ejemplo, de la compaa) [Internet Widgits Pty Ltd]: Ansol Pvt Ltd
Unidad organizativa Nombre (por ejemplo, la seccin) []: Aplicacin
Nombre comn (por ejemplo, nombre de dominio completo del servidor o su nombre) []: domainname.com
Direccin de correo electrnico []: support@domainname.com

El '-newkey RSA: 2048' es la opcin de la que estamos especificando que la clave debe ser de 2048 bits
utilizando el algoritmo RSA. La opcin '' -nodes es que se especifica que la clave privada no debe ser cifrado
con una frase de acceso. La opcin '-nuevo', indica que se est generando un CSR.

Generar una CSR a partir de una clave privada existente

Aqu vamos a aprender acerca de, cmo generar una CSR para el que tenga la clave privada.

A continuacin se muestra el comando para crear un nuevo archivo .csr sobre la base de la clave privada que
ya tenemos.

$ Openssl req tecla domain.key -nuevo salida privado domain.csr


Usted est a punto de ser preguntado para introducir la informacin que se incorpora a la peticin del
certificado.
Lo que est a punto de entrar es lo que se llama un nombre completo o un DN.
Hay un buen nmero de campos, pero puede dejar un poco de espacio en blanco
Para algunos campos habr un valor predeterminado,
Si introduce '.', El campo se deja en blanco.
-----
Nombre Pas (cdigo de 2 letras) [UA]: EN
Estado o Provincia Nombre (nombre completo) [Algunos-Estado]: Telengana
Nombre localidad (por ejemplo, de la ciudad) []: Hyderabad
Nombre de la organizacin (por ejemplo, de la compaa) [Internet Widgits Pty Ltd]: Ansol Pvt Ltd
Unidad organizativa Nombre (por ejemplo, la seccin) []: applicatoin
Nombre comn (por ejemplo, nombre de dominio completo del servidor o su nombre) []: domainname.com
Direccin de correo electrnico []: support@domainname.com
Generacin de una CSR de un certificado existente y la clave privada

Aqu podemos generar o renovar un certificado existente en el archivo que se pierda la RSE debido a alguna
razn. Aqu, la RSE va a extraer la informacin usando el archivo .CRT la que tenemos.

A continuacin se muestra el ejemplo para la generacin -

$ Openssl x509 en domain.crt-signkey domain.key -x509toreq salida privado domain.csr

Donde -x509toreq se especifica que estamos utilizando los archivos de certificados x509 para hacer un CSR.

Generacin de un certificados con chamuscado

Aqu vamos a generar el certificado para asegurar el servidor web en la que se utiliza el certificado de firma a
utilizar para el desarrollo y el propsito de prueba.

$ Openssl req -newkey RSA: 2048 -nodes -keyout domain.key-x509 -days 365 domain.crt salida privado
Generar una clave privada RSA de 2048 bits
................ +++
.................................................. +++ .....
escribir nueva clave privada para 'domain.key'
-----
Usted est a punto de ser preguntado para introducir la informacin que se incorpora a la peticin del
certificado.
Lo que est a punto de entrar es lo que se llama un nombre completo o un DN.
Hay un buen nmero de campos, pero puede dejar un poco de espacio en blanco
Para algunos campos habr un valor predeterminado,
Si introduce '.', El campo se deja en blanco.
-----
Nombre Pas (cdigo de 2 letras) [UA]: EN
Estado o Provincia Nombre (nombre completo) [Algunos-Estado]: Telengana
Nombre localidad (por ejemplo, de la ciudad) []: Hyderabad
Nombre de la organizacin (por ejemplo, de la compaa) [Internet Widgits Pty Ltd]: Ansol Pvt Ltd
Unidad organizativa Nombre (por ejemplo, la seccin) []: Aplicacin
Nombre comn (por ejemplo, nombre de dominio completo del servidor o su nombre) []: domainname.com
Direccin de correo electrnico []: support@domainname.com

Aqu, generamos certificado autofirmado utilizando -x509 opcin, podemos generar certificados con una
validez de 365 das usando -days 365 y unos archivos temporales .csr se generan utilizando la informacin
anterior.

Para ver los archivos Certificados

Tenga en cuenta que, archivos de RSE estn codificados con formato .PEM (que no es legible por los seres
humanos). Esto es necesario para ver un certificado. En esta seccin, podemos cubrir los comandos OpenSSL
que estn codificados con archivos .PEM.

Visualizacin de RSE Archivos entires

El que a continuacin se puede utilizar para ver el contenido de la .CRT archivos Ex (domain.crt) en el
formato de texto plano.

$ Sudo openssl x509 -text -noout -en domain.crt


Certificado:
Datos:
Version: 3 (0x2)
Nmero de serie: 9717655772991591277 (0x86dc0c706eb0136d)
Algoritmo de Firma: sha256WithRSAEncryption
Emisor: C = IN, ST = Telengana, L = Hyderabad, O = Ansol Pvt Ltd, OU = Aplicacin,
CN=domainname.com/emailAddress=support@domainname.com
Validez
No antes: Jun 13 de 2016 14:23:52 GMT
No Despus: Jun 13 de 2017 14:23:52 GMT
Asunto: C = IN, ST = Telengana, L = Hyderabad, O = Ansol Pvt Ltd, OU = APLICACIN,
CN=domainname.com/emailAddress=support@domainname.com
....
Trabajar con claves privadas

En esta seccin, va a ver cmo utilizar los comandos OpenSSL que son especficos para la creacin y
verificacin de las claves privadas.

Crear una clave privada

A continuacin se muestra el comando para crear una contrasea-protegido y, de 2048 bits cifrado privada
archivo de claves (ex domain.key.) -

$ Openssl genrsa -des3 salida privado domain.key 2048

Introducir una contrasea cuando se le solicite para completar el proceso.

Verificar una clave privada

A continuacin se muestra el comando para comprobar que una clave privada que hemos generado (por
ejemplo: domain.key) es una clave vlida o no:

$ Openssl rsa -in -check domain.key

Si se cifra la clave privada, se le pedir que introduzca la frase de paso. A la entrada con xito, la clave no
cifrado ser la salida en el terminal.

En este artculo, hemos aprendido algunos comandos y el uso de los comandos de OpenSSL que se ocupa de
los certificados SSL donde el OpenSSL tiene un montn de caractersticas. Vamos a aprender ms caractersticas
y el uso en el futuro. Espero que este artculo nos ayudar a entender algunas de las caractersticas bsicas de la
OpenSSL.
Cmo crear un certificado SSL de firma propia con OpenSSL y Apache HTTP Server 2013-07-28

Tutorial paso a paso para generar nuestro propio certificado de seguridad SSL con OpenSSL para cifrar
informacin y su configuracin bajo Apache HTTP Server en Debian Wheezy

En este nanotutorial vamos a conocer el proceso para generar un certificado de seguridad SSL con OpenSSL
as como la configuracin del mismo en Apache HTTP Server.

SSL (Secure Sockets Layer) es un protocolo criptogrfico que permite la comunicacin segura entre un cliente
(usuario con un navegador web) y un servidor.

Certificado SSL

Un certificado SSL es un certificado digital utilizado por el protocolo para el encriptamiento de la


informacin.

Este certificado es proporcionado por un proveedor autorizado (Verisign, Thawte, Comodo, etc) y es
enviado a el cliente por el servidor con quien estamos estableciendo una conexin segura.

Hay muchos servicios que utilizan este protocolo, algunos ejemplos pueden ser: HTTPS, SMTPS, IMAPS,
SSH, POP3S, etc

El certificado que vamos a crear tiene el mismo nivel de encriptamiento que cualquiera de estos proveedores
autorizados puede entregar, simplemente no aparecemos en la lista preestablecida en nuestro navegador, y por
lo tanto desconfia del mismo.
Instalar OpenSSL

Para instalar OpenSSL debes ejecutar el siguiente comando en tu terminal:

sudo apt-get install openssl

Crear una llave privada

La llave privada nos ser til para la generacin del certificado. Una vez creado, nuestro certificado SSL
depender de esta llave para la implementacin del mismo en cualquier servicio que requiera una conexin
segura.

En este ejemplo vamos a crear una llave de 1024 bits.

openssl genrsa -out server.key 1024

Crear un CSR (Certificate Signing Request)


Un CSR es la base para un certificado SSL, en el se definen datos como el dominio, organizacin, ubicacin,
informacin de contacto, entre otros.

Es importante destacar que estos pasos tambien son necesarios cuando vas a adquirir un certificado SSL de un
proveedor autorizado, durante la gestin del mismo, el proveedor va a solicitar este archivo para crear tu
certificado. Por lo tanto, debemos tener mucho cuidado en que la informacin que ingresamos sea correcta.

Si te equivocas no te preocupes, puedes generarlo las veces que quieras.

Para generar el CSR debes ejecutar el siguiente comando, si te fijas uno de los parmetros es la llave privada
que acabamos de crear:

openssl req -new -key server.key -out server.csr

Al ejecutar este comando vendrn una serie de preguntas las cuales voy a explicar a continuacin:

Country Name (2 letter code)

Cdigo de pas en formato ISO de dos letras.

State or Province Name (full name)

Estado o provincia.

Locality Name

Localidad o ciudad.

Organization Name
Nombre de la organizacin.

Organizational Unit Name

Sector de la organizacin.

Common Name

Nombre del dominio FQDN. Muy importante, hay una diferencia entre www.nanotutoriales.com a
nanotutoriales.com sin www. Si registras tu certificado a una de estas opciones, no funcionar para el otro.

Email Address

Direccin de correo de contacto.

Si se fijan he dejado en blanco los campos A challenge password y An optional company name, no los
vamos a necesitar.

Generando el certificado SSL

Para generar el certificado SSL vamos a necesitar tanto la llave privada como el CSR que acabamos de crear.

Para generar el certificado SSL debemos ejecutar el siguiente comando:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

El parmetro days sirve para definir la fecha de expiracin del certificado.

Configurar el certificado SSL en Apache

Si an no has instalado Apache HTTP Server puedes visitar este nanotutorial.

Primero vamos a copiar los archivos a la carpeta /etc/ssl/certs.

sudo cp server.crt /etc/ssl/certs/ssl.crt


sudo cp server.key /etc/ssl/certs/ssl.key

Luego vamos a habilitar el mdulo de SSL en Apache:

sudo a2enmod ssl


Ahora vamos a editar el archivo vhosts con el editor de texto nano. Si an no conoces como trabajar con este
editor, te invito a que visites este nanotutorial.

sudo nano /etc/apache2/sites-available/default-ssl

Borra todo el contenido del archivo, luego copia y pega lo siguiente:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>

ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
SSLEngine on
SSLCertificateKeyFile /etc/ssl/certs/ssl.key
SSLCertificateFile /etc/ssl/certs/ssl.crt
#SSLCACertificateFile /etc/ssl/certs/bundle.crt
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>

No olvides sustituir www.example.com por tu dominio.

Una vez configurado el certificado en el archivo vhost, vamos a habilitarlo con el siguiente comando:

sudo a2ensite default-ssl

Para que la configuracin tenga efecto, vamos a cargarla nuevamente. Para esto utilizaremos el siguiente
comando:

sudo service apache2 reload

Bien, ahora tienen un certificado SSL configurado y funcionando.

Si en el paso anterior hay un error, puede encontrar el porque del error en el archivo
/var/log/apache2/error.log.

Verificamos el certificado SSL desde un navegador

Una vez todo esta configurado, nos resta verificar la url desde nuestro navegador. Para esto vamos a escribir
https:// seguido del dominio que hemos configurado en el certificado.
La primera vez que ingresemos nos va a dar una alerta de que el certificado no es de confianza, esto es por no
encontrar una identificacion de un proveedor autorizado.

Da clic en Entiendo el riesgo y luego en Anadir una excepcion.

En la pantalla anterior da clic en Confirmar excepcion de seguridad y listo, la comunicacion con tu dominio
es segura (siempre y cuando la conexin se mantenga bajo https://), podrs observar el candado en la barra de
navegacin que lo confirma.

Si das clic en el candado podrs encontrar mas informacin acerca de el certificado, como por ejemplo: dnde
aparece toda la informacin que ingresaste en el CSR.

You might also like