Empieza conWAFPass
Instale la pila de cumplimiento WAF+ de código abierto y ejecute su primera evaluación en cinco pasos. Sin credenciales de nube, sin caja negra — solo análisis estático en su Infraestructura-como-Code.
De cero a su primer cheque en cinco pasos.
Siga la ruta numerada a continuación. Cada paso se vincula a la sección de emparejamiento para que nunca pierda la orientación.
Inicio rápido: su primer WAF++ cheque
Este tutorial le da un resultado garantizado. Usted instalará el WAFPass CLI, descargará el WAF++ controles, crear un archivo Terraform mínimo, y ver la bandera de WAFPass un hallazgo real.
Elija su camino
Para este tutorial solo necesitas el CLI. Si usted ya quiere el dashboard completo + servidor, saltar aDocker Composedespués del primer escaneo.
Instala el CLI
WAFPass se publica a PyPI comowafpass-core. Python 3.11+ se recomienda.
Obtener los controles
Descargar el catálogo de controles WAF++ y extraerlo en uncontrols/carpeta al lado de donde se ejecutan escaneos.
Crear un archivo Terraform mínimo y escanearlo
Guardar este ejemplo deliberadamente imperfecto comomain.tfLa WAFPass debería marcar por lo menos un hallazgo de seguridad.
provider "aws" {
region = "eu-central-1"
}
resource "aws_s3_bucket" "public" {
bucket = "wafpp-first-check-demo"
}
resource "aws_s3_bucket_public_access_block" "public" {
bucket = aws_s3_bucket.public.id
block_public_acls = false
block_public_policy = false
ignore_public_acls = false
restrict_public_buckets = false
}
Vea los resultados
En la terminal verás un resumen como este: un FAIL para el balde público S3, agrupado por pilar y control.
{
"total_controls": 83,
"passed": 81,
"failed": 2,
"pillars": {
"security": { "passed": 18, "failed": 2 }
}
}
Para explorar los hallazgos visualmente, ejecuteDocker Compose stacky empujar al JSONhttp://localhost:8000/runs.
Dos maneras de correr WAFPass.
Comience con el CLI para el primer escaneo más rápido, o despliegue la pila completa si necesita persistencia, historia y un panel visual.
Docker Compose stack
CLI + Server + Dashboard + PostgreSQL + Keycloak en un comando. Mejor para equipos, auditores, y cualquiera que quiera un historial de cumplimiento persistente.
Configuración completa de la pila &rar; Más rápidoCLI only
Instalawafpass-coredesde PyPI y ejecutar cheques directamente en su terminal o gasoducto CI. Añade Server y Dashboard más tarde cuando los necesites.
Tres componentes. Un flujo de trabajo de cumplimiento.
Instale sólo el CLI para tuberías CI/CD, o agregue el servidor y el panel de control para historia persistente y exploración visual.
Motor básico de evaluación. Parses Terraform y AWS CDK, se ejecuta en cualquier oleoducto CI/CD. No se necesitan credenciales en la nube.
PyPI: wafpass-coreFastAPI REST API con PostgreSQL. Las tiendas funcionan, renuncias, aceptaciones de riesgos, hallazgos secretos y eventos de auditoría completa.
PyPI: servicio de wafpassReactúa el panel web. 22 páginas más de exploración de cumplimiento, exportación de pruebas preparadas por auditores y gestión de funciones de RBAC.
React + ViteDocker Compose: Full Stack
El WAF2p/pass monorepo envía un unificadodocker-compose.yml. Clone una vez, configura tu.env, y traer toda la pila en un solo comando.
| Servicio | URL | Descripción |
|---|---|---|
| wafpass-dashboard | http://localhost:3000 |
Dashboard de reacción |
| wafpass-servidor | http://localhost:8000 |
API REST de FastAPI |
| Keycloak (SSO) | http://localhost:8080 |
proveedor de identidad (admin / admin) |
| postgres | localhost:5432 |
Base de datos PostgreSQL |
Empuja el primer resultado de la exploración:
Ver completo docker-compose.yml
services:
# ── PostgreSQL ────────────────────────────────────────────
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-wafpass}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-wafpass}
POSTGRES_DB: ${POSTGRES_DB:-wafpass}
volumes:
- postgres_data:/var/lib/postgresql/data
- ./keycloak/init.sql:/docker-entrypoint-initdb.d/01-keycloak-db.sql:ro
ports:
- "${POSTGRES_PORT:-5432}:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-wafpass} -d ${POSTGRES_DB:-wafpass}"]
interval: 5s
timeout: 5s
retries: 10
# ── wafpass-server ────────────────────────────────────────
wafpass-server:
build:
context: .
dockerfile: wafpass-server/Dockerfile
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
DATABASE_URL: postgresql+asyncpg://${POSTGRES_USER:-wafpass}:${POSTGRES_PASSWORD:-wafpass}@postgres:5432/${POSTGRES_DB:-wafpass}
WAFPASS_ENV: ${WAFPASS_ENV:-local}
CORS_ORIGINS: ${API_URL:-http://localhost:3000},http://wafpass-dashboard,http://cloud.waf2p
WAFPASS_CONTROLS_DIR: ${WAFPASS_CONTROLS_DIR:-/app/controls}
WAFPASS_JWT_SECRET: ${WAFPASS_JWT_SECRET:-change-me-in-production}
WAFPASS_JWT_EXPIRE_MINUTES: ${WAFPASS_JWT_EXPIRE_MINUTES:-60}
WAFPASS_JWT_REFRESH_DAYS: ${WAFPASS_JWT_REFRESH_DAYS:-7}
WAFPASS_ADMIN_USERNAME: ${WAFPASS_ADMIN_USERNAME:-admin}
WAFPASS_ADMIN_PASSWORD: ${WAFPASS_ADMIN_PASSWORD:-admin}
WAFPASS_ADMIN_ROLE: ${WAFPASS_ADMIN_ROLE:-admin}
WAFPASS_API_KEY: ${WAFPASS_API_KEY:-key}
ports:
- "8000:8000"
# ── Keycloak (SSO / IdP — dev mode) ──────────────────────
keycloak:
image: quay.io/keycloak/keycloak:26.1
command: start-dev
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres:5432/${KEYCLOAK_DB:-keycloak}
KC_DB_USERNAME: ${KEYCLOAK_DB_USER:-keycloak}
KC_DB_PASSWORD: ${KEYCLOAK_DB_PASSWORD:-keycloak}
KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN_USER:-admin}
KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-admin}
KC_HTTP_ENABLED: "true"
KC_HOSTNAME_STRICT: "false"
KC_HEALTH_ENABLED: "true"
ports:
- "${KEYCLOAK_PORT:-8080}:8080"
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:8080/health/ready || exit 1"]
interval: 15s
timeout: 5s
retries: 20
start_period: 60s
# ── wafpass-dashboard ─────────────────────────────────────
wafpass-dashboard:
build:
context: ./wafpass-dashboard
dockerfile: Dockerfile
restart: unless-stopped
depends_on:
- wafpass-server
ports:
- "3000:80"
volumes:
postgres_data:
Instalar componentes individualmente
Instala sólo lo que necesitas. Comience con el CLI para la integración inmediata de CI/CD, luego agregue servidor y dashboard cuando esté listo para la historia persistente y exploración del cumplimiento visual.
El motor de evaluación central - parse IaC, evalúa los controles, genera informes
De PyPI (recomendado)
De la fuente
macOS (Apple M-series)
Capa de persistencia FastAPI — tiendas corre, exenciones, descubrimientos secretos y eventos de auditoría
De PyPI (recomendado)
Configuración y inicio
Docs API disponibles enhttp://localhost:8000/api/docs
React web dashboard — 22 puntos de vista de cumplimiento, exportación de pruebas, RBAC
Bloquea compromisos no compatibles.
WAFPass envía un gancho pre-commit que ejecuta cheques de cumplimiento antes de cadagit commit. Los commits no compatibles se bloquean automáticamente — sin llamada a la nube, sin espera de CI adicional.
Funciona en macOS, Linux y Windows (Git Bash / PowerShell).
Configuración de una sola vez
Levántate y corre.
Descargar controles, ejecutar su primer escaneo y abrir el panel para explorar su postura de cumplimiento.
Los controles WAF++ se publican por separado y se descargan bajo demanda.
- Visitawaf2p.dev/wafpass/
- Haga clicControles de descarga
- Extracto a tu directorio de controles
Punto WAFPass en su código Terraform o CDK y obtener un informe de cumplimiento completo.
Explore su postura de cumplimiento, gestione las exenciones y exporte paquetes de evidencia.
- Abierto
localhost:3000(Docker) olocalhost:5173(dev) - Iniciar sesión con las credenciales de administración de su
.env - Explorar hallazgos, deriva y matriz de cumplimiento
Problemas comunes y correcciones.
Respuestas rápidas a los problemas de configuración más frecuentes.
Controles no encontrados
Siwafpass checkreportes "director de controles no encontrado", el CLI mostrará las instrucciones de descarga automáticamente. Seguir elpost-instalaciónpasos arriba.
Puerto ya en uso
Utilice un puerto diferente para el servidor o el panel:
Errores de conexión de base de datos
Verificar PostgreSQL está funcionando y suDATABASE_URLes correcto:
Docker construye fallas
Asegurar que los tres repositorios sean clonados lado a lado en el mismo directorio padre:
Corriste tu primer cheque. ¿Qué sigue?
Elija el siguiente paso que coincida con su papel: profundizar el conocimiento marco, conectar WAFPass a CI/CD, o explorar el panel visual completo.
Explore los 8 pilares
Comprender el marco WAF+ y los controles detrás de cada pilar.
Leer más "rar " 02Añadir a GitHub Actions
El bloque no compatible se fusiona antes de que lleguen a su rama principal.
Establecer acción " rar; 03Lea el doctor
Referencia CLI, API del servidor, configuración y uso avanzado.
Open docs &rar;