ModSecurity, también conocido como Modsec, es una robusta aplicación de firewall de código abierto para servidores web Apache. Un firewall es una utilidad que protege una red o una aplicación de software del abuso y el acceso no autorizado mediante el filtrado de solicitudes.
Modsec ofrece funciones de seguridad para HTTP (Protocolo de transferencia de hipertexto). Dado que es de uso gratuito, se usa ampliamente para monitorear, registrar y filtrar solicitudes en servidores web Apache.
La utilidad fue un éxito al abordar las vulnerabilidades de seguridad comunes mediante el conjunto de reglas básicas de OWASP ModSecurity.
En esta guía, lo guiaremos a través de los pasos para configurar y proteger su servidor web Apache con ModSecurity en Ubuntu 18.04 VPS.
requisito
- Un plan VPS que ejecutará el servidor Ubuntu 18.04
- Un usuario no root que puede realizar tareas sudo
Paso 1: instale el servidor web Apache
En primer lugar, debe instalar Apache si no está instalado en su servidor Ubuntu 18.04. Primero, actualice el índice de paquetes de Ubuntu.
$ sudo apt-get update
Luego instale Apache:
$ sudo apt-get install Apache2
prensa Y. y golpea Ingresar cuando se le solicite que confirme la instalación
Si Apache ya está instalado, debería ver el siguiente mensaje de error:
apache2 is already the newest version
Paso 2: Instale ModSecurity
Una vez que haya instalado Apache, el siguiente paso es instalar ModSecurity. Ejecute el siguiente comando:
$ sudo apt-get install libapache2-mod-security2
Reiniciar Apache
$ sudo service apache2 restart
Puede verificar si el módulo está habilitado ejecutando el siguiente comando:
$ sudo apachectl -M | grep security
Debería obtener el siguiente resultado:
security2_module (shared)
Paso 3: configurar ModSecurity
El motor ModSecurity necesita reglas para funcionar. Las reglas determinan cómo se maneja la comunicación en el servidor web. Dependiendo de la configuración, ModSecurity puede pasar, eliminar, redirigir, ejecutar un script o incluso mostrar un código de estado durante una sesión.
Hay un archivo de configuración estándar /etc/modsecurity/modsecurity.conf-recommended que deberías copiar a /etc/modsecurity/modsecurity.conf para activar y configurar ModSecurity. Para hacer esto, ejecute el siguiente comando:
$ sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Luego edite el archivo copiado con un editor nano:
$ sudo nano /etc/modsecurity/modsecurity.conf
Cambiar el valor de SecRuleEngine
de DetectionOnly
a uno.
$ SecRuleEngine = on
Presione>CTRL + X. luego Y. y Ingresar para guardar el archivo.
Reinicie Apache para que los cambios surtan efecto.
$ sudo systemctl restart apache2
En ModSecurity hay reglas estándar bajo / usr / share / modsecurity-crs Directorio. Sin embargo, siempre se recomienda descargar las reglas de GitHub:
Antes de hacer esto, cambie el nombre del directorio de reglas predeterminado:
$ sudo mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.bk
Luego, descargue un nuevo conjunto de reglas de GitHub usando el siguiente comando:
$ sudo git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs
Copie el archivo de configuración de muestra de las reglas descargadas con el siguiente comando:
$ sudo cp /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf
Para que estas reglas funcionen en Apache, debe editarlas /etc/apache2/mods-enabled/security2.conf Archivo con un editor nano
$ sudo nano /etc/apache2/mods-enabled/security2.conf
Al final, agregue las siguientes dos líneas
$ IncludeOptional /usr/share/modsecurity-crs/*.conf $ IncludeOptional "/usr/share/modsecurity-crs/rules/*.conf
Guarde el archivo presionando CTRL + X, Y. y Ingresar
Reinicie Apache:
$ sudo systemctl restart apache2
Paso 4: Probar ModSecurity
Ahora puede intentar ejecutar scripts maliciosos en un navegador y ver si se activan las reglas de ModSecurity. Ingrese la siguiente URL en un navegador. Recuerde reemplazar la dirección IP con la dirección IP pública de su servidor o nombre de dominio
http://127.0.0.1/index.html?exec=/bin/bash
Debería recibir un mensaje de error prohibido:
Prohibido No tiene autorización para acceder a este servidor. Servidor Apache / 2.4.29 (Ubuntu) en 127.0.0.1 puerto 80
Conclusión
Eso es. Su servidor web Apache ahora está protegido contra atacantes malintencionados. Tenga en cuenta que ModSecurity protege contra muchos ataques conocidos, incluida la inyección SQL. El módulo es un gran arsenal cuando se trata de proteger su servidor web de los piratas informáticos.