...someplace, where there isn't any trouble? Do you suppose there is such a place, Toto?

Wo man Logfiles hinschreiben sollte

Eine immer wieder aufkeimende Diskussion unter denjenigen Kollegen bei επτ€σ, die sich Gedanken um Sicherheitsaspekte machen, ist die Frage, wo man Logfiles anlegen sollte. Und zwar nicht irgendwelche Logfiles von irgendeinem User sondern Logfiles, die von unterschiedlichen Benutzerkontexten erzeugt werden und alle in ein- und demselben Verzeichnis landen sollen. Welches ist also das richtige Verzeichnis für diesen Zweck, oder wo sollte dieses Verzeichnis liegen?

Man muß wissen, daß gegenwärtig die Logfiles der Produkte von επτ€σ defaultmäßig im Produktunterverzeichnis unter dem "Program Files"-Verzeichnis liegen und das ist ja nun security-wise nicht so das Gelbe vom Ei. Denn viele große Firmen legen fest, daß unprivilegierte User in alles unter dem "Program Files"-Verzeichnis nicht schreiben dürfen, also auch ihre Logfiles dort nicht geschrieben werden dürfen.

Meine Meinung orientiert sich an einer Beobachtung: Es gibt ein Verzeichnis auf jeder XP-Maschine, in das a jeda schreiben darf. Und zwar ist dies das Verzeichnis, in das auch MS Logfiles jeglicher Herkunft schreibt: Das Verzeichnis für die Logfiles von Dr. Watson. Diese stehen normalerweise in folgendem Verzeichnis, auf das jeder User Schreibrechte hat:

c:\Documents and Settings\All Users\Application Data
  \Microsoft\Dr Watson

Damit meine ich nicht, daß auch επτ€σ seine Logfiles in genau dieses Verzeichnis schreiben sollte, sondern eher daß επτ€σ-Binaries ihre Logfiles in ein Verzeichnis

c:\Documents and Settings\All Users\Application Data
\επτ€σ\logfiles

speichern sollten, wobei ein privilegierter User während einer Installation dafür sorgen sollte, daß die Rechte auf dieses Verzeichnis entsprechend aufgebohrt sind.

Und niemand unter den Kunden kann behaupten, daß in diesem Verzeichnis aus Sicherheitsgründen die Rechte nicht aufgebohrt werden dürfen, denn MS macht's ja mit Dr. Watson vor, wie man's machen sollte.

Wie kommt man an dieses Verzeichnis? SHGetFolderPath mit CSIDL_COMMON_APPDATA. Geht ab Windows 2000.

Trackback address for this post

This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

5 comments, 1 trackback

Comment from: FZOFZOFZOFZOFZOFZOFZO [Visitor]
FZOFZOFZOFZOFZOFZOFZOWas für ein Zufall... genau mit der Frage hab ich mich heut auch schon beschäftigt :-)

Hier zwei interessante Links von Microsoft zu dem Thema incl. einer Möglichkeit wie man solche Zugriffe von Applikationen entsprechend "redirecten" kann:

http://download.microsoft.com/download/a/4/e/a4e4532e-98a8-48f2-a595-c5d90e78e862/Least_Privilege_to_User_Accounts_on_Windows_XP.doc

http://www.microsoft.com/germany/msdn/library/security/DasApplicationCompatibilityToolkit.mspx
02/15/06 @ 23:33
Comment from: Dave [Visitor]
DaveMmh, das klingt ja erst mal gar nicht schlecht, jetzt sollte man nur noch darüber nachdenken, wie man die Bneutzerlogfiles unterschiedlicher Benutzer über die Security voneinander trennt (z.B. Terminal Services). Also sollte der oben gennante Pfad bei der Erstanmeldung eines Users auch mit einem %username% Pfad erweitert werden, in dem Benutzerspezifische LogFiles angelegt werden und nur für den angemeldeten User und Admin erreichbar sind. Aber meint ihr echt, das hier ist nun das richtige Forum für diese Duskussion ?!?
02/20/06 @ 08:22
Comment from: Stefan [Visitor]
StefanDave,

Das mit der Erweiterung des Verzeichnisses mit %username% Pfad finde ich persoenlich in einem ersten Schritt etwas zu gewagt, weil dann die Logfiles nimmer an einem Ort sind.

Und ja, das ist ein moeglicher Ort fuer so eine Diskussion, weil das Thema leider konsequent totgeschwiegen wird, keiner sich was zu aendern traut und es mir fast schon peinlich ist, wo wir unsere Logfiles sonst so hinschreiben. Das ist soooo oldfashioned und achtziger-Jahre-maessig, dass es mir einfach graust. Das ist einfach so erdenschlecht.
02/24/06 @ 21:43
Trackback from: Dirk's Blog [Visitor]
Dirk's BlogDie 64Bit Windows Artikel des eMCSCs
02/25/06 @ 15:12
Comment from: FZOFZOFZOFZOFZOFZOFZO [Visitor]
FZOFZOFZOFZOFZOFZOFZOWas mir da eben zufällig aufgefallen ist...
ich hab die Beta2 der WinFX Runtime Components installiert.
Hab ich für irgendwas letztens mal benötigt...

Auf jedenfall nutzen die wohl das "windows\system32\logfiles\messages" Verzeichnis um Logfiles etc abzulegen.

Auf das Verzeichnis wurden die NTFS Berechtigungen so angepasst, das die "Authenticated Users" lediglich über die special permission "Create File / Write Data" die Möglichkeit haben in dem Verzeichnis zu schreiben.

Dort Logfiles abzulegen und die Permissions anzupassen ist somit wohl auch legitim, wenns MS selbst auch macht.

Wenn man nun aus allen bisherigen Beiträgen zu dem Thema hier etwas rauszieht, wäre doch folgende Lösung denkbar:

1. Der Pfad von SKU:
c:\Documents and Settings\All Users\Application Data
\επτ?σ\logfiles

2. Die special permissions auf den Logfiles Ordner ungefähr so anpassen wie das Beispiel von WinFX, somit hat der User wohl das recht Files anzulegen und da was reinzuschreiben, aber mehr darf er nicht...

3. Somit wäre auch die Anforderung von Dave abgedeckt auf Terminal Server, denn die User dürfen in dem Verzeichnis ja nichtmal das selbst geschriebene Logfile zum lesen öffnen bzw. das Verzeichnis Browsen etc. :-)
Was ja auch nicht nötig ist, weil die Logfiles für keinen Enduser interessant sind, sondern lediglich für den Admin, der wiederum entsprechnde Rechte auf das Verzeichnis bekommt...
02/25/06 @ 16:30
Comment from: Dave [Visitor]
DaveWenn ich mal Dr. Gartner zitieren darf:

62% aller IT Angriffe geschehen aus dem eigenen Netz. Sicher sind die Information für den normalen User uninteressant, aber es ist ja wohl nicht zu leugnen das dort massig Informationen drinnen stehen, die einem potenziellen Angreifer zumindestens einen ganze Menge Reverseengeneering abnehmen. Und genau das ist eben einer der häufigsten Kritikpunkte an jeder Art von Logfiles seitens der Kundschaft: "Bitte lieber Herr Consultant, legen sie doch bitte Rechenschaft darüber, was genau in Ihren Logfiles steht, und was der Benutzer mit den Informationen anfangen kann..."

So, das wollt ich nur noch mal erwähnt haben, ansonsten bin ich natürlich in allen Punkten der Anklage (wie so oft) voll eurer Meinung ;-)
02/25/06 @ 20:03

Comments are closed for this post.