Geend / HshHelper

Hannover University of Applied Sciences and Arts - Master Project - Security competition to make a secure filesharing website.
GNU General Public License v3.0
0 stars 1 forks source link

Logging-Mechanismus fuer jeden Request implementieren #70

Closed eloquenza closed 5 years ago

eloquenza commented 6 years ago

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?

eloquenza commented 6 years ago

Spezifikation

Format: Apache-Log-Format

Was soll geloggt werden? Request-Loggen: IP sowie HTTP-Path, ggf. beim Error Body des Requests Application-specific: Username etc.

eloquenza commented 5 years ago

Implemented in commit: 1a15b014

Flips01 commented 5 years ago

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)

eloquenza commented 5 years ago

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.

Flips01 commented 5 years ago

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.

eloquenza commented 5 years ago

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.

eloquenza commented 5 years ago

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.

eloquenza commented 5 years ago

Gibt nun einen Logger, der potentiell gefaehrliche Zeichen herausfiltert - bisher nur Newlines. Siehe commit 879acc1dfbe2719f2926a015fb86d3d0f89e0f9a