GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verhindern, dass ein Apache 2-Server sensible Daten protokolliert

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.


Linux
  1. Finden Sie die 10 wichtigsten IP-Adressen, die auf Ihren Apache-Webserver zugreifen

  2. Cloud-zu-Cloud-Migration

  3. Installieren Sie Apache 2 von Source unter Linux

  4. So richten Sie Rsyslog Remote Logging unter Linux ein (zentraler Protokollserver)

  5. Messen Sie den Datenverkehr aus dem Apache-Zugriffsprotokoll

So installieren Sie Apache in Fedora 20

So installieren Sie Apache unter Debian 7

So installieren Sie Apache auf Fedora 22

So installieren Sie Apache unter Debian 8.2

Erstellen eines Cloud-Servers aus einer ISO

Wie kann ich Protokollmeldungen vom LAMP-Server unter Ubuntu 10.04 erhalten?