Começar comWAFPass
Instale a pilha de conformidade WAF++ de código aberto e execute sua primeira avaliação em cinco etapas. Sem credenciais de nuvem, sem caixa preta — apenas análise estática em sua Infraestrutura-como-Código.
De zero a seu primeiro cheque em cinco passos.
Siga o caminho numerado abaixo. Cada passo links para a seção correspondente para que você nunca perca a orientação.
Início rápido: seu primeiro WAF++ verificar
Este tutorial lhe dá um resultado garantido. Você vai instalar o WAFPass CLI, baixar o WAF++ controla, cria um arquivo Terraform mínimo, e veja WAFPass sinalizando um achado real.
Escolha o seu caminho
Para este tutorial você só precisa do CLI. Se você já quer o painel completo + servidor, saltar paraAcoplamento Comporapós o primeiro exame.
Instalar o CLI
WAFPass é publicado à PyPI comowafpass-core. Python 3.11+ é recomendado.
Obter os controles
Baixe o catálogo de controles WAF++ e extraia-o em umcontrols/pasta ao lado de onde você executa scans.
Criar um arquivo Terraform mínimo e digitalizá-lo
Salve este exemplo deliberadamente imperfeito comomain.tfO WAFPass deve indicar pelo menos uma descoberta de segurança.
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
}
Veja os resultados
No terminal você verá um resumo como este — um FAIL para o balde público S3, agrupados por pilar e controle.
{
"total_controls": 83,
"passed": 81,
"failed": 2,
"pillars": {
"security": { "passed": 18, "failed": 2 }
}
}
Para explorar as descobertas visualmente, execute oAcoplagem Compor pilhae empurrar o JSON parahttp://localhost:8000/runs.
Duas maneiras de gerir o WAFPass.
Comece com o CLI para a primeira varredura mais rápida, ou implante a pilha completa se você precisar de persistência, histórico e um painel visual.
Acoplagem Compor pilha
CLI + Servidor + Painel + PostgreSQL + Keycloak em um comando. O melhor para equipas, auditores e quem quiser um histórico de conformidade persistente.
Configuração completa da pilha → Mais rápidoApenas CLI
Instalarwafpass-coredo PyPI e executar verificações diretamente em seu terminal ou pipeline CI. Adicionar servidor e painel mais tarde quando você precisar deles.
Três componentes. Um fluxo de trabalho de conformidade.
Instale apenas o CLI para pipelines CI/CD, ou adicione o servidor e painel para histórico persistente e exploração visual.
Motor de avaliação principal. Processa Terraform e AWS CDK, roda em qualquer pipeline CI/CD. Não são necessárias credenciais de nuvem.
PyPI: wafpass-coreAPI REST FastAPI com PostgreSQL. As lojas são executadas, dispensas, aceitação de riscos, descobertas secretas e eventos de auditoria completos.
PyPI: servidor wafpassReagir painel web. 22+ páginas de exploração de conformidade, exportação de evidências prontas para auditor e gerenciamento de funções RBAC.
Reagir + ViteAdornador Compor: pilha completa
O monorepo WAF2p/pass envia uma unidadedocker-compose.yml. Clone uma vez, configure seu.env, e trazer toda a pilha em um único comando.
| Serviço | URL | Designação das mercadorias |
|---|---|---|
| wafpass-dashboard | http://localhost:3000 |
Reagir painel |
| servidor wafpass | http://localhost:8000 |
API FastAPI REST |
| Keycloak (SSO) | http://localhost:8080 |
Fornecedor de identidade (administrador / administrador) |
| pós-gres | localhost:5432 |
Base de dados PostgreSQL |
Empurre o seu primeiro resultado de digitalização:
Ver docker-compose.yml completo
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
Instale apenas o que você precisa. Comece com o CLI para integração CI/CD imediata, depois adicione servidor e painel quando estiver pronto para exploração persistente de histórico e conformidade visual.
O motor de avaliação do núcleo — analisar a IaC, avaliar os controlos, gerar relatórios
De PyPI (recomendado)
De origem
macOS (série M da maçã)
Camada de persistência FastAPI — lojas roda, renúncias, descobertas secretas e eventos de auditoria
De PyPI (recomendado)
Configurar o início do &
Documentos API disponíveis emhttp://localhost:8000/api/docs
Reagir painel web — 22+ visualizações de conformidade, exportação de provas, RBAC
Bloquear commits não conformes.
WAFPass envia um gancho pré-compromisso que executa verificações de conformidade antes de cadagit commit. Commits não conformes são bloqueados automaticamente — nenhuma chamada na nuvem, nenhuma espera de CI extra.
Funciona em macOS, Linux e Windows (Git Bash / PowerShell).
Configuração única
Levanta-te e corre.
Baixe controles, execute sua primeira varredura e abra o painel para explorar sua postura de conformidade.
Os controles WAF++ são publicados separadamente e baixados sob demanda.
- Visitawaf2p.dev/wafpass/
- CliqueDownload Controls
- Extrair para o seu diretório de controles
Aponte WAFPass em seu código Terraform ou CDK e obtenha um relatório completo de conformidade.
Explore sua postura de conformidade, gerencie renúncias e exporte pacotes de evidências.
- Abrir
localhost:3000(Docker) oulocalhost:5173(dev) - Login com credenciais de administrador de seu
.env - Explore descobertas, deriva e matriz de conformidade
Problemas comuns & corrigidos.
Respostas rápidas aos problemas de configuração mais frequentes.
Controlos não encontrados
Sewafpass checkrelatórios "controla diretório não encontrado", o CLI irá exibir instruções de download automaticamente. Seguir opós- instalaçãoPassos acima.
Porta já em uso
Use uma porta diferente para o servidor ou painel:
Erros de ligação à base de dados
Verificar o PostgreSQL em execução e o seuDATABASE_URLestá correcto:
Falha na compilação do Docker
Garantir que todos os três repositórios são clonados lado a lado no mesmo diretório pai:
Fizeste a tua primeira verificação. E agora?
Escolha o próximo passo que corresponda ao seu papel: aprofundar o conhecimento do framework, ligar WAFPass em CI/CD ou explorar o painel visual completo.
Explore os 8 pilares
Compreenda o framework WAF++ e os controles por trás de cada pilar.
Ler mais → 02Adicionar às Acções do GitHub
Bloqueie mesclagens não conformes antes que elas cheguem ao seu branch principal.
Configurar a ação → 03Ler os documentos
Referência CLI, API do servidor, configuração e uso avançado.
Abrir os documentos →