Installation
PRX-WAF unterstützt drei Installationsmethoden. Wählen Sie die, die am besten zu Ihrem Workflow passt.
Empfohlen
Docker Compose ist der schnellste Weg für den Einstieg. Es startet PRX-WAF, PostgreSQL und die Admin-UI mit einem einzigen Befehl.
Voraussetzungen
| Anforderung | Minimum | Hinweise |
|---|---|---|
| Betriebssystem | Linux (x86_64, aarch64), macOS (12+) | Windows via WSL2 |
| PostgreSQL | 16+ | Im Docker Compose enthalten |
| Rust (nur Quellcode-Build) | 1.82.0 | Nicht benötigt für Docker-Installation |
| Node.js (nur Admin-UI-Build) | 18+ | Nicht benötigt für Docker-Installation |
| Docker | 20.10+ | Oder Podman 3.0+ |
| Festplattenspeicher | 500 MB | ~100 MB Binärdatei + ~400 MB PostgreSQL-Daten |
| RAM | 512 MB | 2 GB+ empfohlen für Produktion |
Methode 1: Docker Compose (Empfohlen)
Repository klonen und alle Dienste mit Docker Compose starten:
git clone https://github.com/openprx/prx-waf
cd prx-waf
# Umgebungsvariablen in docker-compose.yml überprüfen und bearbeiten
# (Datenbankpasswort, Admin-Anmeldedaten, Lausch-Ports)
docker compose up -dDies startet drei Container:
| Container | Port | Beschreibung |
|---|---|---|
prx-waf | 80, 443 | Reverse-Proxy (HTTP + HTTPS) |
prx-waf | 9527 | Admin-API + Vue 3 UI |
postgres | 5432 | PostgreSQL 16-Datenbank |
Bereitstellung verifizieren:
# Container-Status prüfen
docker compose ps
# Health-Endpunkt prüfen
curl http://localhost:9527/healthDie Admin-UI unter http://localhost:9527 öffnen und sich mit den Standard-Anmeldedaten anmelden: admin / admin.
Standard-Passwort ändern
Das Standard-Admin-Passwort sofort nach der ersten Anmeldung ändern. Gehen Sie zu Einstellungen > Konto in der Admin-UI oder verwenden Sie die API.
Docker Compose mit Podman
Wenn Sie Podman anstelle von Docker verwenden:
podman-compose up -d --buildPodman DNS
Bei der Verwendung von Podman ist die DNS-Resolver-Adresse für die Inter-Container-Kommunikation 10.89.0.1 anstatt Dockers 127.0.0.11. Die enthaltene docker-compose.yml handhabt dies automatisch.
Methode 2: Cargo-Installation
Wenn Sie Rust installiert haben, können Sie PRX-WAF aus dem Repository installieren:
git clone https://github.com/openprx/prx-waf
cd prx-waf
cargo build --releaseDie Binärdatei befindet sich unter target/release/prx-waf. In Ihren PATH kopieren:
sudo cp target/release/prx-waf /usr/local/bin/prx-wafBuild-Abhängigkeiten
Cargo-Build kompiliert native Abhängigkeiten. Unter Debian/Ubuntu benötigen Sie möglicherweise:
sudo apt install -y build-essential pkg-config libssl-devUnter macOS sind Xcode Command Line Tools erforderlich:
xcode-select --installDatenbank-Einrichtung
PRX-WAF benötigt eine PostgreSQL 16+-Datenbank:
# Datenbank und Benutzer erstellen
createdb prx_waf
createuser prx_waf
# Migrationen ausführen
./target/release/prx-waf -c configs/default.toml migrate
# Standard-Admin-Benutzer erstellen (admin/admin)
./target/release/prx-waf -c configs/default.toml seed-adminServer starten
./target/release/prx-waf -c configs/default.toml runDies startet den Reverse-Proxy auf den Ports 80/443 und die Admin-API auf Port 9527.
Methode 3: Aus dem Quellcode erstellen (Entwicklung)
Für Entwicklung mit Live-Reload der Admin-UI:
git clone https://github.com/openprx/prx-waf
cd prx-waf
# Rust-Backend erstellen
cargo build
# Admin-UI erstellen
cd web/admin-ui
npm install
npm run build
cd ../..
# Entwicklungsserver starten
cargo run -- -c configs/default.toml runAdmin-UI für Produktion erstellen
cd web/admin-ui
npm install
npm run buildDie erstellten Dateien werden bei der Kompilierung in die Rust-Binärdatei eingebettet und vom API-Server bereitgestellt.
systemd-Dienst
Für Produktionsbereitstellungen auf Bare-Metal einen systemd-Dienst erstellen:
# /etc/systemd/system/prx-waf.service
[Unit]
Description=PRX-WAF Web Application Firewall
After=network.target postgresql.service
[Service]
Type=simple
User=prx-waf
ExecStart=/usr/local/bin/prx-waf -c /etc/prx-waf/config.toml run
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetsudo systemctl enable --now prx-waf
sudo systemctl status prx-wafInstallation verifizieren
Nach der Installation verifizieren, dass PRX-WAF läuft:
# Health-Endpunkt prüfen
curl http://localhost:9527/health
# Admin-UI prüfen
curl -s http://localhost:9527 | head -5In der Admin-UI unter http://localhost:9527 anmelden, um zu überprüfen, ob das Dashboard korrekt lädt.
Nächste Schritte
- Schnellstart -- Ihre erste Anwendung in 5 Minuten schützen
- Konfiguration -- PRX-WAF-Einstellungen anpassen
- Regel-Engine -- Erkennungspipeline verstehen