es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Bloquear país por geoip con controlador de ingreso nginx y modsecurity.

Estoy intentando bloquear un país en el controlador de ingreso de Nginx con ModSecurity activado, pero aún sin suerte. Mi configuración es:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/modsecurity-snippet: |
SecRuleEngine On
SeqRequestBodyAccess On
SecAuditEngine On
SecAuditLogParts ABIJDEFHZ
SecAuditLog /var/log/modsec_audit.log
SecGeoLookupDb /etc/nginx/geoip/GeoIP.dat
SecRule REMOTE_ADDR "@geoLookup" "chain,id:22,drop,msg:WrongIP"
SecRule GEO:COUNTRY_CODE "@streq GR"
nginx.ingress.kubernetes.io/whitelist-source-range: 0.0.0.0/0

Cuando intento acceder a la URL con curl, obtengo HTTP 200 en lugar de HTTP 403.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que las reglas de modsecurity para bloquear el acceso desde un país específico no están funcionando como se espera.

    Después de revisar la configuración provista, parece que el archivo de base de datos GeoIP está correctamente especificado, y la SecRule para REMOTE_ADDR con @geoLookup y la SecRule para GEO:COUNTRY_CODE con @streq GR están presentes. Sin embargo, no está claro por qué se devuelve el código de estado HTTP 200 en lugar del código de estado 403 que debería ser activado por la regla de modsecurity.

    Algunas posibles causas de este problema podrían incluir una sintaxis incorrecta o el orden de la regla en el fragmento de modsecurity, una mala configuración del controlador de ingreso nginx o problemas con la base de datos GeoIP.

    Para solucionar este problema, puede ser útil revisar los registros del controlador de ingreso para buscar mensajes de error o problemas de conectividad con recursos externos como la base de datos GeoIP. Además, probar la regla de modsecurity con criterios más específicos, como bloquear una dirección IP específica, puede ayudar a aislar el problema.

Comments are closed.