Los certificados SSl son un área muy importante dentro de nuestro servidor web muchas veces podemos nosotros mismos generar los certificados y auto firmarlos pero aparecerá un mensaje de advertencia a los usuarios ya que nosotros no somos una CA (Autoridad Certificadora) reconocida es por esto que se deben comprar un certificado digital firmado por una CA.
Contents
Preparar el sistema
Para realizar cualquier petición o generar certificados se nesesita openssl, para instalarlo
apt-get install openssl
Configurar apache con https
Hacer que el módulo ssl esté activo :
a2enmod ssl
Verificar que apache esté configurado para escuchar en el puerto 443, archivo /etc/apache2/ports.conf
<IfModule mod_ssl.c>
Listen 443
</IfModule>Finalmente, para cada dominio virtual, asumiendo que el certificado está en /etc/apache2/apache.pem asegurar que en cada dominio virtual se encuentran las líneas:
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pemEl certificado antes mencionado, atuofirmado con una vigencia de un año se puede generar con:
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
Generar un certificado auto firmado
Para generar un certificado primero se debe tener una Autoridad Certificadora para esto el paquete openssl ofrece el soporte; se ubica en la carpeta en la que se desea tener toda la información, en este caso /tmp/ y se prosigue a crearla colocando todos los datos solicitados.
orion:~$ cd /tmp/ orion:/tmp$ /usr/lib/ssl/misc/CA.sh -newca
Al tener nuestra Autoridad ya creada proseguimos a generar una petición de certificado el cual se realiza con:
orion:/tmp$ /usr/lib/ssl/misc/CA.sh -newreq
esto generará dos archivos uno es la llave privada (newkey.pem) y el otro la solicitud del certificado (newreq.pem). la llave privada tiene como encabezado dentro del archivo BEGIN RSA PRIVATE KEY y la solicitud del certificado BEGIN CERTIFICATE REQUEST
Al tener la llave privada y la solicitud firmamos la solicitud y generamos el certificado:
orion:/tmp$ /usr/lib/ssl/misc/CA.sh -sign
y generará un archivo el cual es newcert.pem con el certificado firmado por la Autoridad certificadora.
Comprar un certificado
Se puede comprar certificados por las autoridades certificadoras reconocidas para ello se debe tener una llave privada y la solicitud de certificado esto permitirá realizar la compra satisfactoriamente, para generarlos se realiza lo siguiente:
orion:$ openssl genrsa -des3 2048 >rsa.key orion:$ openssl req -new -key rsa.key > req.csr
tendremos en este caso rsa.key la llave privado y req.csr la solicitud del certificado, luego seguimos los pasos para comprar el certificado vía internet donde solicitarán la solicitud CSR la cual fue generada con anterioridad y luego tenemos nuestro certificado firmado por una CA reconocida.
Nota: Existen certificados wildcard los cuales permiten firmar todos los subdominios de un lugar son un poco mas costosos y se generan como *.domain.net o *.slec.net
Certificado autofirmado para apache2
mkdir /etc/apache2/ssl; /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Se configura apache2 para escuchar en el puerto 443 y se le indica que el certificado se encuentra en /etc/apache2/ssl/apache.pem
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCACertificatePath /etc/apache2/sslEn las líneas del dominio virtual.
Anualmente puede cambiarse para evitar los mensajes en los navegadores de un certificado expirado.
Lugares para comprar Certificados
Referencias
CategoriaDebian CategoriaProgramas CategoriaAyudas CategoriaSsl

