geoblock
Servicio de autenticación forward para geoblocking que restringe acceso basado en país, ASN, red IP, dominio y método HTTP. Se integra con Traefik, NGINX y Caddy como middleware.
Ficha actualizada 26 sept 2026, 7:45 · upstream 26 sept 2026, 7:23 · release v0.6.1
Qué es geoblock
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Geoblock es un servicio de autenticación forward diseñado para restringir el acceso a servicios expuestos en internet basándose en criterios geográficos y técnicos. Funciona junto al proxy inverso, resolviendo la IP del cliente a país y ASN, evaluando reglas configuradas y permitiendo o denegando la solicitud según políticas definidas.
El servicio utiliza datos de geolocalización IP de ip-location-db (GeoLite2 de MaxMind) actualizados automáticamente. El archivo de configuración se vigila para cambios y se recarga cuando se modifica. Soporta condiciones como países (códigos ISO 3166-1 alpha-2), dominios con comodines, métodos HTTP, redes en CIDR y sistemas autónomos.
La arquitectura permite reducir la exposición a escáneres automatizados que exploran servicios vulnerables, archivos expuestos y credenciales por defecto. Proporciona endpoints de API para autenticación forward (/v1/forward-auth), salud (/v1/health) y métricas Prometheus (/metrics).
- Bloquear acceso desde países específicos para cumplir con regulaciones locales o políticas de negocio
- Proteger servicios internos permitiendo solo tráfico desde redes privadas (RFC 1918)
- Restringir acceso a dominios críticos basándose en ASN conocidos de proveedores no confiables
- Limitar métodos HTTP específicos para reducir superficie de ataque ante escáneres automatizados
- Integración nativa con proxies inversos populares: Traefik, NGINX y Caddy mediante forward auth
- Base de datos de geolocalización IP actualizada automáticamente sin intervención manual
- Soporte para múltiples criterios de filtrado: países, ASN, redes CIDR, dominios y métodos HTTP
- API REST documentada con endpoints de autenticación, salud y métricas Prometheus
- Configuración declarativa en YAML con hot-reload al modificar el archivo
- Dependencia externa de ip-location-db para datos de geolocalización; sin este servicio la resolución falla
- No incluye soporte one-click deployment; requiere configuración manual del proxy inverso
- Requiere exposición del puerto 8080 al proxy inverso, aumentando superficie de ataque si no se segmenta
- Sin autenticación adicional más allá de geoblocking; no protege contra ataques dentro de redes permitidas
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Despliegue recomendado: usar Docker con volumen para config.yaml y caché. Configurar proxy inverso (Traefik/NGINX/Caddy) para llamar a /v1/forward-auth antes de enrutar al backend. Asegurar que GEOBLOCK_CACHE_DIR tenga permisos de escritura. Considerar segmentación de red para el puerto 8080. Monitorear con Grafana usando dashboard.json incluido.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.
