Este es un repaso esas cosas que siempre hay que hacerle al Apache en servidores nuevos, aprendidas con el paso del tiempo, consejos de amigos, prueba y error, etc.
Ocultaremos la versión de Apache, cambiando la configuración en el archivo httpd.conf:
ServerTokens ProductOnly ServerSignature Off
También borraremos el manual de Apache, ya que su visualización a través de errores o páginas de ayuda pueden desvelar también la versión.
# rm -rf /var/www/manual
También podemos eliminar la sección relativa ‘manual‘ del httpd.conf que usa el módulo content_negotiation, aunque no podemos deshabilitar dicho módulo.
Módulos innecesarios
Como norma general, deshabilitar módulos innecesarios. En mi caso suelo quitar (marcar en la configuración como Disabled):
foo_module auth_anon_module auth_dbm_module auth_digest_module cache_module disk_cache_module mem_cache_module mime_magic_module usertrack_module unique_id_module dav_module asis_module dav_fs_module imap_module actions_module speling_module
Tener en cuenta que desactivar alguno de los módulos de Apache puede hacer que no pueda arrancar, si algún trozo de la configuración hace referencia a directivas que provienen de dichos módulos. Debemos deshabilitar esas configuraciones también para que Apache no se queje al arrancar.
mod_proxy
Muchos paneles de control usan “mod_proxy” y otros derivados para interceptar URLs especiales para acceder a webmail -como Horde- usando el nombre del dominio de un virtual host (varias webs sobre una misma IP). Si no lo necesitamos, y considerando también que según la versión de Apache puede haber agujeros de seguridad, también podemos deshabilitarlo (teniendo cuidado de eliminar también las referencias a mod_proxy en otros puntos de la configuración).
De estas forma podemos deshabilitar varios módulos que comienzan llamándose proxy_*
#LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so #LoadModule proxy_connect_module /usr/lib/httpd/modules/mod_proxy_connect.so #LoadModule proxy_ftp_module /usr/lib/httpd/modules/mod_proxy_ftp.so #LoadModule proxy_http_module /usr/lib/httpd/modules/mod_proxy_http.so
Al querer arrancar de nuevo Apache nos pueden dar problemas directivas del tipo ProxyPass y ProxyPassReverse. Simplemente deshabilitar esas referencias, perdiendo su funcionalidad lógicamente.
Otros Tweaks
Aunque esto ya debería venir por defecto en Linux modernos:
EnableSendFile On EnableMmap On
Otros consejos de optimización y rendimiento en otros artículos de Toma2tazas:
Apache: Usando mod_expires
Instalando mod_perl
Apache: activando mod_deflate para compresión gzip
Caso técnico: configurar Apache y Tux/RHCA para servir archivos estáticos y dinámicos