Puoi mascherare le password prima che finiscano in access.log combinando una direttiva CustomLog con un po' di sed magic (come indicato in https://stackoverflow.com/a/9473943/102170):
Questo sostituirà ogni occorrenza di password=secret
con password=[FILTERED]
in /your/path/access.log :
CustomLog "|/bin/sed -u -E s/'param=[^& \t\n]*'/'param=\[FILTERED\]'/g >> /your/path/access.log" combined
Detto questo, sarebbe meglio evitare di inserire dati sensibili nelle stringhe di query, se possibile.
Apache 2 per impostazione predefinita registra l'intero URI della richiesta inclusa la stringa di query di ogni richiesta.
Qual è un modo semplice per impedire a un server Web Apache 2 di registrare dati sensibili, ad esempio password, numeri di carte di credito, ecc., ma registrare comunque il resto della richiesta?
Sto leggendo bene, che stai inviando informazioni sensibili in URI come QueryString ? Suggerirei di cambiare l'applicazione in modo che lo faccia in primo luogo.
Quindi, non ci sarebbe alcun obbligo di modificare apache, poiché non fa nulla del genere per impostazione predefinita.
Leggi la differenza tra GET e POST e riscrivi le tue applicazioni per smettere di inserire password e informazioni nei parametri GET.