LinuxParty
En este artículo se muestra cómo instalar y configurar mod_security. mod_security es un módulo Apache que proporciona detección y prevención de intrusiones para aplicaciones web. Su objetivo es proteger las aplicaciones web de ataques conocidos y desconocidos, como ataques de inyección de SQL, secuencias de comandos entre sitios, ataques de trayectoria de ruta, etc.
En el primer capítulo voy a mostrar cómo instalar mod_security en Debian, Ubuntu y en Fedora, y en el segundo capítulo voy a describir cómo configurar Apache para mod_security que es independiente de la distribución que estes usando
Quiero decir primero que no es la única forma de establecer un sistema de este tipo. Hay muchas maneras de lograr este objetivo, pero esta es la manera que tomo. ¡No hay ninguna garantía de que esto funcione para usted!
1 Instalación
1.1 Debian
mod_security está disponible como un paquete Debian en los repositorios Debian por defecto, por lo tanto la instalación es tan simple como esto:
apt-get install libapache2-mod-security
a2enmod mod-security
/etc/init.d/apache2 force-reload
1.2 Ubuntu
La instalación es exactamente la misma que en Debian Sarge:
apt-get install libapache2-mod-security
a2enmod mod-security
/etc/init.d/apache2 force-reload
1.3 Fedora
En Fedora, puede instalar y activar mod_security de la siguiente manera:
yum install mod_security
/etc/init.d/httpd restart
Ahora debe encontrar el archivo /etc/httpd/conf.d/mod_security.conf que ya contiene una configuración básica de mod_security:
vi /etc/httpd/conf.d/mod_security.conf
# Example configuration file for the mod_security Apache module LoadModule security_module modules/mod_security.so <IfModule mod_security.c> # Turn the filtering engine On or Off SecFilterEngine On # The audit engine works independently and # can be turned On of Off on the per-server or # on the per-directory basis SecAuditEngine RelevantOnly # Make sure that URL encoding is valid SecFilterCheckURLEncoding On # Unicode encoding check SecFilterCheckUnicodeEncoding On # Only allow bytes from this range SecFilterForceByteRange 1 255 # Cookie format checks. SecFilterCheckCookieFormat On # The name of the audit log file SecAuditLog logs/audit_log # Should mod_security inspect POST payloads SecFilterScanPOST On # Default action set SecFilterDefaultAction "deny,log,status:406" # Simple example filter # SecFilter 111 # Prevent path traversal (..) attacks # SecFilter "\.\./" # Weaker XSS protection but allows common HTML tags # SecFilter "<( |\n)*script" # Prevent XSS atacks (HTML/Javascript injection) # SecFilter "<(.|\n)+>" # Very crude filters to prevent SQL injection attacks # SecFilter "delete[[:space:]]+from" # SecFilter "insert[[:space:]]+into" # SecFilter "select.+from" # Require HTTP_USER_AGENT and HTTP_HOST headers SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$" # Only accept request encodings we know how to handle # we exclude GET requests from this because some (automated) # clients supply "text/html" as Content-Type SecFilterSelective REQUEST_METHOD "!^GET$" chain SecFilterSelective HTTP_Content-Type "!(^$|^application/x-www-form-urlencoded$|^multipart/form-data)" # Require Content-Length to be provided with # every POST request SecFilterSelective REQUEST_METHOD "^POST$" chain SecFilterSelective HTTP_Content-Length "^$" # Don't accept transfer encodings we know we don't handle # (and you don't need it anyway) SecFilterSelective HTTP_Transfer-Encoding "!^$" # Some common application-related rules from # http://modsecrules.monkeydev.org/rules.php?safety=safe #Nuke Bookmarks XSS SecFilterSelective THE_REQUEST "/modules\.php\?name=Bookmarks\&file=(del_cat\&catname|del_mark\&markname|edit_cat\&catname|edit_cat\&catcomment|marks\&catname|uploadbookmarks\&category)=(<[[:space:]]*script|(http|https|ftp)\:/)" #Nuke Bookmarks Marks.php SQL Injection Vulnerability SecFilterSelective THE_REQUEST "modules\.php\?name=Bookmarks\&file=marks\&catname=.*\&category=.*/\*\*/(union|select|delete|insert)" #PHPNuke general XSS attempt #/modules.php?name=News&file=article&sid=1&optionbox= SecFilterSelective THE_REQUEST "/modules\.php\?*name=<[[:space:]]*script" # PHPNuke SQL injection attempt SecFilterSelective THE_REQUEST "/modules\.php\?*name=Search*instory=" #phpnuke sql insertion SecFilterSelective THE_REQUEST "/modules\.php*name=Forums.*file=viewtopic*/forum=.*\'/" # WEB-PHP phpbb quick-reply.php arbitrary command attempt SecFilterSelective THE_REQUEST "/quick-reply\.php" chain SecFilter "phpbb_root_path=" #Topic Calendar Mod for phpBB Cross-Site Scripting Attack SecFilterSelective THE_REQUEST "/calendar_scheduler\.php\?start=(<[[:space:]]*script|(http|https|ftp)\:/)" # phpMyAdmin: Safe #phpMyAdmin Export.PHP File Disclosure Vulnerability SecFilterSelective SCRIPT_FILENAME "export\.php$" chain SecFilterSelective ARG_what "\.\." #phpMyAdmin path vln SecFilterSelective REQUEST_URI "/css/phpmyadmin\.css\.php\?GLOBALS\[cfg\]\[ThemePath\]=/etc" </IfModule> |
Puede mantener esta configuración, pero para obtener una mejor comprensión de lo que puede hacer mod_security , debe comentar la parte <IfModule mod_security.c>...</IfModule>, reiniciar Apache y seguir el capítulo 2. Posteriormente puede crear su propio mod_security ruleset, o simplemente cambie de nuevo éste.

-
Linuxparty
- LinuxParty.es migra a un nuevo servidor con la ayuda de ExtreHost
- Tras un año en el infierno, resurgimos desde el fondo
- Contratar publicidad en LinuxParty.
- LinuxParty sigue creciendo en el primer trimestre del 2023, este último mes hasta el 30% con respecto al 2022
- LinuxParty, ya es la SEXTA fuente de Noticias de Linux...
- LinuxParty en 2023 supera el tráfico de 2022, volvemos a crecer
- ChatGPT, qué es, cómo se usa y qué puedes hacer con este chat conversacional de IA
- LinuxParty. Tercera fuente como Noticias de Linux en Google Search en Junio de 2022
- LinuxParty entre las 5 y 7 principales webs de noticias de Linux en España
- LinuxParty, ya es la preferida 4ª fuente de Noticias de Linux.
- Oficialmente, el dominio LinuxParty.es será el nuevo sitio de la web de LinuxParty
- Ya somos la cuarta fuente preferida sobre noticias de Linux.
- Ya somos la Tercera Fuente de Noticias de Linux en España
- Buscar "Noticias de Linux" en Google, y estar en 5º lugar, no tiene precio.
- LinuxParty, nominado en los OpenAwards 2017 como mejor Blog