ModSecurity y OWASP en CentOS 6 y Apache 2

ModSecurity es un firewall de capa de aplicación web diseñado para funcionar con IIS, Apache2 y Nginx. Es un software gratuito de código abierto lanzado bajo la licencia Apache 2.0. ModSecurity ayuda a proteger su servidor web al monitorear y analizar el tráfico de su sitio web. Hace esto en tiempo real para detectar y bloquear ataques de exploits más conocidos utilizando expresiones regulares. Por sí solo, ModSecurity brinda protección limitada y se basa en conjuntos de reglas para maximizar la protección.

El conjunto de reglas básicas (CRS) del Proyecto de seguridad de aplicaciones web abiertas (OWASP) es un conjunto de reglas genéricas de detección de ataques que proporcionan un nivel básico de protección para cualquier aplicación web. El conjunto de reglas es gratuito, de código abierto y actualmente patrocinado por Spider Labs.

OWASP CRS proporciona:

  • Protección HTTP: detección de violaciones del protocolo HTTP y una política de uso definida localmente.
  • Búsquedas en listas negras en tiempo real: utiliza reputación de IP de terceros.
  • Protección de denegación de servicio HTTP: defensa contra inundaciones HTTP y ataques DoS HTTP lentos.
  • Protección de ataques web comunes: detección de ataques de seguridad de aplicaciones web comunes.
  • Detección de automatización: detección de bots, rastreadores, escáneres y otras actividades maliciosas de superficie.
  • Integración con el escaneo AV para cargas de archivos: detecta archivos maliciosos cargados a través de la aplicación web.
  • Seguimiento de datos confidenciales: realiza un seguimiento del uso de la tarjeta de crédito y bloquea las fugas.
  • Protección troyana - Detecta caballos de Troya.
  • Identificación de defectos de la aplicación: alertas sobre configuraciones incorrectas de la aplicación.
  • Detección y ocultación de errores: ocultando mensajes de error enviados por el servidor.

Instalación

Esta guía le muestra cómo instalar ModSecurity y el conjunto de reglas OWASP en CentOS 6 con Apache 2.

Primero, debe asegurarse de que su sistema esté actualizado.

 yum -y update

Si no ha instalado Apache 2, instálelo ahora.

 yum -y install httpd

Ahora necesita instalar algunas dependencias para que ModSecurity funcione. Dependiendo de la configuración de su servidor, algunos o todos estos paquetes ya pueden estar instalados. Yum instalará los paquetes que no tiene y le informará si alguno de los paquetes ya está instalado.

 yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel

Cambie el directorio y descargue el código fuente del sitio web ModSecuity. La versión estable actual es 2.8.

 cd /opt/
 wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz

Extraiga el paquete y cámbielo a su directorio.

 tar xzfv modsecurity-2.8.0.tar.gz 
 cd modsecurity-2.8.0

Configurar y compilar el código fuente.

 ./configure
 make
 make install

Copie la configuración predeterminada de ModSecurity y el archivo de mapeo Unicode en el directorio de Apache.

 cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
 cp unicode.mapping /etc/httpd/conf.d/

Configure Apache para usar ModSecurity. Hay 2 formas de hacer esto.

 echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf

... o use un editor de texto como nano:

 nano /etc/httpd/conf/httpd.conf

Al final de ese archivo, en una línea separada, agregue esto:

 LoadModule security2_module modules/mod_security2.so

Ahora puede iniciar Apache y configurarlo para que comience en el arranque.

 service httpd start
 chkconfig httpd on

Si tenía instalado Apache antes de usar esta guía, entonces solo necesita reiniciarlo.

 service httpd restart

Ahora puede descargar el conjunto de reglas principales de OWASP.

 cd /etc/httpd
 git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

Ahora configure el conjunto de reglas OWASP.

 cd modsecurity-crs
 cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf

A continuación, debe agregar el conjunto de reglas a la configuración de Apache. Nuevamente podemos hacer esto de dos maneras.

 echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
 echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf

... o con un editor de texto:

 nano /etc/httpd/conf/httpd.conf

Al final del archivo en líneas separadas agregue esto:

 Include modsecurity-crs/modsecurity_crs_10_config.conf
 Include modsecurity-crs/base_rules/*.conf

Ahora reinicia Apache.

 service httpd restart

Finalmente, elimine los archivos de instalación.

 yum erase /opt/modsecurity-2.8.0
 yum erase /opt/modsecurity-2.8.0.tar.gz

Usando ModSecurity

De forma predeterminada, ModSecurity se ejecuta en modo de solo detección, lo que significa que registrará todos los saltos de reglas pero no tomará ninguna medida. Esto se recomienda para nuevas instalaciones para que pueda ver los eventos generados en el registro de errores de Apache. Después de revisar el registro, puede decidir si se debe realizar alguna modificación en el conjunto de reglas o deshabilitar la regla (consulte a continuación) antes de pasar al modo de protección.

Para ver el registro de errores de Apache:

 cat /var/log/httpd/error_log

La línea ModSecurity en el registro de errores de Apache se divide en nueve elementos. Cada elemento proporciona información sobre por qué se activó el evento.

  • La primera parte dice qué archivo de reglas desencadenó este evento.
  • La segunda parte indica en qué línea del archivo de reglas comienza la regla.
  • El tercer elemento te dice qué regla se activó.
  • El cuarto elemento te dice la revisión de la regla.
  • El quinto elemento contiene datos especiales para fines de depuración.
  • El sexto elemento define la gravedad del registro de esta gravedad del evento.
  • La séptima sección describe qué acción ocurrió y en qué fase ocurrió.

Tenga en cuenta que algunos elementos pueden estar ausentes dependiendo de la configuración de su servidor.

Para cambiar ModSecurity al modo de protección, abra el archivo conf en un editor de texto:

 nano /etc/httpd/conf.d/modsecurity.conf

... y cambio:

 SecRuleEngine DetectionOnly

a:

 SecRuleEngine On

Si encuentra algún bloqueo cuando ModSecurity se está ejecutando, debe identificar la regla en el registro de errores de HTTP. El comando "cola" le permite ver los registros en tiempo real:

 tail -f /var/log/httpd/error_log

Repita la acción que causó el bloqueo mientras mira el registro.

Modificar un conjunto de reglas / Deshabilitar una ID de regla

La modificación de un conjunto de reglas está más allá del alcance de este tutorial.

Para deshabilitar una regla específica, identifique la identificación de la regla que está en el tercer elemento (por ejemplo [id = 200000]) y luego deshabilítela en el archivo de configuración de Apache:

 nano /etc/httpd/conf/httpd.conf

... agregando lo siguiente al final del archivo con el ID de la regla:

<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>

Si encuentra que ModSecurity está bloqueando todas las acciones en su (s) sitio (s) web, entonces "Core Rule Set" probablemente esté en modo "Autónomo". Debe cambiar esto a "Detección colaborativa", que detecta y bloquea solo las anomalías. Al mismo tiempo, puede ver las opciones "Autocontenidas" y cambiarlas si lo desea.

 nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf

Cambie "detección" a "autocontenido".

También puede configurar ModSecurity para permitir su IP a través del firewall de la aplicación web (WAF) sin iniciar sesión:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off

... o con el registro:

 SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly


Leave a Comment

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

¿Usando un sistema diferente? MODX Revolution es un sistema de gestión de contenido (CMS) de nivel empresarial rápido, flexible, escalable, gratuito y de código abierto escrito i

Configure su propia red privada con OpenVPN

Configure su propia red privada con OpenVPN

Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.

How to Install and Configure CyberPanel on Your CentOS 7 Server

How to Install and Configure CyberPanel on Your CentOS 7 Server

Using a Different System? Introduction CyberPanel is one of the first control panels on the market that is both open source and uses OpenLiteSpeed. What thi

Install eSpeak on CentOS 7

Install eSpeak on CentOS 7

Using a Different System? ESpeak can generate text-to-speech (TTS) audio files. These can be useful for many reasons, such as creating your own Turin

Cómo instalar Thelia 2.3 en CentOS 7

Cómo instalar Thelia 2.3 en CentOS 7

¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i

Monitoree sus dispositivos usando LibreNMS en CentOS 7

Monitoree sus dispositivos usando LibreNMS en CentOS 7

¿Usando un sistema diferente? LibreNMS es un completo sistema de monitoreo de red de código abierto. Utiliza SNMP para obtener los datos de diferentes dispositivos. Una variedad

Cómo instalar Cacti 1.1 en CentOS 7

Cómo instalar Cacti 1.1 en CentOS 7

Cacti es una herramienta de gráficos y monitoreo de red de código abierto y libre escrita en PHP. Con la ayuda de RRDtool (herramienta de base de datos Round-Robin), Cacti se puede usar t

Cómo usar Sudo en Debian, CentOS y FreeBSD

Cómo usar Sudo en Debian, CentOS y FreeBSD

Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

¿Usando un sistema diferente? Zabbix es un software gratuito y de código abierto listo para empresas que se utiliza para monitorear la disponibilidad de sistemas y componentes de red.

Cómo instalar MODX CMS y Nginx en CentOS 7

Cómo instalar MODX CMS y Nginx en CentOS 7

MODX es un sistema de gestión de contenido gratuito y de código abierto escrito en PHP. Utiliza MySQL o MariaDB para almacenar su base de datos. MODX está diseñado para el negocio i

Cómo instalar YOURLS en CentOS 7

Cómo instalar YOURLS en CentOS 7

YOURLS (Your Own URL Shortener) es una aplicación de análisis de datos y acortamiento de URL de código abierto. En este artículo, cubriremos el proceso de instalación

Setup Nginx-RTMP on CentOS 7

Setup Nginx-RTMP on CentOS 7

Using a Different System? RTMP is great for serving live content. When RTMP is paired with FFmpeg, streams can be converted into various qualities. Vultr i

Cómo instalar LimeSurvey en CentOS 7

Cómo instalar LimeSurvey en CentOS 7

LimeSurvey es una herramienta de encuestas en línea gratuita y de código abierto que se utiliza ampliamente para publicar encuestas en línea y para recopilar comentarios de encuestas. En este artículo, voy a

Cómo instalar Vanilla Forum en CentOS 7

Cómo instalar Vanilla Forum en CentOS 7

¿Usando un sistema diferente? Vanilla forum es una aplicación de foro de código abierto escrita en PHP. Es totalmente personalizable, fácil de usar y admite dispositivos externos.

Instalación de Netdata en CentOS 7

Instalación de Netdata en CentOS 7

¿Usando un sistema diferente? Netdata es una estrella en ascenso en el campo del monitoreo de métricas del sistema en tiempo real. En comparación con otras herramientas del mismo tipo, Netdata:

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

En este tutorial, aprende bien cómo configurar un servidor multijugador Just Cause 2. Requisitos previos Asegúrese de que el sistema esté completamente actualizado antes de comenzar

Cómo instalar Starbound Server en CentOS 7

Cómo instalar Starbound Server en CentOS 7

¿Usando un sistema diferente? En este tutorial, explicaré cómo configurar un servidor Starbound en CentOS 7. Requisitos previos Necesitas tener este juego contigo

Instalación y configuración de ZNC en CentOS 7

Instalación y configuración de ZNC en CentOS 7

ZNC es un enlace IRC gratuito y de código abierto que permanece permanentemente conectado a una red para que los clientes puedan recibir mensajes enviados mientras están desconectados. Thi

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.