Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
coraza [2026/02/24 00:48] jango angelegt |
coraza [2026/02/24 16:12] (aktuell) jango |
||
|---|---|---|---|
| Zeile 16: | Zeile 16: | ||
| cd coraza-spoa | cd coraza-spoa | ||
| - | go run mage.go build | + | sudo go run mage.go build |
| + | |||
| + | # binary is in build now | ||
| + | |||
| + | sudo install -m 0755 build/ | ||
| + | |||
| + | # test it | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | sudo cp / | ||
| + | |||
| + | sudo vi / | ||
| + | |||
| + | # testweise starten | ||
| + | sudo -u coraza-spoa / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [root@vpsv-haproxy1 ~]# cat / | ||
| + | [coraza] | ||
| + | spoe-agent coraza-agent | ||
| + | messages coraza-req | ||
| + | option var-prefix coraza | ||
| + | timeout hello 2s | ||
| + | timeout idle 10s | ||
| + | timeout processing 5s | ||
| + | use-backend coraza-spoa-backend | ||
| + | |||
| + | spoe-message coraza-req | ||
| + | args app=str(sample_app) id=unique-id src_ip=src src_port=src_port dst_ip=dst dst_port=dst_port method=method path=path query=query version=req.ver headers=req.hdrs | ||
| + | event on-frontend-http-request | ||
| + | [root@vpsv-haproxy1 ~]# | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | root@ubuntuserver: | ||
| + | bind: 0.0.0.0: | ||
| + | |||
| + | # SPOA process logs (daemon-level) | ||
| + | log_level: debug | ||
| + | log_file: / | ||
| + | log_format: console | ||
| + | |||
| + | default_application: | ||
| + | |||
| + | applications: | ||
| + | - name: sample_app | ||
| + | |||
| + | directives: | | ||
| + | ################################################################# | ||
| + | # Base + CRS | ||
| + | ################################################################# | ||
| + | Include @coraza.conf-recommended | ||
| + | Include @crs-setup.conf.example | ||
| + | |||
| + | SecRule REQUEST_FILENAME " | ||
| + | |||
| + | Include @owasp_crs/ | ||
| + | |||
| + | SecRuleEngine On | ||
| + | |||
| + | ################################################################# | ||
| + | # Audit logging (WAF events / transactions) | ||
| + | ################################################################# | ||
| + | # RelevantOnly = nur Treffer / relevante Transaktionen loggen | ||
| + | SecAuditEngine RelevantOnly | ||
| + | |||
| + | # Alle Parts für Troubleshooting (später ggf. reduzieren) | ||
| + | SecAuditLogParts ABCEFHIJZ | ||
| + | |||
| + | # JSON ist einfacher zum Auswerten | ||
| + | SecAuditLogFormat JSON | ||
| + | |||
| + | # Eine Datei (einfach fürs Testen) | ||
| + | SecAuditLog / | ||
| + | |||
| + | ################################################################# | ||
| + | # Debug logging (nur vorübergehend!) | ||
| + | ################################################################# | ||
| + | SecDebugLog / | ||
| + | SecDebugLogLevel 3 | ||
| + | |||
| + | ################################################################# | ||
| + | # Optional: mehr Sichtbarkeit beim Testen | ||
| + | ################################################################# | ||
| + | # Wenn du wirklich JEDE Anfrage im Auditlog sehen willst, statt | ||
| + | # RelevantOnly -> On setzen: | ||
| + | # SecAuditEngine On | ||
| + | |||
| + | # HAProxy sendet bei dir aktuell nur Request-Infos | ||
| + | response_check: | ||
| + | |||
| + | # Transaktionscache (ms) | ||
| + | transaction_ttl_ms: | ||
| + | |||
| + | # App-level logs (coraza-spoa intern) | ||
| + | log_level: debug | ||
| + | log_file: / | ||
| + | log_format: console | ||
| + | |||
| + | root@ubuntuserver: | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | backend coraza-spoa-backend | ||
| + | mode tcp | ||
| + | timeout connect 5s | ||
| + | timeout server | ||
| + | server coraza1 172.21.1.170: | ||
| + | |||
| + | frontend outlook | ||
| + | bind 172.21.1.169: | ||
| + | mode http | ||
| + | log global | ||
| + | log-format " | ||
| + | filter spoe engine coraza config / | ||
| + | http-response set-header X-Coraza-Action %[var(txn.coraza.action)] if { var(txn.coraza.action) -m found } | ||
| + | default_backend outlook | ||
| </ | </ | ||