Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Konfigurationsreferenz

Diese Seite dokumentiert jeden Konfigurationsschlüssel in der PRX-WAF TOML-Konfigurationsdatei. Die Standardkonfigurationsdatei ist configs/default.toml.

Proxy-Einstellungen ([proxy])

Einstellungen, die den Reverse-Proxy-Listener steuern.

SchlüsselTypStandardBeschreibung
listen_addrstring"0.0.0.0:80"HTTP-Listener-Adresse
listen_addr_tlsstring"0.0.0.0:443"HTTPS-Listener-Adresse
worker_threadsinteger | nullnull (CPU-Anzahl)Anzahl der Proxy-Worker-Threads. Bei null wird die Anzahl der logischen CPU-Kerne verwendet.

API-Einstellungen ([api])

Einstellungen für die Management-API und Admin-UI.

SchlüsselTypStandardBeschreibung
listen_addrstring"127.0.0.1:9527"Admin-API + UI-Listener-Adresse. In der Produktion an 127.0.0.1 binden, um den Zugriff auf localhost zu beschränken.

Speicher-Einstellungen ([storage])

PostgreSQL-Datenbankverbindung.

SchlüsselTypStandardBeschreibung
database_urlstring"postgresql://prx_waf:[email protected]:5432/prx_waf"PostgreSQL-Verbindungs-URL
max_connectionsinteger20Maximale Anzahl von Datenbankverbindungen im Pool

Cache-Einstellungen ([cache])

Antwort-Caching-Konfiguration mit einem In-Memory-moka-LRU-Cache.

SchlüsselTypStandardBeschreibung
enabledbooleantrueAntwort-Caching aktivieren
max_size_mbinteger256Maximale Cache-Größe in Megabyte
default_ttl_secsinteger60Standard-Time-to-Live für gecachte Antworten (Sekunden)
max_ttl_secsinteger3600Maximale TTL-Begrenzung (Sekunden). Antworten können unabhängig von Upstream-Headern nicht länger gecacht werden.

HTTP/3-Einstellungen ([http3])

HTTP/3 via QUIC (Quinn-Bibliothek).

SchlüsselTypStandardBeschreibung
enabledbooleanfalseHTTP/3-Unterstützung aktivieren
listen_addrstring"0.0.0.0:443"QUIC-Listener-Adresse (UDP)
cert_pemstring--Pfad zum TLS-Zertifikat (PEM-Format)
key_pemstring--Pfad zum privaten TLS-Schlüssel (PEM-Format)

WARNING

HTTP/3 erfordert gültige TLS-Zertifikate. Sowohl cert_pem als auch key_pem müssen gesetzt sein, wenn enabled = true.

Sicherheitseinstellungen ([security])

Admin-API- und Proxy-Sicherheitskonfiguration.

SchlüsselTypStandardBeschreibung
admin_ip_allowliststring[][]Liste der IPs/CIDRs, die auf die Admin-API zugreifen dürfen. Leer bedeutet alle zulassen.
max_request_body_bytesinteger10485760 (10 MB)Maximale Anfrage-Body-Größe in Bytes. Anfragen, die dies überschreiten, werden mit 413 abgelehnt.
api_rate_limit_rpsinteger0Pro-IP-Ratenbegrenzung für die Admin-API (Anfragen pro Sekunde). 0 bedeutet deaktiviert.
cors_originsstring[][]CORS-erlaubte Origins für die Admin-API. Leer bedeutet alle Origins zulassen.

Regel-Einstellungen ([rules])

Regel-Engine-Konfiguration.

SchlüsselTypStandardBeschreibung
dirstring"rules/"Verzeichnis mit Regeldateien
hot_reloadbooleantrueDateisystemüberwachung für automatischen Regel-Reload aktivieren
reload_debounce_msinteger500Entprellfenster für Dateiänderungsereignisse (Millisekunden)
enable_builtin_owaspbooleantrueEingebaute OWASP CRS-Regeln aktivieren
enable_builtin_botbooleantrueEingebaute Bot-Erkennungsregeln aktivieren
enable_builtin_scannerbooleantrueEingebaute Scanner-Erkennungsregeln aktivieren

Regelquellen ([[rules.sources]])

Mehrere Regelquellen konfigurieren (lokale Verzeichnisse oder Remote-URLs):

SchlüsselTypErforderlichBeschreibung
namestringJaQuellenname (z.B. "custom", "owasp-crs")
pathstringNeinLokaler Verzeichnispfad
urlstringNeinRemote-URL für das Abrufen von Regeln
formatstringJaRegelformat: "yaml", "json" oder "modsec"
update_intervalintegerNeinAuto-Update-Intervall in Sekunden (nur Remote-Quellen)
toml
[[rules.sources]]
name   = "custom"
path   = "rules/custom/"
format = "yaml"

[[rules.sources]]
name            = "owasp-crs"
url             = "https://example.com/rules/owasp.yaml"
format          = "yaml"
update_interval = 86400

CrowdSec-Einstellungen ([crowdsec])

CrowdSec-Bedrohungsgeheimdienst-Integration.

SchlüsselTypStandardBeschreibung
enabledbooleanfalseCrowdSec-Integration aktivieren
modestring"bouncer"Integrationsmodus: "bouncer", "appsec" oder "both"
lapi_urlstring"http://127.0.0.1:8080"CrowdSec LAPI-URL
api_keystring""Bouncer-API-Schlüssel
update_frequency_secsinteger10Aktualisierungsintervall des Entscheidungscaches (Sekunden)
fallback_actionstring"allow"Aktion, wenn LAPI nicht erreichbar ist: "allow", "block" oder "log"
appsec_endpointstring--AppSec-HTTP-Inspektions-Endpunkt-URL (optional)
appsec_keystring--AppSec-API-Schlüssel (optional)

Host-Konfiguration ([[hosts]])

Statische Host-Einträge (können auch über Admin-UI/API verwaltet werden):

SchlüsselTypErforderlichBeschreibung
hoststringJaZu matchender Domainname
portintegerJaLausch-Port (üblicherweise 80 oder 443)
remote_hoststringJaUpstream-Backend-IP oder Hostname
remote_portintegerJaUpstream-Backend-Port
sslbooleanNeinHTTPS zum Upstream verwenden (Standard: false)
guard_statusbooleanNeinWAF-Schutz aktivieren (Standard: true)

Cluster-Einstellungen ([cluster])

Multi-Knoten-Cluster-Konfiguration. Siehe Cluster-Modus für Details.

SchlüsselTypStandardBeschreibung
enabledbooleanfalseCluster-Modus aktivieren
node_idstring"" (auto)Eindeutiger Knotenbezeichner. Wird automatisch generiert, wenn leer.
rolestring"auto"Knotenrolle: "auto", "main" oder "worker"
listen_addrstring"0.0.0.0:16851"QUIC-Lausch-Adresse für Inter-Knoten-Kommunikation
seedsstring[][]Seed-Knoten-Adressen für Cluster-Beitritt

Cluster-Krypto ([cluster.crypto])

SchlüsselTypStandardBeschreibung
ca_certstring--Pfad zum CA-Zertifikat (PEM)
ca_keystring--Pfad zum privaten CA-Schlüssel (nur Main-Knoten)
node_certstring--Pfad zum Knotenzertifikat (PEM)
node_keystring--Pfad zum privaten Knotenschlüssel (PEM)
auto_generatebooleantrueZertifikate beim ersten Start automatisch generieren
ca_validity_daysinteger3650CA-Zertifikatsgültigkeit (Tage)
node_validity_daysinteger365Knotenzertifikatsgültigkeit (Tage)
renewal_before_daysinteger7So viele Tage vor Ablauf automatisch erneuern

Cluster-Sync ([cluster.sync])

SchlüsselTypStandardBeschreibung
rules_interval_secsinteger10Regel-Versions-Check-Intervall
config_interval_secsinteger30Konfigurations-Sync-Intervall
events_batch_sizeinteger100Ereignis-Batch bei dieser Anzahl leeren
events_flush_interval_secsinteger5Ereignisse leeren auch wenn Batch nicht voll
stats_interval_secsinteger10Statistik-Melde-Intervall
events_queue_sizeinteger10000Ereigniswarteschlangengröße (älteste bei Füllung verwerfen)

Cluster-Wahl ([cluster.election])

SchlüsselTypStandardBeschreibung
timeout_min_msinteger150Minimaler Wahltimeout (ms)
timeout_max_msinteger300Maximaler Wahltimeout (ms)
heartbeat_interval_msinteger50Main-zu-Worker-Heartbeat-Intervall (ms)
phi_suspectfloat8.0Phi-Accrual-Verdacht-Schwellenwert
phi_deadfloat12.0Phi-Accrual-Tot-Schwellenwert

Cluster-Health ([cluster.health])

SchlüsselTypStandardBeschreibung
check_interval_secsinteger5Health-Check-Häufigkeit
max_missed_heartbeatsinteger3Peer nach N verpassten Heartbeats als ungesund markieren

Vollständige Standardkonfiguration

Als Referenz die default.toml-Datei im Repository konsultieren.

Nächste Schritte

Released under the Apache-2.0 License.