Hay que mantener el servidor actualizado con las últimas actualizaciones. A la hora de actualizar comprobar el changelog para ver si hay incompatibilidades.
Si lo hemos instalado desde los repositorios podemos hacer
yum update httpd
Para ver los módulos cargados ejecutar
httpd -t -D DUMP_MODULES</code> o bien <sxh bash>grep LoadModule /etc/httpd/conf/httpd.conf
grep LoadModule /etc/apache2/apache2.conf
para ver los módulos con los que se compiló
httpd -V
Módulos que se suelen cargar por defecto:
Para desactivar un módulo y que no se cargue basta con poner un comentario en la línea que carga el módulo en el fichero de configuración Como minimo eliminar o deshabilitar los siguientes módulos
En CentOS / Redhat (RHEL) / Fedora para deshabilitar un módulo deberemos de renombrar dicho módulo quitándole la extensión .conf y reiniciamos el servicio del apache
Por ejemplo para deshabilitar el modulo mod_python vamos a la carpeta /etc/httpd/conf.d/ y renombramos el fichero python.conf a python.bak y reiniciamos el servidor apache
Para habilitar un módulo basta con hacer el proceso contrario. Renombramos el fichero a su extensión .conf y reiniciamos el servicio de apache
En Debian / Ubuntu para deshabilitar un módulo podemos usar dos scripts :
La forma de deshabilitar un módulo sería ejecutarlo
a2dismod {nombre-módulo}y para habilitar un módulo sería con
a2enmod {nombre-módulo}
Para agregar nuevos módulos mediante el comando config-status.
Ejemplo Instalación de Módulos
Para instalar módulos, el primer módulo que debe ser activado es el módulo para módulos, esto se realiza mediante el comando:
./config.status --activate-module=src/modules/standard/mod_so.c
El comando anterior agrega mod_so (el módulo de módulos) a config.status; para instalar otros módulos se utilizan parámetros similares:
./config.status --enable-module=proxy
El mod_security hace las veces de firewall de las aplicaciones web y nos permite además monitorizar el tráfico en tiempo real.
El mod_evasive nos protege de ataques por fuerza bruta y DDos
Para instalar ambos módulos
yum install mod_security mod_evasive
<note>reiniciar el servicio httpd para aplicar los cambios </code>
Modificamos /etc/httpd/conf/httpd.conf
ServerTokens ProductOnly ServerSignature Off
quitar o comentar el acceso a los index
## option indexes FlollowSymLinks
También podemos podemos editar la configuración y usar la orden options
<Directory /var/www/html> Options -Indexes </directory>
ProxyRequests off
<FilesMatch "\.(old|bak|tgz|sql|inc|tar\.gz|zip|rar)$"> Order Deny,Allow Deny from All </FilesMatch>