Configuración de un certificado SSL en la Release2
Introducción
El protocolo SSL (Secure Socket Layer) está destinado a encriptar de manera segura los datos intercambiados entre dos máquinas. En su servidor dedicado, puede ser útil utilizar SSL con el fin de protener datos sensibles.
Encontrará más información sobre el funcionamiento de SSL en
esta página.
Procedimiento
| Atención : Este procedimiento está basado en la Release 2 de OVH. |
Esta guía le ayudará a crear su propio certificado SSL con sus datos de manera gratuita y posteriormente instalar este nuevo certificado en los servicios que desee de su servidor.
Igualmente si ha comprado un certificado de pago y dispone de una pareja de 2 ficheros (KEY y CRT) válida, podrá utilizar esta guía para instalar los dos ficheros de su certificado en los servicios deseados.
Lista de los ficheros de certificados en su servidor
Por defecto existen una serie de certificados SSL en su servidor que aseguran la comunicación mediante una conexión segura en diferentes servicios.
Así, utilizando estos certificados, tenemos HTTPS, SFTP, SSMTP, etc...
Algunos de los certificados que vienen instalados por defecto de estos servicios, son simples certificados de prueba y muchos de ellos son incorrectos, están incompletos o caducados.
Por defecto los ficheros en su máquina son los siguientes :
Certificado de Apache HTTPS :
- /etc/httpd/ssl.crt/server.crt
- /etc/httpd/ssl.key/server.key
Certificado para correo SSMTP :
- /var/qmail/control/servercert.pem
Certificados para SMYSQL
- /usr/share/mysql/mysql-test/client-cert.pem
- /usr/share/mysql/mysql-test/client-key.pem
- /usr/share/mysql/mysql-test/server-cert.pem
- /usr/share/mysql/mysql-test/server-key.pem
Certificado para Webmin :
| NOTA : La lista de los servicios y la localización de los archivos está basada en la distribución Release 2 de OVH. Si dispone de una distribución distinta los servicios y la localización pueden variar |
Generación de un certificado autofirmado
La generación de un certificado autofirmado, es una tarea sencilla que puede realizarse en 4 sencillos pasos.
Paso 1. Clave del servidor
Nos conectamos en SSH como root y creamos un directorio para crear el certificado.
# mkdir certificado
# cd certificado
certificado #
A continuación ejecutamos una orden para crear una clave para el servidor
certificado # openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
............++++++
....................................................................................++++++
e is 65537 (0x10001)
Este comando creará el fichero
server.key
Paso 2. Creación del certificado
A continuación creamos el certificado con los datos de nuestra empresa y nuestra página web.
Los datos presentados a continuación son un mero ejemplo :
certificado # openssl req -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:Madrid
Locality Name (eg, city) [ ]:Madrid
Organization Name (eg, company) [Internet Widgits Pty Ltd]:OVH HISPANO
Organizational Unit Name (eg, section) [ ]:Soporte
Common Name (eg, YOUR name) [ ]:www.ovh.es
Email Address [ ]:soporte@ovh.es
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password [ ]:
An optional company name [ ]:OVH
Este comando creará el fichero
server.csr
| Nota : Si quiere crear un certificado para todos los dominios del servidor, puede rellenar el Common Name con un asterisco (*) en lugar de un sitio web concrecto (www.ovh.es). |
Paso 3. Firma del certificado
Para firmar un certificado necesitamos tener un número de serie con los certificados que vamos firmando. Si es nuestro primer certificado, el número de serie debería ser 1, aunque no es obligatorio.
Elegimos un número al azar y completamos la línea :
certificado # openssl x509 -req -days 365 -set_serial [número_de_serie] -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=ES/ST=Madrid/L=Madrid/O=OVH HISPANO/OU=Soporte/CN=www.ovh.es/emailAddress=soporte@ovh.es
Getting Private key
Paso 4. Finalización
Combinamos el certificado y la clave en un solo archivo .pem
certificado # cat server.key server.crt > server.pem
Al final cada certificado (en nuestro caso con el nombre
server) debe tener cuatro ficheros creados :
server.crt server.csr server.key server.pem
Si queréis ver los detalles de vuestro certificado podéis ejecutar esta orden:
certificado # openssl x509 -in server.pem -noout -text
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 1 (0x1)
Signature Algorithm: sha1WithRSAEncryption
[...]
Utilización de un certificado externo
Si ha comprado o bien tiene ya un certificado que desee utilizar, sólo debe copiar los ficheros en una carpeta.
Nos conectamos en SSH como root y creamos un directorio para crear el certificado.
# mkdir certificado
# cd certificado
certificado #
A continuación copiamos los ficheros del certificado en la carpeta :
certificado # scp servidor_origen/server.key server.key
certificado # scp servidor_origen/server.crt server.crt
Finalmente combinamos el certificado y la clave en un solo archivo .pem
certificado # cat server.key server.crt > server.pem
Al final, el certificado (en nuestro caso con el nombre
server) debe tener tres ficheros :
server.crt server.key server.pem
Si queréis ver los detalles de vuestro certificado podéis ejecutar esta orden:
certificado # openssl x509 -in server.pem -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1051699855 (0x3eafaa8f)
Signature Algorithm: sha1WithRSAEncryption
[...]
Copia de los archivos en cada directorio según el servicio
A continuación vamos a copiar el certiciado
server que hemos creado para el servicio elegido.
En cada caso, posteriormente a la copia, debemos reiniciar los servicios para que los cambios surtan efecto.
| Nota : Es conveniente que creéis diferentes certificados con un Common Name (CN) diferente para cada servicio. Seguid las instrucciones del mismo modo cambiando el nombre server por el nombre que decidáis en cada comando. |
Certificado de Apache HTTPS
Ejecutamos los comandos :
certificado # mv /etc/httpd/ssl.crt/server.crt /etc/httpd/ssl.crt/server.crt.orig
certificado # cp server.crt /etc/httpd/ssl.crt/server.crt
certificado # mv /etc/httpd/ssl.key/server.key /etc/httpd/ssl.key/server.key.orig
certificado # cp server.key /etc/httpd/ssl.key/server.key
Certificado para correo SSMTP
Ejecutamos el comando :
certificado # mv /var/qmail/control/servercert.pem /var/qmail/control/servercert.pem.orig
certificado # cp server.pem /var/qmail/control/servercert.pem
Otros certificados
Los certificados para Webmin y SMYSQL llevan su propia CA (Autoridad de certificado) para firmarlas y no es necesario actualizarlas.
Si necesita actualizar los certificados de estos servicios deberá firmar el certificado con las claves de CA siguientes :
CA para Webmin :
CA para MySQL :
- /usr/share/mysql/mysql-test/cacert.pem
Más información
:
ServidorSSL :: Configuración de un certificado SSL en la Release1
:
PleskCertificadosSSL :: Configuración de un certificado SSL en Plesk
:
SslRelease2 :: Configuración de un certificado SSL de OVH en la Release2
:
SslPlesk :: Configuración de un certificado SSL de OVH en Plesk