Ich benötige Zugriffsprotokolle aktiviert, aber aus Compliance-Gründen können die Daten eines sensiblen GET-Anforderungsparameters nicht in den Zugriffsprotokollen protokolliert werden. Während ich weiß, konnte ich die Protokolle analysieren (nach der Tat) und sie bereinigen, das ist keine akzeptable Lösung - weil aus Gründen der Compliance Logs nicht manipuliert werden können.Wie protokolliere ich einen get-Request-Parameter nicht in den nginx-Zugriffsprotokollen?
http://www.example.com/resource?param1=123&sensitive_param=sensitive_data
Wie kann ich den „sensitive_data“ Parameterwert verhindern, in die Protokolle geschrieben werden? Hier waren ein paar Ideen:
- POST-Anfrage senden - ist keine Option mit JSONP.
- Verwenden Sie eine neue Standortregel für "Ressource" und legen Sie ein Zugriffsprotokoll fest, um ein log_format zu verwenden, das ein anderes Format verwendet (dh $ remote_addr nicht verwendet). Sehen Sie dieses als Referenz: http://nginx.org/en/docs/http/ngx_http_log_module.html
- Melden Sie ein $ sanitized_remote_addr, und stellen Sie es ein (irgendwie parse das $ remote_addr oder etwas anderes?), Bevor es es zum Protokoll macht. Wir sind nicht sicher, ob dies leicht zu erreichen ist.
Wie soll das gemacht werden?
Sie könnten auch in Betracht ziehen [mod_security für nginx] (http://www.modsecurity.org/projects/modsecurity/nginx/) und einen Blick am [naxsi-Projekt] (https://github.com/nbs-system/naxsi) –