Alfresco Log Files erweitern
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-26-2011 10:45 AM
Hallo an alle,
ist es möglich die Standard log4j.properties Datei so zu ändern, um genau zu loggen wer welche datei zu welcher uhrzeit heruntergeladen hat.
Leider habe ich keine Erfahrung mit der Log4j API bzw. weiß ich auch nicht welche klassen man hierfür ansprechen muss.
Wäre super wenn jemand dazu etwas weiß.
Vielen Dank im Voraus
Gruß Flo
ist es möglich die Standard log4j.properties Datei so zu ändern, um genau zu loggen wer welche datei zu welcher uhrzeit heruntergeladen hat.
Leider habe ich keine Erfahrung mit der Log4j API bzw. weiß ich auch nicht welche klassen man hierfür ansprechen muss.
Wäre super wenn jemand dazu etwas weiß.
Vielen Dank im Voraus
Gruß Flo
Labels:
- Labels:
-
Archive
6 REPLIES 6
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-26-2011 11:23 AM
Hallo,
es wird wohl nicht möglich sein, über eine Einstellung in der log4j.properties ein Logging zu erreichen, bei dem sowohl die gewünschte Information enthalten ist sowie andererseits nicht übermäßig viele Einträge rausgeschrieben werden. Selbst über den Audit-Service wird es wahrscheinlich kaum eine Möglichkeit geben, da ein Download auf Service-Ebene nicht von einem in-place Lesen/Transformieren unterschieden werden kann. Anhand der Tomcat/Apache Access Logs kann man vielleicht was machen, was aber wiederum beschränkt auf HTTP Port 80 wäre und SharePoint, CIFS, NFS und FTP außen vor lässt.
Weitere Probleme, die sich stellen dürften:
- Wie sieht es mit Caching aus? Steht vor Alfresco ggf. ein Proxy Server, der Inhalte cached, sodass Alfresco von einem Download ggf. gar nichts mitbekommen kann?
- Wie sollen "abgebrochene"/"unterbrochene" Downloads gezählt/erkannt werden?
- Wie soll mit abschnittsweisen Downloads umgegangen werden? (z.B. lädt das Adobe 9 Plugin im IE nicht die komplette PDF auf einmal, sondern abschnittsweise mit mehreren Anfragen runter)
Ohne Implementierungseingriffe in Alfresco Bestandteile sehe ich hier wenig Chance, nur durch Konfiguration eine ansatzweise genaue Übersicht über Downloads zu erhalten.
Mit der Konfiguration der Audit Komponente zum Aufzeichnen der getReader()-Aufrufe im ContentService kann man zumindest im 1. Wurf alle lesenden Zugriffe erwischen, wobei dann nur ein Teil dieser Zugriffe echte Downloads wären - wie genau oder ungenau dieser Ansatz wäre, hängt stark vom Nutzerverhalten bzw. von interner Logik (z.B. Actions, Workflows und Policies) ab, welche derartige Aufrufe auslösen könnte ohne den Inhalt tatsächlich dem Nutzer aus zu liefern.
Gruß
Axel
es wird wohl nicht möglich sein, über eine Einstellung in der log4j.properties ein Logging zu erreichen, bei dem sowohl die gewünschte Information enthalten ist sowie andererseits nicht übermäßig viele Einträge rausgeschrieben werden. Selbst über den Audit-Service wird es wahrscheinlich kaum eine Möglichkeit geben, da ein Download auf Service-Ebene nicht von einem in-place Lesen/Transformieren unterschieden werden kann. Anhand der Tomcat/Apache Access Logs kann man vielleicht was machen, was aber wiederum beschränkt auf HTTP Port 80 wäre und SharePoint, CIFS, NFS und FTP außen vor lässt.
Weitere Probleme, die sich stellen dürften:
- Wie sieht es mit Caching aus? Steht vor Alfresco ggf. ein Proxy Server, der Inhalte cached, sodass Alfresco von einem Download ggf. gar nichts mitbekommen kann?
- Wie sollen "abgebrochene"/"unterbrochene" Downloads gezählt/erkannt werden?
- Wie soll mit abschnittsweisen Downloads umgegangen werden? (z.B. lädt das Adobe 9 Plugin im IE nicht die komplette PDF auf einmal, sondern abschnittsweise mit mehreren Anfragen runter)
Ohne Implementierungseingriffe in Alfresco Bestandteile sehe ich hier wenig Chance, nur durch Konfiguration eine ansatzweise genaue Übersicht über Downloads zu erhalten.
Mit der Konfiguration der Audit Komponente zum Aufzeichnen der getReader()-Aufrufe im ContentService kann man zumindest im 1. Wurf alle lesenden Zugriffe erwischen, wobei dann nur ein Teil dieser Zugriffe echte Downloads wären - wie genau oder ungenau dieser Ansatz wäre, hängt stark vom Nutzerverhalten bzw. von interner Logik (z.B. Actions, Workflows und Policies) ab, welche derartige Aufrufe auslösen könnte ohne den Inhalt tatsächlich dem Nutzer aus zu liefern.
Gruß
Axel

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-26-2011 04:43 PM
Hallo,
mit ein bisschen "probieren & beobachten" müsste es mit dem Audit-Framework zumindest größtenteils funktionieren.
Die Read-Prozesse beim Indexieren (Lucene) und Transformieren von Content laufen in der Regel in einer speziellen ThreadGroup.
Eine logische Frage bleibt aber auch noch offen:
Was ist mit Lesezugriffen auf die Renditions (ehemals Thumnbnails) wie bspw. die Flash-Preview in Share?
VG, Jan
mit ein bisschen "probieren & beobachten" müsste es mit dem Audit-Framework zumindest größtenteils funktionieren.
Die Read-Prozesse beim Indexieren (Lucene) und Transformieren von Content laufen in der Regel in einer speziellen ThreadGroup.
Eine logische Frage bleibt aber auch noch offen:
Was ist mit Lesezugriffen auf die Renditions (ehemals Thumnbnails) wie bspw. die Flash-Preview in Share?
VG, Jan
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2011 03:49 AM
Hallo Jan, Hallo Axel,
danke erstmal für eure schnellen Antworten. Mir geht es nur ums Loggen der Downloads. Die Preview-Ansicht spielt keine Rolle. Dabei ist es egal ob der Download abgeborchen wurde oder nicht. Leztendlich kommt es auch nicht darauf an wieviel unnötige Sachen auch noch geloggt werden, Hauptsache irgendwo im Logfile findet man einen Eintrag mit User, Uhrzeit und Datei.
Ich kann mir ehrlich gesagt nicht vorstellen, das dieses Problem noch nicht gelöst wurde.
Gerade bei sensiblen Daten will man doch wissen wer diese runtergeladen hat.
Schon alleine fürs Debugging sollte das doch möglich sein oder ?
Gruß Flo
danke erstmal für eure schnellen Antworten. Mir geht es nur ums Loggen der Downloads. Die Preview-Ansicht spielt keine Rolle. Dabei ist es egal ob der Download abgeborchen wurde oder nicht. Leztendlich kommt es auch nicht darauf an wieviel unnötige Sachen auch noch geloggt werden, Hauptsache irgendwo im Logfile findet man einen Eintrag mit User, Uhrzeit und Datei.
Ich kann mir ehrlich gesagt nicht vorstellen, das dieses Problem noch nicht gelöst wurde.
Gerade bei sensiblen Daten will man doch wissen wer diese runtergeladen hat.
Schon alleine fürs Debugging sollte das doch möglich sein oder ?
Gruß Flo

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-27-2011 04:35 AM
Hallo,
Die für den Dateizugriff verantwortlichen Endpunkte z.B. ContentGet Webscript
sowie der verwendete Service ContentService protokollieren nicht per Log4J wer wann auf den Content zugreift.
Das hat mehrere Gründe:
- Log4j wird von uns nicht als abgespecktes Auditing Werkzeug verwendet sondern als Debugging und Monitoringwerkzeug.
- Protokollierung des Nutzerverhaltens ist rechtlich nicht ganz unkritisch (nicht nur in Deutschland). In der Regel scheitert diese Anforderung am Betriebsrat … die technische Umsetzungshürde ist hier nicht ganz unbewusst etwas höher gesetzt um hier nicht zuviel Angriffsfläche aus einer rechtlichen Perspektive zu bieten.
Dennoch ist es technisch möglich, zum einen über das AuditFramework oder einen AOP Advice der den Protokolleintrag schreibt z.B. auf dem ContentGet Webscript.
Viele Grüße
Thomas
Die für den Dateizugriff verantwortlichen Endpunkte z.B. ContentGet Webscript
sowie der verwendete Service ContentService protokollieren nicht per Log4J wer wann auf den Content zugreift.
Das hat mehrere Gründe:
- Log4j wird von uns nicht als abgespecktes Auditing Werkzeug verwendet sondern als Debugging und Monitoringwerkzeug.
- Protokollierung des Nutzerverhaltens ist rechtlich nicht ganz unkritisch (nicht nur in Deutschland). In der Regel scheitert diese Anforderung am Betriebsrat … die technische Umsetzungshürde ist hier nicht ganz unbewusst etwas höher gesetzt um hier nicht zuviel Angriffsfläche aus einer rechtlichen Perspektive zu bieten.
Dennoch ist es technisch möglich, zum einen über das AuditFramework oder einen AOP Advice der den Protokolleintrag schreibt z.B. auf dem ContentGet Webscript.
Viele Grüße
Thomas
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-28-2011 05:19 AM
Hallo,
erstmal danke an Thomas für die weitere Info. Was würdet ihr sagen wie hoch der Aufwand für so eine Implementierung ins Audit System ist (in Manntagen gerechnet)? Falls jemand dazu noch nützliche Hinweise hat immer her damit.
Gruß Flo
erstmal danke an Thomas für die weitere Info. Was würdet ihr sagen wie hoch der Aufwand für so eine Implementierung ins Audit System ist (in Manntagen gerechnet)? Falls jemand dazu noch nützliche Hinweise hat immer her damit.
Gruß Flo

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-28-2011 05:43 AM
Da tu ich mir schwer das pauschal zu schätzen, ohne genau definierte Anforderungen hinsichtlich Datenerhebung, Auswertung und anschliessender Visualisierung zu kennen.
Hängt auch sehr stark davon ab wers implementiert und ob derjenige sowas schonmal gemacht hat.
Denke nach einer kleinen prototypenhaften Implementierung kann man da mehr sagen.
Hängt auch sehr stark davon ab wers implementiert und ob derjenige sowas schonmal gemacht hat.
Denke nach einer kleinen prototypenhaften Implementierung kann man da mehr sagen.
