· Twoje pierwsze sprawdzenie za 15 minut

Zacznij odWAFPass

Zainstaluj stos zgodności z open- source WAF++ i uruchom pierwszą ocenę w pięciu etapach. Brak danych o chmurze, brak czarnej skrzynki - tylko analiza statyczna na twoim kodzie.

v1.1.0
WAFPass CLI
8
Filary
83 +
Kontrole
Docker
Gotowe
Apache 2.0
Licencja kodowa
CZERWONY

Od zera do pierwszego czeku w pięciu etapach.

Podążaj drogą numerowaną poniżej. Każdy krok łączy się z sekcją dopasowania, więc nigdy nie stracić orientacji.

Szybki start: pierwszy WAF++ kontrola

Ten poradnik daje gwarantowany wynik. Zainstalujesz WAFPass CLI, pobierz WAF++ steruje, tworzy minimalny plik Terraform, i zobacz WAFPass flaga prawdziwe znalezienie.

1

Wybierz ścieżkę

Do tego korepetycji potrzebujesz tylko CLI. Jeśli chcesz już pełną deskę rozdzielczą + serwer, przejdź doDocker Compositepo pierwszym skanowaniu.

2

Zainstaluj CLI

WAFPass jest publikowany PyPI jakowafpass-core. Python 3.11 + jest zalecane.

bash
$ pip install wafpass- core
$ wafpass -- version
3

Pobierz stery

Pobierz katalog kontrolny WAF++ i wyodrębnij gocontrols/folder obok miejsca, w którym wykonujesz skany.

bash
$ unzip wapp- controls.zip -d controls /
$ Sterowanie jest 124; głowica -5
4

Utwórz minimalny plik Terraform i skanuj go

Zapisz ten celowo niedoskonały przykład jakmain.tf. WAFPass powinien oznaczyć co najmniej jedno znalezisko bezpieczeństwa.

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
$ check wafpass. -- output json index124; jq '.streszczenie'
5

Patrz wyniki

W terminalu można zobaczyć streszczenie takie jak to - jeden FAIL dla publicznego wiadra S3, zgrupowane według filaru i kontroli.

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

Aby zbadać odkrycia wizualnie, uruchomićStos kompozycji dokerówi popchnąć JSON dohttp://localhost:8000/runs.

STACK

Trzy składniki. Jeden strumień pracy w zakresie zgodności.

Zainstaluj tylko CLI dla rurociągów CI / CD, lub dodaj serwer i deskę rozdzielczą do trwałej historii i eksploracji wizualnej.

levpass CLI

Silnik oceny rdzenia. Parses Terraform i AWS CDK, działa w każdym rurociągu CI / CD. Nie potrzeba danych o chmurze.

PyPI: wafpass- core
wafpass- server

FastaPI REST API z PostgreSQL. Sklepy prowadzą, zwalniają, akceptują ryzyko, odkrywają tajemnice, a także prowadzą pełne audyty.

PyPI: serwer wafpass- server
wafpass- dashboard

Reakcja na deskę rozdzielczą. 22 + strony badania zgodności, wywóz gotowych dowodów audytorskich oraz zarządzanie rolą RBAC.

React + Vite
OPCJA A - ZALECANE

Kompozycja dokująca: pełny zestaw

WAF2p / pass Monorepo statków zjednoczonychdocker-compose.yml. Klon raz, skonfigurować.envi wydobyć cały stos jednym poleceniem.

bash
$ git clone https: / / github.com / WAF2p / pass.git
$ cd pass
$ cp .env.example .env
$ # Edit .env - set POSTGRES _ PASSWORD, WAFPASS _ JWT _ SECRET itp.
$ docker komponuje -d
Usługa URL Opis
wafpass- dashboard http://localhost:3000 Reakcja deska rozdzielcza
wafpass- server http://localhost:8000 FASTAPI REST API
Klawiatura (SSO) http://localhost:8080 Dostawca tożsamości (admin / admin)
postgres localhost:5432 Baza danych PostgreSQL

Wciśnij swój pierwszy wynik skanowania:

bash
$ Kontrola wafpass. / infra / -- output json
$ wafpass check. / infra / -- output json index124; curl -s -X POST http: / / localhost: 8000 / runs\
-H "Content- Type: application / json" -d @ -
Widok pełnego docker- comste.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:
Option B - FLEXIBLE

Instalacja poszczególnych komponentów

Zainstaluj tylko to, czego potrzebujesz. Zacznij od CLI dla natychmiastowej integracji CI / CD, a następnie dodaj serwer i deskę rozdzielczą, gdy będziesz gotowy do stałej historii i wizualnej analizy zgodności.

1
Zainstaluj wafpass CLI

Silnik oceny rdzenia - parse IaC, ocena kontroli, generowanie raportów

Z PyPI (zalecane)

bash
$ pip install wafpass- core
$ uv dodaj wafpass- core # polecany dla projektów Python

Od źródła

bash
$ git clone https: / / github.com / WAF2p / pass.git
$ cd pass
$ uv pip install -e. # polecane
$ pip install -e. "[pdf]" # z obsługą raportu PDF
$ pip install -e. "[dev]" # z zależnościami dev

MacOS (seria M- Apple)

bash
$ brew install git python uv
$ git clone https: / / github.com / WAF2p / pass.git & & cd pass
$ uv pip install -e.
$ wafpass -- version # weryfikuj instalację
2
Zainstaluj serwer wafpass-

FastaPI persistence warstwa - sklepy biegi, zwolnienia, odkrycia tajemnic i audyt

Z PyPI (zalecane)

bash
$ ip install wafpass- server
$ uv add wafpass- server # polecany dla projektów Python

Konfiguracja & start

bash
$ cp .env.example .env # set DATABASE _ URL i JWT secret
$ alembic upgrade head # zastosowanie migracji bazy danych
$ uvicorn flavpass _ server.main: app -- reload -- port 8000

Dokumenty API dostępne pod adresemhttp://localhost:8000/api/docs

3
Zainstaluj tablicę rozdzielczą

React web deska rozdzielcza - 22 + widoki zgodności, eksport dowodów, RBAC

bash
$ git clone https: / / github.com / WAF2p / flofpass- dashboard.git
$ cd wafpass- dashboard
$ npm install
$ cp .env.example .env.local # set VITE _ API _ URL
$ npm run dev # dev server at http: / / localhost: 5173
$ npm run build # production build
PRZEWODNICZĄCY HOOK

Blokuj niezgodne zobowiązania.

WaFPass statków haczyk pre-commit, który przeprowadza kontrole zgodności przed każdymgit commit. Niezgodne commits są blokowane automatycznie - brak połączenia w chmurze, brak dodatkowego CI czekać.

Działa na MacOS, Linux i Windows (Git Bash / PowerShell).

Ustawienie czasu jednego

bash
$ haki bash / install.sh # macOS / Linux / Git Bash
$ .\ hacks\ install.ps1 # Windows PowerShell
POST- INSTALACJA

Wstawaj i biegnij.

Pobierz kontrolę, uruchom pierwszy skan i otwórz deskę rozdzielczą, aby sprawdzić swoją postawę zgodności.

1. Kontrola pobierania

Kontrole WAF++ są publikowane oddzielnie i pobierane na żądanie.

  1. Wizytawafe2p.dev / wafepass /
  2. KliknijKontrola pobierania
  3. Wyciąg do katalogu kontrolerów
bash
$ git clone https: / / github.com / WAF2p / framework.git
$ cp framework / modules / controls / controls / * .yml controls /
2. Uruchom swój pierwszy skaner

Punkt WAFPass na Terraform lub kod CDK i uzyskać pełny raport zgodności.

bash
$ Kontrola przepustki.
$ kontrola wafpass. / infra / -- output pdf\
--pdf- out report.pdf
3. Otwórz deskę rozdzielczą

Poznaj swoją postawę zgodności, zarządzania zrzeczenia się, i eksportu pakietów dowodów.

  1. Otwórzlocalhost:3000(Docker) lublocalhost:5173dev)
  2. Zaloguj się z referencjami administratora.env
  3. Badanie wyników, dryfowania i matrycy zgodności
TRUBLESTING

Wspólne problemy i poprawki.

Szybkie odpowiedzi na najczęstsze problemy z ustawieniami.

Nie znaleziono kontroli

Jeśliwafpass checkraportuje "nie znaleziono katalogu kontrolnego", CLI automatycznie wyświetla instrukcje pobierania. Podążaj zapo instalacjikroki powyżej.

Port już w użyciu

Użyj innego portu dla serwera lub deski rozdzielczej:

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

Błąd połączenia z bazą danych

Weryfikacja działa PostgreSQL i TwójDATABASE_URLjest poprawny:

$ psql $DATABASE _ URL -c "SELECT 1"

Niepowodzenie budowy dokerów

Upewnij się, że wszystkie trzy repozytoria są sklonowane bocznie w tym samym katalogu macierzystym:

$ s -1
pass /
wafpass- server /
deska rozdzielcza /
KONTYNUE TRZECIA CZARNA

Przepuściłeś swój pierwszy czek. Co dalej?

Wybierz kolejny krok, który pasuje do twojej roli: pogłębić wiedzę ramową, przekierować WAFPass do CI / CD, lub zbadać pełną wizualną deskę rozdzielczą.