Buscar


imprimir pdf Español

Configurar un certificado SSL en un servidor Debian


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 proteger datos sensibles.

Encontrará más información sobre el funcionamiento de SSL en esta página.

Procedimiento


Antes de poder activar/generar un certificado SSL, hace falta verificar que la opción está bien activada en su máquina. En la Release, Apache ha sido compilado por defecto con SSL; basta con indicarle dónde debe adquirir el certificado al iniciarse.

Esta guía le ayudará a configurar el SSL con la distribución Debian.

Preparativos y pasos previos

Requisitos


  • Un nombre de dominio
  • Un certificado SSL para este nombre de dominio o uno de los subdominios
  • Suponemos que la clave privada, la cadena de certificación y el certificado han sido colocados en el directorio /root/ de su servidor dedicado.

  • Un servidor dedicado con la distribución Debian
  • Acceso al servidor a través de SSH (mediante root) : SshSobreServidorDedicado


Añadir IP Fail-over


Cada certificado está unido a una única IP. Para no utilizar la IP principal, en este ejemplo añadimos una IP Fail-over y la configuramos como Alias.

Para ello siga las guías : IpFailover y NuevoAliasIp


Instalar los paquetes


Actualice las fuentes y a continuación instale apache2 y openssl :


debian:~# apt-get update

debian:~# apt-get install apache2 openssl



Configuración de Apache


Edite el fichero /etc/apache2/ports.conf con ayuda del comando nano y añada la línea Listen 443 a continuación de Listen 80 :

Acerca del editor nano : CTRL+O => para guardar - CTRL+X => para salir



ns3773:~# cat /etc/apache2/ports.conf
Listen 80
Listen 443


Cree ahora los enlaces simbólicos siguientes para cargar el módulo SSL en Apache 2 :


debian:~# ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load

debian:~# ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf



Puesta en marcha del certificado SSL


Descarque los ficheros del certificado disponibles en su proveedor :
  • private.key
  • certificate-chain.crt
  • certificate.crt

Suponemos que la clave privada, la cadena de certificación y el certificado han sido colocados en el directorio /root/ de su servidor dedicado.


debian:~# mkdir /etc/apache2/ssl.crt/
debian:~# cd /etc/apache2/ssl.crt/
debian:~# cp /root/private.key ./
debian:~# cp /root/certificate-chain.crt ./
debian:~# cp /root/certificate.crt ./
debian:~# chmod 400 private.key
debian:/etc/apache2/ssl.crt# ll
total 24
drwxr-xr-x 2 root root 4096 2007-11-02 18:00 .
drwxr-xr-x 8 root root 4096 2007-11-02 18:02 ..
-rw-r--r-- 1 root root 5637 2007-11-02 18:00 certificate-chain.crt
-rw-r--r-- 1 root root 1982 2007-11-02 18:00 certificate.crt
-r-------- 1 root root 1743 2007-11-02 18:00 private.key



Para que Apache no solicite la passphrase de la clave privada cada vez que se inicie, es recomendable desencriptar la clave previamente:

# openssl rsa -in private.key > private-deprotect.key


Si desea hacerlo, reemplace private.key por private-deprotect.key a lo largo de la guía.

Puesta en marcha del Virtual host


Con ayuda de un editor de texto como pico, edite el fichero /etc/apache2/mods-enabled/ssl.conf

Añada las líneas siguiente antes del identificador </IfModule> :

NameVirtualHost 87.xx.xxx.xx:443

<VirtualHost 87.xx.xxx.xx:443>
ServerAdmin postmaster@mi_dominio.com
DocumentRoot /home/mi_login/www
Servername www.mi_dominio.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl.crt/private.key
SSLCACertificateFile /etc/apache2/ssl.crt/certificate-chain.crt
ScriptAlias /cgi-bin/ /home/mondomai/cgi-bin/
</VirtualHost>


El login de su espacio en este caso es mi_login y el espacio web está en /home/mi_login/www. Esto puede cambiar en función de su configuración.


Finalización


Reinicie Apache para leer la nueva configuración:

debian:~# /etc/init.d/apache2 restart
debian::/etc/apache2/ssl.crt# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)... waiting Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog)



Si no ha desencriptado la clave privada, indique su contraseña passphrase solicitada - es aquella que ha indicado durante la creación de la llave privada private.key) :



Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server www.mi_dominio.com:443 (RSA)
Enter pass phrase:

OK: Pass Phrase Dialog successful.
.



En caso de error, revise el fichero de LOG /var/log/apache2/error.log


Verifique que Apache funciona bien en el puerto 443 :


debian:~# netstat -tanpu | grep ":443"

tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 11015/apache2





Haga la prueba en https://www.mi_dominio.com/




Volver a las guías sobre SSL en OVH : GuiaSSL

Más información


: RecupSSL :: Gestión del certificado SSL de OVH

: ServidorSSL :: Certificados SSL en un servidor dedicado Release 1
: ServidorCertificados :: Certificados SSL en un servidor dedicado Release 2
: PleskCertificadosSSL :: Certificados SSL en un servidor dedicado Plesk