Securizar Apache HTTPS(SSL)

Os voy a contar como montar un servidor web seguro con Apache2 y las herramientas de OpenSSL.

Para esto queremos que la raiz del sistema con todas las configuraciones del sitio, vaya encriptado.

Creamos los certificados:

  • Generación de llave privada:
openssl genrsa 1024 > web.key
  • Sin contraseña para que arranque automáticamente.
  • Generación de petición del certificado:
openssl req -new -key web.key -out web.csr
  • Generación del certificado con una validez de 10000 días, firmado por nosotros mismos.
openssl req -x509 -days 10000 -key web.key -in web.csr -out web.crt

Instalamos el módulo mod_ssl en nuestro apache (mejor dicho lo habilitamos):

elite:~# cd /etc/apache2/mods-enabled/
elite:/etc/apache2/mods-enabled# ln -s ../mods-available/ssl.conf ssl.conf
elite:/etc/apache2/mods-enabled# ln -s ../mods-available/ssl.load ssl.load
elite:/etc/apache2/mods-enabled# /etc/init.d/apache restart

Para crear un host virtual que tirara de ssl tendriamos que incluir la declaración del puerto, y el Host. Les pongo una declaración mínima:

#NameVirtualHost *:443
<VirtualHost *>
	ServerName www.midominioseguro.com
        DocumentRoot /var/www/midominioseguro/

        SSLEngine On
        SSLCertificateFile /root/web.crt
        SSLCertificateKeyFile /root/web.key
</ VirtualHost>

Activando el modo SSL con la directiva SSLEngine, y pasándole la clave pública (ó dertificado) web.crt, y la privada web.key.

De esta forma podrán acceder desde cualquier cliente a la web: https://www.midominioseguro.com. Por supuesto, su servidor DNS tiene que tener configurado ese nombre.

One thought on “Securizar Apache HTTPS(SSL)

  1. Ánimo con el blog!!!
    Artí­culos interesantes y resumidos, val al grano, justo lo que se necesita hoy en dí­a que estamos inundados de información.

Leave a Reply

Your email address will not be published. Required fields are marked *