Apache2: Tips de seguridad

Incluir a nivel configuración servidor estas directivas:
<Directory /> AllowOverride None Options None Order Deny,Allow Deny from all </Directory> <ifmodule mod_usedir.c> UserDir disabled root </IfModule>
Después en los Host virtuales que queramos habilitar en las secciones Directory:
<Directory /var/vhosts/joseblanco.pro/> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Order allow,deny allow from all </Directory>
En la declaración anterior por un lado hemos deshabilitado la navegación por los directorios que cuelgan de /var/vhosts/joseblanco.pro/ mediante la opción -Indexes.
Después hemos permitido ficheros .htaccess mediante AllowOverride All.
Por último hemos abierto lo que habíamos cerrado, de lo contrario los visitantes recibirán un “403 Forbidden Error”.
Es decir, siempre tened un esquema de 1º Prohibir todo, 2º Permitir lo necesario:
<Directory /> Order Deny,Allow Deny from all Options None AllowOverride None </Directory> <Directory /www> Order Allow,Deny Allow from all </Directory>
Seguridad por oscuridad
Otras dos configuraciones de seguridad para Apache2 están actualmente en un fichero security.conf, estos son los dos parámetros y el valor a establecer:
ServerTokens ProductOnly ServerSignature Off
Y como casi siempre tenemos funcionando PHP, conviene verificar que la directiva expose_php está inactiva:
Editar el fichero /etc/php5/apache2/php.ini y cambiar la siguiente directiva:
expose_php = off
Un artículo donde se explica como montar un servidor vps Debian desde cero os podría venir bien.