Mod_security es un módulo de Apache que ayuda a proteger su sitio web de varios ataques, como secuencias de comandos entre sitios, ataques de inyección SQL, ataques de cruce de ruta, etc. Mod_evasive es un módulo de Apache que ayuda a prevenir ataques HTTP DoS (DDoS) o ataques de fuerza bruta del servidor . Si tiene CentOS instalado en su servidor, siga estas instrucciones para instalar mod_security con el conjunto de reglas básicas de OWASP.
Para instalar y configurar los módulos mod_security y mod_evasive en un Ubuntu VPS para fortalecer y asegurar su servidor web Apache, siga los pasos que se describen a continuación:
Asegúrese de que todos los paquetes del sistema operativo estén actualizados:
sudo apt-get upgradesudo apt-get upgrade
Instale mod-security y mod-evasive usando el siguiente comando:
sudo apt-get install libapache2-mod-security2 libapache2-modsecurity libapache2-mod-evasive
Para habilitar las reglas de mod_security, copie el archivo de configuración recomendado de mod_security, luego edítelo y establezca la opción 'SecRuleEngine' en On:
sudo cp /etc/modsecurity/modsecurity.conf{-recomendado,}sudo vi /etc/modsecurity/modsecurity.conf
Motor de regla de seguridad activado
Además, es una buena idea aumentar el valor de 'SecRequestBodyLimit' al tamaño máximo de los archivos que aceptaría cargar en el servidor, por ejemplo, configúrelo en 32 MB y no permita que mod_security acceda a los cuerpos de respuesta para ahorrar algunos recursos del servidor:
SecRequestBodyLimit 32768000SecRequestBodyInMemoryLimit 32768000SecResponseBodyAccess Off
Las reglas de mod_security están disponibles en los siguientes directorios:
/usr/share/modsecurity-crs/base_rules/usr/share/modsecurity-crs/opcional_rules/usr/share/modsecurity-crs/experimental_rules
Para habilitar todas las reglas básicas de CRS, cree enlaces simbólicos con el siguiente comando:
sudo ln -s /usr/share/modsecurity-crs/base_rules/*.conf /usr/share/modsecurity-crs/activated_rules/
Para habilitar los archivos de reglas experimentales y opcionales de CRS que desea usar, cree enlaces simbólicos en la ubicación del directorio 'activated_rules' según corresponda.
Se recomienda descargar y configurar el conjunto de reglas básicas de OWASP (Open Web Application Security Project):
sudo apt-get install gitsudo git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.gitsudo mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.baksudo mv owasp- modsecurity-crs /usr/share/modsecurity-crssudo mv /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf
Edite los siguientes archivos:
sudo vi /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_35_bad_robots.conf
líneas de comentario 16, 21 y 28:
#SecRule REQUEST_HEADERS:User-Agent "@pmFromFile modsecurity_35_bad_robots.data" \#SecRule REQUEST_HEADERS:User-Agent "@pmFromFile modsecurity_35_bad_robots.data" \#SecRule REQUEST_HEADERS:User-Agent
sudo vi /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_40_generic_attacks.conf
línea de comentario 169:
#SecRule SOLICITAR_COOKIES|!REQUEST_COOKIES:/__utm/|!REQUEST_COOKIES:/_pk_ref/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML:/* "@pmFromFile modsecurity_40_generic_attacks.data" \
sudo vi /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_50_outbound.conf
línea de comentario 101:
#SecRule RESPONSE_BODY "!@pmFromFile modsecurity_50_outbound.data" \
Configurar módulo mod_evasive:
sudo vi /etc/apache2/mods-disponible/mod-evasive.conf
DOSHashTableSize 3097 DOSPageCount 10 DOSSiteCount 30 DOSPageInterval 1 DOSSiteInterval 3 DOSBlockingPeriod 3600 DOSLogDir /var/log/apache2/mod_evasive.log
Consulte el archivo README incluido con mod_evasive para obtener detalles sobre los distintos parámetros de configuración.
Crear archivo de registro para mod_evasive:
toque /var/log/apache2/mod_evasive.logsudo chown www-data:www-data /var/log/apache2/mod_evasive.log
Ejecute el siguiente comando para habilitar los módulos de Apache:
sudo a2enmod headerssudo a2enmod evasivesudo a2enmod security2
Reinicie el servidor web Apache2:
reinicio del servicio sudo apache2
Compruebe si los módulos mod_security y mod_evasive están habilitados en su servidor:
sudo apachectl -M | grep security2security2_module (compartido) sudo apachectl -M | grep evasiveevasive20_module (compartido)
Si tiene un sitio web basado en WordPress alojado en su VPS, lo más probable es que deba deshabilitar algunas reglas de mod_security. Para deshabilitar/excluir ciertas reglas de mod_security, puede editar el host virtual de su dominio definido en el archivo de configuración de Apache de su dominio, por ejemplo:
ServerName yourdomain.com ServerAlias www.yourdomain.com DocumentRoot /var/www/html/wordpress/ Opciones +FollowSymLinks AllowOverride FileInfo SecRuleRemoveById 300016 SecRuleRemoveById 300016 SecRuleRemoveById 950117 SecRuleRemoveById 950005
No olvide reiniciar el servidor web Apache para que los cambios surtan efecto, así que ejecute el siguiente comando:
reinicio del servicio sudo apache2
Consulte el archivo de registro /var/log/apache2/modsec_audit.log para encontrar las reglas que mod_security activa en su servidor web.
Eso es todo. Tiene mod_security y mod_evasive instalados en su Ubuntu VPS.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS Linux, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que instalen mod_security y mod_evasive. para ti. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.