Usuario:ManuelRomero/modulo APACHE/SSL

De WikiEducator
Saltar a: navegación, buscar



Pasos a seguir de forma sencilla

  1. primero habilitamos el modulo correspondiente
a2enmod ssl
  1. Nos aseguramos que tenemos instalado el paquete que nos permite crear certificados y claves publicas y privadas
sudo apt-get install openssl
  1. A continuación habilitamos un sitio virtual que escuche por el puerto 443 que es el puerto https
sudo a2ensite default-ssl
  1. Y ya podemos comprobar que nuestro sitio seguro funciona
https://localhost
  • Podemos entrar y reubicar las páginas del sitio seguro a otro directorio

Que es SSL

  • Es un protocolo de conexión segura
  • Este protocolo cifra la información que se transmite entre el servidor y el cliente
  • En este caso el servidor escucha por un puerto diferente que el estándar de http que es el 443
  • El protocolo de alto nivel es https

Generar certificados autofirmados

  • Para ello debemos usar los comandos del paquete openssl
Primero creamos la clave privada
  • La clave privada va a residir en el servidor, mientras que la clave pública residirá en cada conexión que devuelve al servidor datos cifrados
openssl genrsa -out hostname.key 1024
  1. genera una clave almacenada en un fichero llamado hostname.key usando 1024 bytes para generar la clave
generar la solicitud de firma del certificado
  • El archivo generado se puede enviar a una compañía de certificación CA para que lo firme
  • Si la clave esta certificada por una compañía que pertenece a una lista de sitios de certificación reconocidos, el navegador acepta el fichero automáticamente
  • Si no nos preguntará avisándonos de que no es de conficanza
  • El certificado también lo podemos autofirmar nosotros mismo en cuyo caso siempre ocurrirá que nos será de confianza para otros
openssl req -new -key hostname.key -out hostname.csr
  • En este caso generamos un certificado usando la clave privada previamente establecida
  • El certificado reside en el fichero llamado hostname.csr
Firmar la clave
openssl rsa -in hostname.key -out server.key
openssl x509 -req -days 365 -in hostname.csr -signkey server.key -out server.crt
  • Ahora copiamos estos fichero a un lugar referenciados, por ejemplo
 cp s* /var/www/conf
  • Añadimos las directivas en el fichero de configuración, por ejemplo
SSLCertificateFile "/var/www/conf/server.crt"
SSLCertificateKeyFile "/var/www/conf/server.key"
  • Ahora lo podemos probar