sábado, 13 de diciembre de 2014

Asegurar un Servidor Apache


1. Activar los módulos 'ssl' y 'rewrite' de apache2 

Activamos los módulos ssl:
sudo a2enmod ssl

Activamos el módulo 'rewrite':
sudo a2enmod rewrite

Nos dirá que tenemos que ejecutar 'sudo service apache2 restart' para que estas  activaciones tengan efecto pero lo haremos al final de todos los comandos para no hacerlo varias veces.

2. Esconder la versión del servidor








sudo nano /etc/apache2/apache2.conf

Para ocultar la versión del servidor hemos de incluir al final del archivo de configuración global de Apache2 (/etc/apache2/apache2.conf) las siguientes dos lineas:

ServerSignature Off
ServerTokens Prod

3. Deshabilitar la visibilidad del contenido de los directorios del servidor


Hay que incluir en el mismo archivo de configuración del punto anterior, al final, el siguiente texto:
<Directory /var/www/html>
     Options -Indexes
</Directory>

4. Forzar https

sudo nano /etc/apache2/sites-available/000-default.conf

Para redirigir todas las llamadas http (puerto 80) al puerto seguro 443 (https) deberemos incluir en archivo del virtual host por defecto del puerto 80 (/etc/apache2/sites-available/000-default.conf) las siguiente lineas justo después de <VirtualHost domain.com:80>

RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [NC,R,L]


Nota imporanta: después de cada punto o al final de realizarlos todos se ha de reiniciar el servidor apache tecleando en el prompt: 

sudo service apache2 restart