Closed eloquenza closed 5 years ago
Format: Apache-Log-Format
Was soll geloggt werden? Request-Loggen: IP sowie HTTP-Path, ggf. beim Error Body des Requests Application-specific: Username etc.
Implemented in commit: 1a15b014
Du benutzt den filename. Der filename ist nicht eindeutig, ich würde eher die fileid benutzen. (wir müssen auch sicher sein, dass keine log-injection möglich ist. das ist bei zahlen einfacher)
Da hast du Recht. Ich hatte mich zu sehr darauf fokussiert, dass Dateinamen eindeutig fuer einen Benutzer sind. Passe ich nachher an.
Bzgl Log-Injection - ja, stimme ich dir zu, dass Zahlen einfacher sind, Idealerweise haette ich dennoch gerne der "Usability"-wegen zumindest bei Username und Gruppenname den Namen mitgeloggt. Aber wahrscheinlich sind wir einfach auf der sicheren Seite, wenn wir ueberall nur die IDs loggen.
Ich aendere das dann wie folgt, bspw: "peter created group 5" Bei anderen Logstatements steht dann da file oder user statt group, und dann sollte der Kontext der ID klar sein. Oder sollte ich lieber loggen lassen: "peter created group with groupid 5" oder so.
Nur die Id ist evtl auch nicht ausreichend. -.- Was ist wenn jmd die "HaengtAM"-Gruppe erstellt und sie löscht, bevor wir die Log auswerten können? Dann wissen wir nicht wirklich, wer sie erstellt hat.
Deswegen steht ja der Username dazu, der ja eindeutig ist. Aber ich kann solche Zusatzinformation bzgl urspruenglicher Owner (In Falle dessen, dass ein Admin sie geloescht hat) ebenfalls hinzufuegen.
Unabhängig davon, ob ich die Log Statements noch anreichern sollte mit zusätzlichen Informationen:
Sollten wir dies als Bedrohung aufnehmen? Letztendlich waere das hier ja nen klassischer Fall eines Log Poisonings.
Gibt nun einen Logger, der potentiell gefaehrliche Zeichen herausfiltert - bisher nur Newlines. Siehe commit 879acc1dfbe2719f2926a015fb86d3d0f89e0f9a
Basierend aut T11: "Abstreitbarkeit illegaler Handlungen" muessen wir einen Loggingmechanismus implementieren, der bei jedem Request (?) die versuchte Operation zusammen mit IP, Timestamp sowie ausfueherende User in einem Log niederschreibt, stichwort Accountability
Dafuer muessen wir wohl folgend auch in den Policies angeben, dass kein Administrator oder sonst wer Zugriffrechte auf das Applikationslog zum Modifizieren hat, glaube ich?