Tips / Trucos para mejorar la seguridad en Apache
A continuación una lista de actividades que pueden ayudar a mejorar la seguridad de tu servidor Apache:
Mantener actualizado el servidor
yum -y update
Ocultar la versión del servidor
Editar el fichero de configuración
vi /etc/httpd/conf/httpd.conf
Verificar, agregar o corregir segun sea tu caso las siguientes variables.
ServerSignature Off ServerTokens Prod
Utilización de la propia cuenta y grupo de usuario Apache
En ocasiones de manera predeterminada se ejecuta bajo el usuario y grupo nobody, lo correcto es cambiar en el archivo de configuración httpd.conf
User apache Group apache
Utilizar mod_security
Para realizar la instalación, asegurate tener el repositorio EPEL:
yum -y install mod_security
La configuración en realidad es muy extensa y las reglas deben ser aplicadas para la realidad de cada servidor, sin embargo algunas que nos ayudaran. Editamos el archivo de configuración:
vi /etc/httpd/conf.d/mod_security.conf
En este archivo podemos especificar el log de mod_security
SecAuditLog /var/log/httpd/modsec_audit.log
Utilizar mod_evasive
Para instalar este modulo, asegurate de tener el repositorio EPEL, luego como root desde una consola ejecutar:
yum -y install mod_evasive
Para configurar las reglas se edita el archivo /etc/httpd/conf.d/mod_evasive.conf
- DOSHashTableSize, Cuanto más grande sea el tamaño de la tabla de Hash, más memoria requerirá, pero el rastreo de Ips será más rápido. Es útil aumentar su tamaño si nuestro servidor recibe una gran cantidad de peticiones, pero así mismo la memoria del servidor deberá ser también mayor.
- DOSPageCount, Número de peticiones a una misma página para que una IP sea añadida a la lista de bloqueo, dentro del intervalo de bloqueo en segundos especificado en el parámetro DOSPageInterval
- DOSSiteCount, Igual que ‘DOSPageCount’, pero corresponde al número de peticiones al sitio en general, usa el intervalo de segundos especificado en ‘DOSSiteInterval’.
- DOSPageInterval, Intervalo en segundos para el parámetro umbral de DOSPageCount.
- DOSSiteInterval, Intervalo en segundos para el parámetro umbral DOSSiteCount.
- DOSBlockingPeriod, Periodo de bloqueo para una IP si se supera alguno de los umbrales anteriores.El usuario recibirá un error403 (Forbidden) cuando sea bloqueado, si el atacante lo sigue intentando, este contador se reseteará automáticamente, haciendo que siga más tiempo bloqueada la IP.
- DOSEmailNotify, Dirección de correo electrónico que recibirá información sobre los ataques.
- DosWhitelist, Podemos especificar una IP o rango que será excluido del rastreo por mod_evasive.