Introducción

Este plugin habilita la funcionalidad de búsqueda GeoIP para Coraza Web Application Firewall (WAF) mediante el uso de una base de datos GeoIP. Con esto, puede rastrear y filtrar solicitudes de forma eficiente en función de su origen geográfico.

Características

  • Integración sin fricciones con Coraza WAF.
  • Mapeo eficiente de IP a ubicación geográfica.
  • Acciones personalizables basadas en país, región o ciudad.

Requisitos previos

  • Coraza WAF instalado y configurado.
  • Base de datos GeoIP (por ejemplo, MaxMind GeoLite2 o cualquier base de datos compatible).

Instalación

  1. Añada el módulo Go a su proyecto:

    go get github.com/corazawaf/coraza-geoip
  2. Importe el plugin en su proyecto y configúrelo (tipos de base de datos admitidos: country, city):

    Usando un archivo de base de datos embebido (si el acceso al sistema de archivos local no está disponible, por ejemplo, WebAssembly)

    import (
         _ "embed"
        geo "github.com/corazawaf/coraza-geoip"
    )
    
    //go:embed geoip-database.mmdb
    var geoIpDatabase []byte
    
    func init() {
        geo.RegisterGeoDatabase(geoIpDatabase, "country")
    }

    Usando un archivo de base de datos local

       import (
         _ "embed"
        geo "github.com/corazawaf/coraza-geoip"
    )
    
    
    func init() {
        geo.RegisterGeoDatabaseFromFile("geoip-database.mmdb", "city")
    }

Uso

Una vez configurado, Coraza WAF comenzará a utilizar la base de datos GeoIP para determinar la ubicación geográfica de las direcciones IP entrantes. A continuación, puede crear reglas para permitir, bloquear o registrar solicitudes según su origen geográfico.

Consulte también la documentación de Coraza WAF sobre el uso de “@geoLookup” y la documentación sobre el uso de plugins para obtener más información.