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.
Á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.