----------------
APACHE Hardening
----------------
En "httpd.conf" :
1) Para reducir la información que muestra el Banner:
1.1) ServerTokens min
Para Servidores en Producción lo mejor es:
1.2) ServerTokens Prod
2) UserDir disabled <- Para que no averiguen usuarios
www.server.com/~usuario
3) ServerSignature Off (o EMail) <-- Para que no aparezca la firma del Servidor
4) Eliminar el listado de archivos (Options None)
For our default configuration, we choose the None option. So, our directives are now:
Order Deny,Allow
Deny from all
Options None
AllowOverride None
Order Allow,Deny
Allow from all
Si tenemos: <...> Options Indexes FollowSymLinks [lista archivos]
eliminamos Indexes: <...> Options FollowSymLinks [no lista archivos]
5) Opcionalmente podemos cambiar la página de Error:
ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today"
ErrorDocument 404 "No se encontró la página"
ErrorDocument 404 /notfound.html
6) Podemos restringir el acceso a ciertos directorios
con ".htaccess" o "con httpd.conf"
Prefiero httpd.conf para centralizar la administración en httpd.conf
Debemos crear el fichero donde se almacenarán las contraseñas del
usuario: "usuario":
# htpasswd -c /home/www/wwwpasswords usuario
[/etc/httpd/conf/httpd.conf]------------------------------------------
...
...
AuthType Basic
AuthName "El acceso a este Directorio es Restringido."
AuthUserFile /home/www/wwwpasswords
Require user {usuario}
7) Oculta la versión de PHP, editando php.ini
expose_php = Off
OTHER) Deny access to files like: "script.php~"
Deny all
-------------------------------------------------------------------------
by Hugo Martin www.hackcraft.com (2006)