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.