Sie können die Passwörter maskieren, bevor sie in access.log landen, indem Sie eine CustomLog-Direktive mit ein wenig sed-Magie kombinieren (wie in https://stackoverflow.com/a/9473943/102170 beschrieben):
Dies würde jedes Vorkommen von password=secret
ersetzen mit password=[FILTERED]
in /your/path/access.log :
CustomLog "|/bin/sed -u -E s/'param=[^& \t\n]*'/'param=\[FILTERED\]'/g >> /your/path/access.log" combined
Davon abgesehen ist es am besten, wenn möglich keine sensiblen Daten in die Abfragezeichenfolgen einzufügen.
Apache 2 protokolliert standardmäßig den gesamten Anforderungs-URI einschließlich der Abfragezeichenfolge jeder Anforderung.
Was ist ein einfacher Weg, um zu verhindern, dass ein Apache 2-Webserver vertrauliche Daten wie Passwörter, Kreditkartennummern usw. protokolliert, aber dennoch den Rest der Anfrage protokolliert?
Lese ich richtig, dass Sie vertrauliche Informationen in URI als QueryString senden? Ich würde vorschlagen, die Anwendung so zu ändern, dass sie dies überhaupt tut.
Dann wäre es nicht erforderlich, Apache zu ändern, da er so etwas standardmäßig nicht tut.
Sie lesen den Unterschied zwischen GET und POST und schreiben Ihre Anwendungen um, um Passwörter und Informationen nicht mehr in GET-Parameter einzufügen.