Richiedo log di accesso abilitati, ma per motivi di conformità, non è possibile registrare i dati di un parametro di richiesta GET sensibile nei registri di accesso. Mentre so, potrei analizzare i registri (after-the-fact) e sanitarli, questa non è una soluzione accettabile - perché per motivi di conformità i registri non possono essere manomessi.Come non registrare un parametro di richiesta get nei log di accesso di nginx?
http://www.example.com/resource?param1=123&sensitive_param=sensitive_data
Come posso evitare che il valore "sensitive_data" parametro di essere scritti nei log? Ecco alcune idee:
- Invia richiesta POST - non è un'opzione con JSONP.
- Utilizzare una nuova regola di posizione per "risorsa" e impostare un registro di accesso per utilizzare un log_format che utilizza un formato diverso (ad esempio non utilizza $ remote_addr). Vedere questo per riferimento: http://nginx.org/en/docs/http/ngx_http_log_module.html
- Registra un $ sanitized_remote_addr e impostalo (in qualche modo analizza $ remote_addr o qualcos'altro?) Prima che arrivi al log. Non siamo sicuri se questo è facile da realizzare.
Come dovrebbe essere fatto?
Si potrebbe anche prendere in considerazione [mod_security per nginx] (http://www.modsecurity.org/projects/modsecurity/nginx/) e avere uno sguardo al [progetto naxsi] (https://github.com/nbs-system/naxsi) –