jueves, 28 de febrero de 2008

Seguridad en los sitios web con apache y conexiones SSL

Pasos:

1- Instalar el OpenSSL

#apt-get install openssl ssl-cert

2- crear las carpetas /etc/apache2/ssl.crt/ y /etc/apache2/ssl.key/

3- Generar el certificado (autofirmado)

# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl.crt/apache.crt -keyout /etc/apache2/ssl.key/apache.key

4- Establecer los permisos a la llave privada

#chmod -R 600 /etc/apache2/ssl.key/


El soporte SSL se comunica a través del puerto 443 del servidor Web, por lo tanto debemos de editar el fichero /etc/apache2/ports.conf y agregar este puerto.

Listen 443

De ahí debemos activar el soporte SSL ya que este por defecto no aparece activado,
para esto ejecutamos la línea siguiente:

# a2enmod ssl

# apache2ctl -k restart


Ahora lo que nos falta es configurar los sitios o el sitio que queramos que use SSL, por lo tanto debemos de editar los virtual host.
Para que un virtual host utilice SSL debe de tener la siguiente línea:


SSLEngine On
SSLCertificateFile /etc/apache2/ssl.crt/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/apache.key