Iniziare conWAFPass
Installare lo stack di conformità WAF++ open source ed eseguire la prima valutazione in cinque passaggi. Nessuna credenziali cloud, nessuna scatola nera — solo analisi statica sul tuo Infrastructure-as-Code.
Da zero al primo assegno in cinque passi.
Seguire il percorso numerato qui sotto. Ogni passo si collega alla sezione corrispondente in modo da non perdere mai l'orientamento.
Inizio rapido: il tuo primo WAF++ Verifica
Questo tutorial ti dà un risultato garantito. Installerai il WAFPass CLI, scarica il WAF++ controlli, creare un file Terraform minimale e vedere la bandiera WAFPass un vero e proprio risultato.
Scegli il tuo percorso
Per questo tutorial hai solo bisogno del CLI. Se si desidera già il cruscotto completo + server, saltare aDocker Composedopo la prima scansione.
Installare il CLI
WAFPass è pubblicato su PyPI comewafpass-core. Python 3.11+ è raccomandato.
Ottieni i controlli
Scarica il catalogo dei controlli WAF++ ed estrarlo in uncontrols/cartella accanto a dove si esegue le scansioni.
Creare un file Terraform minimale e scansionarlo
Salvare questo esempio deliberatamente imperfetto comemain.tf. WAFPass dovrebbe contrassegnare almeno un rilevamento di sicurezza.
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
}
Vedi i risultati
Nel terminal si vedrà un riassunto come questo — un FAIL per il secchio S3 pubblico, raggruppato per pilastro e controllo.
{
"total_controls": 83,
"passed": 81,
"failed": 2,
"pillars": {
"security": { "passed": 18, "failed": 2 }
}
}
Per esplorare i risultati visivamente, eseguire ilDocker Compose stacke spingere il JSON ahttp://localhost:8000/runs.
Due modi per eseguire WAFPass.
Iniziare con il CLI per la prima scansione più veloce, o distribuire lo stack completo se avete bisogno di persistenza, storia e un cruscotto visivo.
Docker Compose stack
CLI + Server + Dashboard + PostgreSQL + Keycloak in un unico comando. Meglio per squadre, revisori e chiunque voglia una storia di conformità persistente.
Configurazione stack completo → Più veloceCLI solo
Installazionewafpass-coreda PyPI e eseguire controlli direttamente nel terminale o CI pipeline. Aggiungi Server e Dashboard più tardi quando ne hai bisogno.
Tre componenti. Un flusso di lavoro di conformità.
Installare solo il CLI per le pipeline CI/CD, o aggiungere il server e il cruscotto per la storia persistente e l'esplorazione visiva.
Motore di valutazione core. Parses Terraform e AWS CDK, funziona in qualsiasi pipeline CI/CD. Nessuna credenziali cloud necessaria.
PyPI: wafpass-coreAPI REST FastAPI con PostgreSQL. Negozi corre, rinuncia, accettazione dei rischi, i risultati segreti e gli eventi di audit completi.
PyPI: wafpass-serverReagisci cruscotto web. 22+ pagine di esplorazione di conformità, esportazione di prove revisori e gestione del ruolo RBAC.
Reazione + ViteDocker Compose: Full Stack
Il WAF2p/pass monorepo spedisce unificatodocker-compose.yml. Clone una volta, configurare il.env, e portare l'intero stack in un unico comando.
| Servizio | URL pagina | Descrizione |
|---|---|---|
| wafpass-dashboard | http://localhost:3000 |
Reagisci cruscotto |
| wafpass-server | http://localhost:8000 |
API REST di FastAPI |
| Portachiavi (SSO) | http://localhost:8080 |
Fornitore di identità (admin / admin) |
| Postgres | localhost:5432 |
Database PostgreSQL |
Spingere il primo risultato della scansione:
Visualizza tutto 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:
Installare i componenti singolarmente
Installare solo ciò di cui hai bisogno. Inizia con il CLI per l'integrazione immediata CI/CD, quindi aggiungi server e dashboard quando sei pronto per la storia persistente e l'esplorazione della conformità visiva.
Il motore di valutazione del nucleo — parse IaC, valutare i controlli, generare report
Da PyPI (consigliato)
Dalla fonte
macOS (Apple M-series)
FastAPI strato di persistenza — i negozi corre, waivers, i risultati segreti e gli eventi di audit
Da PyPI (consigliato)
Configure & start
API docs disponibili ahttp://localhost:8000/api/docs
React web cruscotto — 22+ opinioni di conformità, esportazione di prove, RBAC
Blocca commit non conformi.
WAFPass spedisce un gancio pre-commesso che esegue controlli di conformità prima di ognigit commit. I commit non conformi sono bloccati automaticamente — nessuna chiamata cloud, nessuna attesa CI supplementare.
Funziona su macOS, Linux e Windows (Git Bash / PowerShell).
Configurazione di una volta
Alzati e scappa.
Scarica i controlli, esegui la tua prima scansione e apri la dashboard per esplorare la tua postura di conformità.
I controlli WAF++ vengono pubblicati separatamente e scaricati su richiesta.
- Visitawaf2p.dev/wafpass/
- Fare clicScarica Controlli
- Estrai nella tua directory di controllo
Punta WAFPass al tuo codice Terraform o CDK e ottieni un rapporto completo di conformità.
Esplora la tua postura di conformità, gestisci i waivers e esporta i pacchetti di prove.
- Apri
localhost:3000(Docker) olocalhost:5173(dev) - Accedi con le credenziali di amministratore dal tuo
.env - Esplora i risultati, la deriva e la matrice di conformità
Problemi e correzioni comuni.
risposte rapide ai problemi di configurazione più frequenti.
Controlli non trovati
Sewafpass checkreport "controls directory not found", il CLI visualizzerà automaticamente le istruzioni per il download. Seguire ilpost-installazionepassi sopra.
Porto già in uso
Utilizzare una porta diversa per il server o il cruscotto:
Errori di connessione del database
Verifica che PostgreSQL sia in esecuzione e il tuoDATABASE_URLè corretto:
Docker build fallisce
Assicurarsi che tutti e tre i repository siano clonati fianco a fianco nella stessa directory principale:
Hai fatto il tuo primo assegno. E dopo?
Scegli il passo successivo che corrisponde al tuo ruolo: approfondire la conoscenza del framework, collegare WAFPass in CI/CD, o esplorare il cruscotto visivo completo.
Esplora gli 8 pilastri
Comprendere il quadro WAF++ e i controlli dietro ogni pilastro.
Leggi tutto → 02Aggiungi a GitHub Azioni
Blocca le unioni non conformi prima che raggiungano il tuo ramo principale.
Impostare l'azione → 03Leggi i documenti
Riferimento CLI, API server, configurazione e utilizzo avanzato.
Open docs →