You are on page 1of 8

6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

Crear Certi cado SSL En Apache Para Ubuntu

Tiempo estimado de lectura 7 minutos

Como Crear Un Certi cado SSL En Apache Para Ubuntu 14.04

Secure Sockets Layer SSL, es un protocolo de seguridad creado con la finalidad de colocar el trfico normal en un
trafico seguro, esto, mediante la proteccin de un fuerte encriptacin.

Este protocolo le permite que el trfico se enve de


forma segura entre las partes remotas sin la
posibilidad de que el trfico sea interceptado y ledo
por alguien en el medio. Tambin juega un papel
decisivo en la validacin de la identidad de los
dominios y servidores a travs de Internet mediante la creacin de un servidor como de confianza y genuina por una
autoridad certificadora.

En esta gua, vamos a mostrar cmo crear un certificado SSL autofirmado para Apache en un servidor de Ubuntu
14.04, lo que le permitir encriptar el trfico a su servidor. Si bien esto no proporciona el beneficio de la validacin de
terceros de la identidad de su servidor, que cumple los requisitos de aquellos que desean simplemente para transferir
informacin de forma segura.


Requisitos Previos

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 1/8
6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

Estaremos operando como un usuario no root con privilegios sudo en esta gua. Tambin vas a necesitar tener instalado
Apache. Si no tienes esto en funcionamiento, se puede arreglar rpidamente escribiendo:

sudo apt-get update


sudo apt-get install apache2

Paso Uno Activar El Mdulo SSL


El soporte SSL en realidad viene como paquete estndar del Apache en Ubuntu 14.04. Simplemente necesitamos
habilitarlo para poder usar el SSL en nuestro servidor. Habilita el mdulo escribiendo en la consola:

sudo a2enmod ssl

Despus de habilitar el SSL, tendr que reiniciar el servidor web para que el cambio sea reconocido:

sudo service apache2 restart

Con esto, nuestro servidor web es ahora capaz de manejar SSL si lo configuramos correctamente para hacerlo.

Paso Dos Crear Un Certi cado SSL Auto rmado


Vamos a empezar por la creacin de un subdirectorio dentro de las carpetas de configuracin de Apache para colocar los
archivos de certificado que vamos a estar creando:

sudo mkdir /etc/apache2/ssl

Ahora que tenemos un lugar para colocar la llave y el certificado, podemos crear los dos en un solo paso escribiendo lo
siguiente en la consola:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out
/etc/apache2/ssl/apache.crt

Los detalles de la configuracin son los siguientes:

openssl : Se trata de la herramienta de


lnea de comandos bsica proporcionada
por OpenSSL para crear y administrar
certificados, llaves, solicitudes de firma , etc
req : Esto especifica un sub comando para
la solicitud de certificate signing
request X.509 (CSR ). X.509 es un estndar
de infraestructura de clave pblica que SSL
se aade por su clave y certificado
administrado. Dado que estamos queriendo crear un nuevo certificado X.509.
x509: Esta opcin especifica que queremos hacer un archivo de certificado auto firmado en lugar de generar una
solicitud de certificado.
nodes: Esta opcin le dice a OpenSSL que no queremos asegurar nuestro archivo de clave con una contrasea.
Tener un archivo con clave protegida por contrasea hara que Apache se inicie automticamente, ya que habra
que introducir la contrasea cada vez que se reinicia el servicio.

days 365: Esto especifica que el certificado que estamos creando ser vlida por un ao.
newkey rsa:2048: Esta opcin crear la solicitud de certificado y una clave privada nueva, al mismo tiempo. Esto es
necesario ya que nosotros no creamos una clave privada con antelacin. El rsa: 2048 le dice a OpenSSL que

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 2/8
6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

genere una clave RSA que es de 2048 bits de longitud.


keyout: los nombres de este parmetro, es del archivo de salida para el archivo de clave privada que se est
creando.
out: Esta opcin da nombre al archivo de salida para el certificado que estamos generando.

Cuando se pulse Enter, se le pedir una serie de preguntas.

El punto ms importante que se solicita es la lnea que dice Nombre comn (por ejemplo, el FQDN del servidor su
nombre). Debe introducir el nombre de dominio que desea asociar con el certificado, o la direccin IP pblica del servidor,
si no cuenta con un nombre de dominio.

Lo anterior se veria algo como lo siguiente:

Country Name (2 letter code) [AU]:US


State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Your Company
Organizational Unit Name (eg, section) []:Department of Kittens
Common Name (e.g. server FQDN or YOUR name) []:your_domain.com
Email Address []:your_email@domain.com

Tercer Paso Con gurar Apache Para Usar SSL


Ahora que ya tenemos nuestro certificado y la clave disponibles, podemos configurar Apache para que pueda utilizar estos
archivos en un archivo de host virtual. Usted puede aprender ms acerca de cmo configurar hosts virtuales Apache aqu.

En lugar de basar nuestro archivo de configuracin en el archivo 000-default.conf en el subdirectorio de las pginas web
disponibles, vamos a basar esta configuracin en el archivo default-ssl.conf que contiene un poco de la configuracin
SSL de forma predeterminada.

Abra el archivo con privilegios de root:

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

Con los comentarios eliminados, el archivo se veria algo como esto:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>

Esto puede parecer un poco complicado, pero por suerte, no es necesario que te preocupes por la mayora de las
opciones aqu.
Inicio Servicios Chat Suscrbete por email Contacto

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 3/8
6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

Queremos dar la configuracin bsica para un host virtual (ServerAdmin, ServerName, ServerAlias, DocumentRoot, etc),
as como cambiar la ubicacin donde Apache buscara el certificado SSL y la llave.

Al final, se ver algo como esto. Las entradas en rojo son las modificaciones que se hicieron en el archivo original:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin admin@example.com
ServerName your_domain.com
ServerAlias www.your_domain.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>

Guarde y salga del archivo cuando haya terminado.

Paso Cuatro Active El Host Virtual SSL


Ahora que ya hemos configurado nuestro host virtual, debemos de habilitar el SSL. Podemos hacer esto escribiendo lo
siguiente en la consola:

sudo a2ensite default-ssl.conf

Entonces, necesitamos reiniciar Apache nuevamente para cargar el nuevo archivo del host virtual:

sudo service apache2 restart

Esto debera permitir que su nuevo host virtual, servir de contenido cifrado utilizando el certificado SSL que ha creado.

Quinto paso Comprobacin De La Con guracin


Ahora que ha preparado todo, usted puede probar la configuracin visitando el nombre de dominio de su servidor o la
direccin IP pblica despus de especificar el protocolo https://, as:

https://nombre_dominio__ip_servidor

Usted recibir un aviso de que el navegador no puede verificar la identidad de su servidor, ya que no ha sido firmado por
una de las autoridades de certificacin de confianza.

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 4/8
6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

Esto se esperaba, ya que tenemos auto firmado nuestro certificado. Mientras que nuestro certificado no sea valido para
nuestros usuarios, ya que no ha tenido ninguna interaccin con una autoridad de certificacin de confianza, todava ser
capaz de cifrar la comunicacin.

Dado que se espera, usted puede golpear el botn o lo que sea semejante opcin que tienes en tu navegador Proceed
anyway.

Una vez que sigamos a nuestro sitio web, podemos ver el contenido que deseemos mostrar, pero este estara cifrado
Puede comprobarlo haciendo clic en el icono del candado en la barra de men:

Se puede ver en la seccin verde central que la conexin est cifrada.

Conclusin
Usted debe tener ahora el SSL habilitado en su sitio web. Esto ayudar a proteger la comunicacin entre visitantes y su
sitio, pero va a advertir a cada usuario que el navegador no puede verificar la validez del certificado.

Si est pensando en lanzar un sitio pblico y seguro para el usuario, tendr la necesidad de un SSL, ser mejor comprar
un certificado SSL respaldado para que se muestre como un sitio bastante seguro.

About Latest Posts

HDCO

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 5/8
6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

Comparte esto:


13
Ms

apache consejo linux seguridad

Post Relacionados

Grave Vulnerabilidad De Flash Permite El Seguridad en sus Contraseas Mejoras SSL para cPanel y WHM
Control Total De Las Computadoras Tiempo estimado de lectura 7 minutosTiempo Tiempo estimado de lectura 7 minutosTiempo
Tiempo estimado de lectura 7 minutosTiempo estimado de lectura 6 minutos ltimos estimado de lectura 3 minutos El Internet est
estimado de lectura 2 minutos La compaa Consejos para la lleno
Adobe ha

Este post tiene 11 comentarios

Alejandro

8 noviembre, 2016 at 8:39 am

Hola en Caso de tener un ssl comprado en godaddy como seria para ponerlos gracias

reply to comment

Marcelo Peailillo

23 septiembre, 2015 at 11:07 pm

Muchas Gracias, buensimo!!!

reply to comment

oswaldo laguado

17 abril, 2015 at 2:30 pm

Muchas gracias por la excelente informacin, muy bien explicado y bastante funcional.

reply to comment

Eder Fontalvo Melendez

3 abril, 2015 at 7:28 am

Muy buen Blog, 100% funcional. Muchas gracias por el tuturial

reply to comment

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 6/8
6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

Angy

31 marzo, 2015 at 9:07 pm

Muchisimas gracias por tu aporte!!!! tenia varios dias intentando y con tu tutorial lo logre!!!!

reply to comment

Oscar

5 febrero, 2015 at 11:10 am

EXCELENTE BLOG PARA CREAR EL CERTIFICADO SSL EN APACHE PARA UBUNTU..


En lo personal lo utilice para mi localhost y funcional de maravilla ahora puedo ingresar con el https://localhost
que era lo que deseaba. +1000 puntos y 1000000 de gracias. OJO FUNCIONA AL 100 ESTE TUTORIAL
SIEMPRE Y CUANDO NO OLVIDEN TENER PREVIAMENTE INSTALADO AL 100% EL LAMP

reply to comment

Noctis-Anto

15 enero, 2015 at 3:47 pm

Muchsimas gracias por este tutorial tan bien explicado. Con esto de las nuevas versiones no s por qu
siguiendo otros pasos fallaba. Muy bueno.

reply to comment

7 diciembre, 2014 at 2:54 pm

disculpa, soy iniciante en esto y al final me causa un problema pues no se como guardar los camios en la
termianl antes de pasar al siguiente paso podrian ayudarme?!

reply to comment

Julian Gonzales

9 diciembre, 2014 at 9:45 am

Solo sigue los pasos al pie de la letra y podrs generar el certificado.

reply to comment

Pancho

31 octubre, 2014 at 10:19 am

Muy buen tutorial, directo al grano y a lo que necesitamos para llevarlo a cabo.

reply to comment


Olimiesma

13 junio, 2014 at 5:44 am

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 7/8
6/11/2017 Crear Certificado SSL En Apache Para Ubuntu | Blog HostDime

Muy agradecido, de todos los tutoriales que he podido leer, este es el que me ha solucionado el problema de
configuracin SSL de mi Apache en Xubuntu 14.04.

Gracias

reply to comment

Deja un comentario
Introduce aqu tu comentario...

Autenti cate En Dos Pasos Con Authy 10 Buenas Prcticas Para Mejorar Su Codigo CSS

Entradas recientes search Suscrbete al blog por correo electrnico

Los memes son legales o ilegales?, tienen Introduce tu correo electrnico para
copyright o no? Deberan ser proscritos? Sitios de inters suscribirte a este blog y recibir
notificaciones de nuevas entradas.
Los memes existen antes de internet? Desde Blog Hostdime Argentina
cuando se hicieron populares? Donde se Servidores dedicados Colombia nete a otros 16 suscriptores
originaron? Vps Per
Direccin de email

HostDime contar con data center en Bogot

para el 2019 Suscribir

El Hackeo tomando partido en las altas esferas

del poder mundial.

Hackers, la criptonita de la seguridad virtual.

Sociales

HostDime Blog en espaol 2016

http://blog.hostdime.com.co/como-crear-un-certificado-ssl-en-apache-para-ubuntu-14-04/ 8/8

You might also like