Tutoriales y Manuales
Entradas Mensuales
-
▼
2024
(Total:
983
)
-
▼
noviembre
(Total:
31
)
- VMware Workstation y Fusion ahora son gratis
- Aprovechan el calor de la PS5 para mantener la piz...
- Guía compra AMD Ryzen 3, Ryzen 5, Ryzen 7 y Ryzen 9
- 50 cosas que puedes pedirle a Alexa y no conocías
- Mover archivos más rápido en Windows con "Enviar a"
- La Comisión Europea pide a Apple que elimine el ge...
- Grabar pantalla en macOS
- Apple presenta Share Item Location, la función par...
- Microsoft cambiará actualizaciones de Windows para...
- D-Link no solucionará una vulnerabilidad crítica q...
- Polvo cerámico mejora hasta un 72% el rendimiento ...
- Concatenación de ficheros comprimidos para infecta...
- Filtran datos de empleados de Amazon, McDonald's, ...
- El código IUA escrito en la roseta de fibra óptica...
- Fibra luminosa, descubierta por accidente, podría ...
- Canadá prohíbe el uso de TikTok
- Google tumbó la web de este matrimonio por hacerle...
- Visualizar con Grafana los eventos del IDS/IPS Sur...
- China está usando la IA de Meta para fines militares
- Multa de 85 millones a Telefónica en Estados Unido...
- Vulnerabilidad API de la web de Kia permitió a ata...
- Google revela el primer fallo de seguridad descubi...
- La IA llega a Paint y Notepad en Windows 11
- Alemania redacta una ley para proteger a los inves...
- Microsoft ralentizó el Panel de Control de Windows...
- Guías Equivalencias de procesadores Intel y AMD [G...
- Roban 15 mil credenciales en Git y hay 10 mil repo...
- Publican información del creador del infostealer "...
- Vulnerabilidad RCE en MS SharePoint explotada acti...
- Panel de Control Grafana para el WAF de Apache-Ngi...
- Cómo visualizar los registros de Apache/Nginx en m...
- ► septiembre (Total: 50 )
-
▼
noviembre
(Total:
31
)
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
Un Actor de Amenazas que opera bajo el nombre de usuario Nam3L3ss ha explotado una vulnerabilidad crítica en MOVEit de 2023, un software ...
-
Los procesadores Intel y AMD han vivido una importante renovación en los últimos dos años. El gigante de Sunnyvale mantuvo su apuesta por ...
Panel de Control Grafana para el WAF de Apache-Nginx ModSecurity OWASP (GUI)
Mod security es uno de los mejores WAF's (firewall para aplicaciones web) que existen, pero carece de modo gráfico lo que dificulta visualizar fácilmente los falsos positivos y las reglas aplicadas. Mediante el registro (log) en formato JSON podemos visualizar de forma gráfica todos los eventos gracias a Grafana.
ModSecurity, el WAF más extendido en la actualidad, implementa las reglas de seguridad de OWASP, Open Web Application Security Project, un proyecto de código abierto dedicado a determinar y combatir las causas que hacen que el software sea inseguro, ofreciendo protección genérica para cualquier aplicación en las siguientes categorías de ataques, entre otras:
- Protección HTTP – detectando anomalías y violaciones del protocolo HTTP.
- Listas negras en tiempo real – utilizando bases de datos de reputación de terceros.
- Ataques de denegación de servicio (DoS, DDoS) – protección frente a ataques de HTTP Flooding y Slow HTTP DoS.
- Ataques genéricos de aplicación – detectando vulnerabilidades comunes en las aplicaciones web.
- Detección de bots, crawlers, scanners y otros agentes de actividad sospechosa.
- Integración con Antivirus para escanear la subida de archivos a través de la aplicación.
- Protección frente a malware y troyanos.
- Identificación de defectos de aplicación · alertando de errores de configuración en aplicación o de cumplimiento de estándares.
Falsos positivos y ModSecurity WAF
Es inevitable, se producen falsos positivos cuando se usa un WAF. No es algo que afecte únicamente a ModSecurity.
La eficacia de un WAF depende del valor y aplicación de sus reglas de seguridad, al tratarse de reglas que por naturaleza son «genéricas» o «comunes» es posible que se produzcan falsos positivos en su aplicación dependiendo del escenario de cada aplicación web.
Todos los firewall de aplicaciones web van a generar falsos positivos de vez en cuando, especialmente en el despliegue inicial, actualizaciones de reglas de seguridad o actualizaciones en la aplicación web.
Supervisar, solucionar, implementar y comprobar nuevas reglas para
gestionar los falsos positivos es muy importante.
Una de las pocas herramientas que permite visualizar es un script en Python llamado modsecurity-parser:
Para poder visualizar los registros haremos uso de Loki y Promtail, para luego visualizarlos con Grafana:
La plantilla JSON de Grafana para ModSecurity WAF OWASP CRS Log for Apache/NGINX está disponible en:
La instalación de Loki y Promtail está disponible en otra entrada del blog así como añadir el datasource de Loki a Grafana.
Configuración Loki (/etc/loki/config.yml)
# This is a complete configuration to deploy Loki backed by the filesystem.
# The index will be shipped to the storage via tsdb-shipper.
auth_enabled: false
server:
http_listen_port: 3100
grpc_server_max_recv_msg_size: 104857600 # 100 Mb
grpc_server_max_send_msg_size: 104857600 # 100 Mb
ingester:
chunk_encoding: snappy
ingester_client:
grpc_client_config:
max_recv_msg_size: 104857600 # 100 Mb
max_send_msg_size: 104857600 # 100 Mb
querier:
max_concurrent: 8
common:
ring:
instance_addr: 127.0.0.1
kvstore:
store: inmemory
replication_factor: 1
path_prefix: /var/lib/loki
#new
query_range:
parallelise_shardable_queries: true
cache_results: true
results_cache:
cache:
embedded_cache:
enabled: true
max_size_mb: 100
schema_config:
configs:
- from: 2024-10-28
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h
storage_config:
filesystem:
directory: /var/lib/loki/chunks
limits_config:
reject_old_samples: true
reject_old_samples_max_age: 168h
retention_period: 360h
max_query_series: 100000
max_query_parallelism: 24
split_queries_by_interval: 15m
max_global_streams_per_user: 100000
per_stream_rate_limit: "3MB"
per_stream_rate_limit_burst: "15MB"
Configuración de Promtail (/etc/promtail/config.yml)
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://localhost:3100/loki/api/v1/push
scrape_configs:
# Modsecurity Log
- job_name: modsec
pipeline_stages:
- tenant:
value: sysmid-sensitive
- json:
expressions:
request:
source: transaction
- json:
expressions:
headers:
source: request
- json:
expressions:
Host:
source: headers
- labels:
Host: Host
static_configs:
- targets:
- localhost
labels:
job: modsec
__path__: /var/log/modsec/modsec_audit.log
Configuración ModSecurity (apache o Nginx):
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus "^(?:5|4(?!04))"
SecAuditLogParts ABFHJKZ
SecAuditLogType Serial
SecAuditLogFormat JSON
SecAuditLog /var/log/modsec/modsec_audit.log
SecAuditLogParts:
Section | Description |
---|---|
A | Audit log header (mandatory) |
B | Request headers |
C | Request body |
D | Reserved |
E | Response body |
F | Response headers |
G | Reserved |
H | Audit log trailer, which contains additional data |
I | Compact request body alternative (to part C), which excludes files |
J | Information on uploaded files |
K | Contains a list of all rules that matched for the transaction |
Z | Final boundary (mandatory) |
Fuentes:
https://portfoliodb.hslu.ch/files/fd545d6d-acab-442a-9254-c842ddacf0c1
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.