Synit WAF
Schnellstart
Erster Setup-Pfad für Synit WAF: Domain auswählen, YAML-Konfiguration anlegen, Container starten, Traffic prüfen und Blocking kontrolliert vorbereiten.
Schnellstart
Dieser Schnellstart zeigt ein erstes Container-Muster für eine geschützte Testdomain im Audit Mode. Die freie Container-Variante ist für Evaluation, Laborumgebungen und kleine Piloten gedacht. Die konkrete Registry-URL und Lizenzgrenzen werden in den Zugangshinweisen ergänzt, sobald der öffentliche Lieferweg final ist.
Für Produktion gelten immer das abgestimmte Betriebsmodell, die konkrete Edition, die Produktzugangsdaten und die Werte aus Ihrem synit.io Handoff oder Managed-Service-Setup.
Committen Sie keine Secrets, Tokens, Produktzugangsdaten oder realen Kundendomains in öffentliche Repositories.
1. Erste Domain auswählen
Starten Sie mit einer Domain oder API, bei der ein kontrollierter Test möglich ist:
app.example.testfür eine Website oder ein Portalapi.example.testfür eine APIai.example.testfür einen LLM- oder AI-Endpunkt
2. Minimale Konfiguration erstellen
Erstellen Sie config.yml:
global_settings:
log_level: "INFO"
read_timeout: "15s"
write_timeout: "15s"
idle_timeout: "60s"
license:
# Produktzugangsdaten privat aus dem synit.io Handoff-Paket übernehmen.
waf_rule_sets:
"base-protection": |
SecRule REQUEST_METHOD "@rx (?i:^(trace|track)$)" "id:110001,phase:1,deny,status:403,log,msg:'Blocked unsafe HTTP method'"
tenants:
"app.example.test":
upstreams:
- url: "http://application:8080"
security:
waf_enabled: true
audit_mode: true
paranoia_level: 1
include_rule_sets:
- "base-protection"
Wichtig:
audit_mode: truezuerst aktiv lassen.app.example.testdurch Ihre Domain ersetzen.http://application:8080durch den internen Zielservice ersetzen.
3. Container starten
Nutzen Sie das veröffentlichte freie Image oder das bereitgestellte Image aus Ihrem Handoff-Paket:
docker run --rm \
-p 80:80 \
-v "$(pwd)/config.yml:/etc/waf/config.yml:ro" \
--name synit-waf \
<container-image>
Für Produktion sollte der Container über Ihre Plattform, Ihren Orchestrator oder den abgestimmten Managed-Service-Pfad laufen.
4. Traffic testen
Senden Sie eine Anfrage mit dem geschützten Hostnamen:
curl -H "Host: app.example.test" http://127.0.0.1/
Wenn der Upstream erreichbar ist, erhalten Sie die erwartete Antwort der Anwendung.
5. Audit Mode prüfen
Im Beobachtungsmodus protokolliert Synit WAF auffällige Anfragen, blockiert sie aber noch nicht. Prüfen Sie:
- normaler Traffic erreicht die Anwendung
- auffällige Anfragen erscheinen in Logs
- False Positives sind erkennbar und bewertbar
- Health Checks und Monitoring sind angebunden
Laufzeit prüfen:
curl -sS http://127.0.0.1/healthz
curl -sS http://127.0.0.1/readyz
6. Blocking erst nach Prüfung aktivieren
Synit WAF blockiert im Schnellstart bewusst noch nicht. Ohne Testlauf, Traffic-Prüfung und Tuning gibt synit.io keine Zusicherung, dass Regeln oder Blocking-Entscheidungen für konkrete Produktionspfade geeignet sind.
Erst nach Prüfung:
- Auffällige Ereignisse nach Domain, Pfad und Regel gruppieren.
- Legitime Nutzer-Workflows testen.
- Enge Ausnahmen ergänzen, falls nötig.
audit_mode: falsesetzen.- Änderung über Ihren normalen Prozess neu laden oder neu deployen.
- Erste Produktionsstunden eng überwachen.
Beispiel: API mit Token-Prüfung und Rate Limit
tenants:
"api.example.test":
upstreams:
- url: "http://api-service:8080"
security:
waf_enabled: true
audit_mode: true
jwt_validation:
enabled: true
jwks_endpoint: "https://auth.example.test/.well-known/jwks.json"
rate_limit:
requests_per_minute: 1000
burst: 200
Beispiel: GraphQL-Endpunkt
tenants:
"graphql.example.test":
upstreams:
- url: "http://graphql-service:8080"
security:
waf_enabled: true
audit_mode: true
graphql:
enabled: true
block_introspection: true
max_query_depth: 8
max_batched_queries: 10
Beispiel: LLM-Endpunkt im Audit Mode
tenants:
"ai.example.test":
upstreams:
- url: "http://llm-gateway:8080"
security:
waf_enabled: true
audit_mode: true
include_rule_sets:
- "base-protection"
- "llm-protection"
llm_protection:
enabled: true
mode: "rules"
action: "audit"
inspect_paths:
- "/v1/chat"
inspect_json_fields:
- "messages[].content"
Checkliste vor dem Produktionsbetrieb
- Eine Domain zuerst.
- Audit Mode vor Blocking.
- Basisprofil vor strengeren Profilen.
- Logs und Metriken vor Go-live prüfen.
- Rollback-Pfad vorab klären.
- Verantwortliche für Security und Anwendung einbinden.
- Betriebsmodell, Lizenzgrenzen und Supportumfang klären.
- Image-Tag, Regelprofile und Konfigurationsversion dokumentieren.
Weitere Startpunkte stehen unter Beispielkonfigurationen.