7
Servidor Apache en Ubuntu Server 11. Realizar los cambios necesarios en el fichero de configuración de apache, para que nuestro servidor acepte conexiones seguras ssl a través del puerto 443. Generar los certificados que sean necesarios y mostrar que funciona. Un certificado SSL (Secure Socket Layer) es un protocolo criptográfico de seguridad, que busca, mediante la codificación de la información del sitio, crear una conexión más segura. Esto se cumple mediante la utilización de una clave de seguridad de 2048 bits que es conocida solo por el usuario y el servidor al que se está conectado. Para utilizarlo es necesario que la web tenga instalado un sistema de certificados SSL y que el navegador utilizado por los usuarios cuente con soporte para SSL (hoy en día todos los navegadores cuentan con soporte a ésta tecnología). Su principio consiste en el establecimiento de un canal de comunicación seguro (cifrado) entre dos equipos (el cliente y el servidor) después de una fase de autenticación. Estos equipos pueden estar conectados a través de Internet o en una red local. A continuación detallaremos los pasos para que nuestro servidor acepte conexiones SSL a través del puerto 443. 1. Activar el módulo SSL El soporte SSL viene instalado por defecto en Ubuntu. Simplemente necesitamos habilitarlo para poder usar el SSL en nuestro servidor. Reiniciamos el servidor Apache. 53

Certificado SSL Ubuntu

Embed Size (px)

DESCRIPTION

SSL Ubuntu Server

Citation preview

Page 1: Certificado SSL Ubuntu

Servidor Apache en Ubuntu Server

11. Realizar los cambios necesarios en el fichero de configuración de apache, para que nuestro servidor acepte conexiones seguras ssl a través del puerto 443. Generar los certificados que sean necesarios y mostrar que funciona. Un certificado SSL (Secure Socket Layer) es un protocolo criptográfico de seguridad, que busca, mediante la codificación de la información del sitio, crear una conexión más segura. Esto se cumple mediante la utilización de una clave de seguridad de 2048 bits que es conocida solo por el usuario y el servidor al que se está conectado. Para utilizarlo es necesario que la web tenga instalado un sistema de certificados SSL y que el navegador utilizado por los usuarios cuente con soporte para SSL (hoy en día todos los navegadores cuentan con soporte a ésta tecnología). Su principio consiste en el establecimiento de un canal de comunicación seguro (cifrado) entre dos equipos (el cliente y el servidor) después de una fase de autenticación. Estos equipos pueden estar conectados a través de Internet o en una red local. A continuación detallaremos los pasos para que nuestro servidor acepte conexiones SSL a través del puerto 443.

1. Activar el módulo SSL El soporte SSL viene instalado por defecto en Ubuntu. Simplemente necesitamos habilitarlo para poder usar el SSL en nuestro servidor.

Reiniciamos el servidor Apache.

53

Page 2: Certificado SSL Ubuntu

Servidor Apache en Ubuntu Server

2. Crear un Certificado SSL Autofirmado Creamos una carpeta dentro de la ruta de configuración de apache /etc/apache2, donde guardaremos la clave privada y el certificado.

Para crear el certificado autofirmado usaremos el comando openssl, que por defecto viene instalado en Ubuntu.

En un solo paso crearemos la clave privada y el certificado en la carpeta que hemos creado anteriormente. sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Hemos creado el certificado (apache.crt) y la clave (apache.key).

Cuando solicitamos un nuevo certificado, se puede especificar el tiempo de validez del certificado hasta que expire (en nuestro ejemplo son 365 días), e incluyendo si queremos encriptarlo en 2048 bits, aunque esta parte deberíamos dejarla tal como está ya que es lo que se utiliza hoy en día.

54

Page 3: Certificado SSL Ubuntu

Servidor Apache en Ubuntu Server

Descripción de los atributos del comando openssl:

Atributo Descripción

req

Esto especifica un subcomando para la solicitud de certificate signing request X.509(CSR). X.509 es un estándar de infraestructura de clave pública que SSL se añade por su clave y certificado administrado. Dado que estamos queriendo crear un nuevo certificado X.509

X509 Esta opción especifica que queremos hacer un archivo de certificado auto firmado en lugar de generar una solicitud de certificado.

nodes

Esta opción le dice a OpenSSL que no queremos asegurar nuestro archivo de clave con una contraseña. Tener un archivo con clave protegida por contraseña haría que Apache se inicie automáticamente, ya que habría que introducir la contraseña cada vez que se reinicia el servicio.

days Con un valor de 365, se especifica que el certificado que estamos creando será válida por un año.

newkey

Con el valor rsa:2048 se 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 antelación. El rsa:2048 le dice a OpenSSL que genere una clave RSA que es de 2048 bits de longitud.

keyout Indicamos la ruta y el nombre del archivo de salida que contendrá la clave privada creada.

out Indicamos la ruta y el nombre del archivo de salida que contendrá el certificado que estamos generando.

55

Page 4: Certificado SSL Ubuntu

Servidor Apache en Ubuntu Server

3. Configurar Apache para usar SSL Ahora que ya tenemos nuestro certificado y la clave disponibles, modificaremos el archivo default-ssl.conf que contiene la configuración SSL de forma predeterminada.

En SSLCertificateFile y SSLCertificateKeyFile indicamos la ruta de la clave privada y del certificado.

4. Activar el Virtual Host SSL

Una vez configurado el Virtual Host, tenemos que habilitarlo.

Recargamos el servidor Apache.

56

Page 5: Certificado SSL Ubuntu

Servidor Apache en Ubuntu Server

5. Comprobar la configuración en un equipo cliente Para comprobar esta configuración, accedemos al navegador web de un equipo cliente y escribimos el protocolo https más el nombre de dominio o la ip del servidor. Recibiremos 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 certificación de confianza.

57

Page 6: Certificado SSL Ubuntu

Servidor Apache en Ubuntu Server

58

Page 7: Certificado SSL Ubuntu

Servidor Apache en Ubuntu Server

59