Apache-2.0 Rust · Pingora Autoalojado

Protección de nivel Cloudflare para infraestructura que tú controlas

PingWAF es un firewall de aplicaciones web distribuido y gestionado de forma centralizada. Define sitios, reglas y políticas una vez en el plano de control; cada agente del edge las aplica en segundos, sin reinicios ni caídas.

Normalizar → firmas → expresiones → puntuación
4 fases Normalizar → firmas → expresiones → puntuación
Protocolo gRPC del plano de control
7 RPC Protocolo gRPC del plano de control
Integraciones ACME DNS-01
5 proveedores Integraciones ACME DNS-01
SQLi · XSS · RCE · traversal
localhost:9080/dashboard
Panel de PingWAF con analítica de peticiones, tendencias de ataque y estado de agentes
Reglas aplicadas en segundos
Apache-2.0
Código abierto de extremo a extremo
Sin coste por petición y sin dependencia de un servicio alojado.
Rust
Plano de datos con memoria segura
Pingora + tokio en un único binario autocontenido.
PostgreSQL
Estado del plano de control
Sitios, reglas, instantáneas de configuración y auditoría.
gRPC
Sincronización en caliente
Flujos bidireccionales, sin reiniciar procesos.

Arquitectura

Un plano de control, muchos agentes

El plano de control es la única fuente de verdad de la configuración. Los agentes solo transportan tráfico y aplican políticas, así que puedes escalar el plano de datos sin tocar el estado.

El plano de control posee el estado

Sitios, reglas, certificados y versiones de configuración viven en PostgreSQL, detrás de una API REST en Axum, un servicio gRPC en tonic y la consola integrada.

Los agentes aplican en el edge

Cada agente mantiene una caché de reglas en disco y sigue sirviendo con la última política conocida aunque el plano de control no esté disponible.

Los cambios llegan sin recargar

SyncRules empuja un nuevo paquete por el flujo bidireccional existente; el agente lo intercambia en memoria mientras el tráfico continúa.

Cómo funciona el plano de control

Capacidades

Defensa en profundidad, desactivada por defecto

Todas las protecciones se entregan desactivadas y se habilitan por sitio, de modo que nada altera tu tráfico hasta que lo pidas.

Motor WAF semántico

Detección por firmas y heurísticas de inyección SQL, XSS, RCE, traversal y ejecución de comandos.

  • Heurísticas libinjection + Aho-Corasick
  • Reglas de expresión estilo Cloudflare
  • Veredictos Pass / Monitor / Block / Challenge
Motor WAF

Defensa CC y de bots

Absorbe picos y separa navegadores reales de scripts con desafíos en capas.

  • Escudo JavaScript de 5 segundos y proof of work
  • Cookies de paso firmadas con HMAC
  • Lista de bots verificados por sitio
CC y bots

Control de acceso

Decide quién alcanza el origen por dirección, región y dimensión de la petición.

  • Reglas IP con CIDR e importación CSV
  • Bloqueo geográfico por país y ASN
  • Límites por IP, host, ruta o cabecera
Control de acceso

Tráfico y caché

Enruta, balancea y cachea sin salir de la consola.

  • Grupos de origen con cinco estrategias
  • Rutas por prefijo, exactas y regex
  • Caché en el edge con cuotas y SWR
Tráfico y caché

TLS y certificados

Certificados emitidos en el edge y visibles desde un único lugar.

  • ACME HTTP-01 y DNS-01 con renovación
  • Estado del certificado por sitio en el heartbeat
  • Emisión y revocación inmediata de mTLS
TLS y certificados

Observabilidad y consola

Cada petición es auditable y cada cambio de configuración reversible.

  • Logs en Elasticsearch con búfer WAL
  • Captura de petición y respuesta para reproducir
  • Versiones de configuración con diff y rollback
Observabilidad

Todas las capacidades

Dentro de la consola

Operación sin una pila adicional

El panel se compila dentro del binario: lo que ves es exactamente lo que sabe el plano de control.

localhost:9080/sites/example.com/security/protection
Página de protección del sitio con pestañas de reglas WAF y ajustes de desafío
Las reglas WAF y los desafíos CC se configuran por sitio.
localhost:9080/logs
Lista de logs de petición con veredictos y reglas coincidentes
Los logs de petición guardan veredicto, puntuación y regla aplicada.
localhost:9080/sites/example.com/ssl
Página TLS del sitio con estado del certificado y eventos ACME
Estado del certificado y eventos ACME de cada sitio.

Inicio rápido

De cero a un sitio protegido

El archivo compose incluido arranca el plano de control, un agente y PostgreSQL. Inicia sesión, añade un sitio y el edge empieza a aplicar políticas.

  1. Arranca la pila

    docker compose up -d descarga la imagen publicada e inicia PostgreSQL.

  2. Inicia sesión

    Abre https://localhost:9080 con la cuenta de administrador inicial.

  3. Añade un sitio

    Apunta un dominio al agente y habilita las protecciones del sitio.

bash — pingwaf
$ git clone https://github.com/shuaiZend/PingWAF.git
$ cd PingWAF && docker compose up -d
plano de control https://localhost:9080
agente :80 / :443
postgres :5432

Un WAF que puedes leer, auditar y poseer

Cada regla, veredicto y línea de log se queda en tu infraestructura, con una licencia que te permite cambiarlo todo.