Onboarding · Uw eerste check in 15 minuten

Beginnen metWAFPass

Installeer de open-source WAF++ compliance stack en voer uw eerste beoordeling uit in vijf stappen. Geen cloudgegevens, geen black box... alleen statische analyse van je infrastructuur.

v11,0
WAFPASS CLI
8
Pijlers
83+
Controles
Docker
Opstellen klaar
Apache 2.0
Codelicentie
ROOD

Van nul tot je eerste cheque in vijf stappen.

Volg het genummerde pad hieronder. Elke stap links naar de bijbehorende sectie zodat je nooit de oriรซntatie verliezen.

Snel starten: uw eerste WAF++ controleren

Deze tutorial geeft u een gegarandeerd resultaat. U installeert de WAFPass CLI, download de WAF++ controle, maak een minimaal Terraform bestand, en zie WAFPass vlag een echte vondst.

1

Uw pad kiezen

Voor deze les heb je alleen de CLI nodig. Als u al het volledige dashboard + server wilt, spring dan naarDocker samenstellenna de eerste scan.

2

Installeer de CLI

WAFPass wordt gepubliceerd aan PyPI alswafpass-core. Python 3.11+ wordt aanbevolen.

bash
$ pip installeren wafpass-core
$ wafpass --versie
3

Haal de besturing.

Download de WAF++ besturingscatalogus en haal het uit in eencontrols/map naast waar u scans uitvoert.

bash
$ unzip wafpp-controls.zip -d bedieningsorganen/
$ ls bedieningsorganen/hoofd -5
4

Maak een minimaal Terraform bestand en scan het

Bewaar dit opzettelijk onvolmaakte voorbeeld alsmain.tf. WAFPass moet ten minste รฉรฉn veiligheidsonderzoek markeren.

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
}
bash
$ wafpass check . --output json jq '.samenvatting'
5

Zie de resultaten

In de terminal ziet u een samenvatting als deze

{
  "total_controls": 83,
  "passed": 81,
  "failed": 2,
  "pillars": {
    "security": { "passed": 18, "failed": 2 }
  }
}

Om bevindingen visueel te onderzoeken, voer deStack samenstellenen duw de JSON naarhttp://localhost:8000/runs.

DE STAND

Drie componenten. Eรฉn compliance workflow.

Installeer alleen de CLI voor CI/CD pijpleidingen, of voeg de server en dashboard voor aanhoudende geschiedenis en visuele exploratie.

wafpass CLI

Kern evaluatie motor. Parses Terraform en AWS CDK, loopt in elke CI/CD pijpleiding. Geen cloudgegevens nodig.

PyPI: wafpass-core
wafpass-server

FastAPI REST API met PostgreSQL. Winkels draait, ontheffingen, risicoacceptaties, geheimen bevindingen, en volledige audit evenementen.

PyPI: wafpass-server
wafpass-dashboard

Reageer web dashboard. 22+ pagina's van compliance exploratie, auditor-ready bewijs export, en RBAC role management.

Reageren + Vite
OPTIE A AANVAARD

Docker samenstelling: Volledige Stack

De WAF2p/pass monorepo schepen een verenigddocker-compose.ymlKloon eenmaal, configureer uw.env, en breng de hele stapel in รฉรฉn commando.

bash
$ Git clone https://github.com/WAF2p/pass.git
$ cd-pass
$ cp .env.example .env
$ # Bewerken .env
$ docker componeert -d
Dienst URL Omschrijving
wafpass-dashboard http://localhost:3000 Nagaan dashboard
wafpass-server http://localhost:8000 FastAPI REST API
Sleutelmantel (SSO) http://localhost:8080 Identiteitsprovider (admin / admin)
postgres localhost:5432 PostgreSQL database

Druk op uw eerste scan resultaat:

bash
$ wafpass check ./infra/ --output json
$ wafpass check ./infra/ --output json
-H "Content-Type: application/json" -d @-
Bekijk volledige 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:
OPTIE B - FLEXIBLE

Onderdelen individueel installeren

Installeer alleen wat je nodig hebt. Begin met de CLI voor onmiddellijke CI/CD integratie, voeg dan server en dashboard toe wanneer u klaar bent voor aanhoudende geschiedenis en visuele compliance exploratie.

1
Wafpass CLI installeren

De kern evaluatie-engine ontleden IaC, evalueren controles, genereren rapporten

Van PyPI (aanbevolen)

bash
$ pip installeren wafpass-core
$ uv toe te voegen wafpass-core # aanbevolen voor Python projecten

Van bron

bash
$ Git clone https://github.com/WAF2p/pass.git
$ cd-pass
$ uv pip installatie -e . # aanbevolen
$ pip install -e ".[pdf]" # met ondersteuning voor PDF-rapport
$ pip install -e ".[dev]" # met dev afhankelijkheden

macOS (Apple M-serie)

bash
$ brew install git python uv
$ Git clone https://github.com/WAF2p/pass.git && cd pass
$ uv pip install -e .
$ wafpass --version # de installatie verifiรซren
2
Wafpass-server installeren

FastAPI persistention layer Winkels draait, ontheffingen, geheimen bevindingen, en audit evenementen

Van PyPI (aanbevolen)

bash
$ pip installatie wafpass-server
$ uv wafpass-server toevoegen # aanbevolen voor Python-projecten

& start instellen

bash
$ cp .env.example .env # set DATABASE URL and JWT secret
$ almbische upgrade head # database migraties toepassen
$ uvicorn wafpass server.main:app --reload --port 8000

API docs beschikbaar ophttp://localhost:8000/api/docs

3
Wafpass-dashboard installeren

Webdashboard reacteren 22+ compliance views, bewijsexport, RBAC

bash
$ Git clone https://github.com/WAF2p/wafpass-dashboard.git
$ cd wafpass-dashboard
$ npm installatie
$ cp .env.example .env.local # set VITE API URL
$ npm run dev # dev server op http://localhost:5173
$ npm run build # production build
PRE-COMMIT HOOK

Blokkeer niet-conforme commits.

WAFPass schepen een pre-commit haak die de naleving controles voor elkegit commit. Niet-conforme commits worden automatisch geblokkeerd

Werkt op macOS, Linux en Windows (Git Bash / PowerShell).

Eenmalige installatie

bash
$ bash hooks/install.sh # macOS / Linux / Git Bash
$ .\haaks\install.ps1 # Windows PowerShell
POST-INSTALERING

Opstaan en lopen.

Download controles, voer uw eerste scan uit, en open het dashboard om uw compliance houding te verkennen.

1. Download Controls

WAF++ controles worden apart gepubliceerd en op aanvraag gedownload.

  1. Bezoekwaf2p.dev/wafpass/
  2. KlikDownloadbeheer
  3. Uitpakken naar uw controlemap
bash
$ Git clone https://github.com/WAF2p/framework.git
$ cp framework/modules/controls/controls/*.yml bedieningsorganen/
2. Voer uw eerste scan

Richt WAFPass op uw Terraform of CDK-code en ontvang een volledig nalevingsrapport.

bash
$ wafpass check ./infra/
$ wafpass check ./infra/ --output pdf \
--pdf-out report.pdf
3. Open het Dashboard

Verken uw compliance houding, beheer ontheffingen, en export bewijs pakketten.

  1. Openlocalhost:3000(Dokter) oflocalhost:5173(dev)
  2. Log in met admin-gegevens van uw.env
  3. Ontdek bevindingen, drift, en compliance matrix
PROBLEMEN

Gemeenschappelijke kwesties & oplossingen.

Snelle antwoorden op de meest voorkomende setup problemen.

Controles niet gevonden

Alswafpass checkmeldt "controls directory not found," de CLI zal download instructies automatisch weergeven. Volg dena installatieStappen boven.

Poort is al in gebruik

Gebruik een andere poort voor de server of het dashboard:

$ uvicorn wafpass server.main:app --port 8001
$ npm run dev -- --port 5174

Databaseverbindingsfouten

Controleer PostgreSQL loopt en uwDATABASE_URLcorrect is:

$ psql $DATABASE URL -c "SELECT 1"

Docker bouwen mislukt

Zorg ervoor dat alle drie de repositories naast elkaar gekloond worden in dezelfde oudermap:

$ ls -1
pass /
wafpass-server/
wafpass-dashboard/
Voortzetten van de rode thread

Je hebt je eerste controle gedaan. Wat nu?

Kies de volgende stap die past bij uw rol: verdiepen van de framework kennis, draad WAFPass in CI/CD, of verkennen van het volledige visuele dashboard.