Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#4

Re: Gemeinsame Dokumente:Zugriffsrechte setzen und erkennen

  Alt 6. Mai 2010, 14:49
Zitat von messie:
Zitat von Dezipaitor:
Das ist schon okay so, denn ein Benutzer soll ja nicht eine Datei eines anderen Benutzers einsehen dürfen (oder sogar löschen).
Die Frage ist, was willst du einen anderne Benutzer erlauben? Soll der andere Benutzer lesen dürfen? Oder soll er auch schreiben dürfen. Letzteres könnte ein Sicherheitsrisiko darstellen (z.B. weil die Datei durch ein Virus ersetzt wird).
Wozu habe ich denn einen Ordner "Gemeinsame Dokumente" (oder "Öffentlich" bei Vista), wenn nicht mehrere user da rein schreiben können. Eine Textdatei, in der einer nur Lesen kann, ist kein gemeinsames Dokument. Ich bin auch am überlegen, ob es das Unterverzeichnis ist, auf das nicht zugegriffen werden darf.
Gemeinsame Dokumente sind für normale Benutzer, damit diese untereinander Daten schnell austauschen können! Es ist nicht dafür gedacht, dass Programme es als Kommunikation für ihre Zwecke nutzen. Dazu gibt es bessere und sichere Mittel (z.B. IPC und COM).
Lies mal, was Raymond Chen, ein langjähriger MS Mitarbeiter, dazu schreibt.
Du machst nämlich genau das was Chen anprangert.

Dein Programm schreibt als Administrator die Datei in "Gemeinsame Dokumente" und gibt diese Datei für alle frei. Chen listet diese Problempunkte auf, die daraus resultieren:
  • Jeder kann diese Datei beschreiben und somit das Programm eines anderen Benutzers zum Absturz bringen.
  • Viren einschleusen, denn jeder kann die Datei umbenennen, z.b. in "Dein geforderter Bericht, John.pdf.exe"
  • NTFS Alternate Data Streams benutzen, um zusätzliche Daten zu speichern.
  • Admindateien sind nicht an die Speicherplatzbeschränkung gebunden. D.h. jeder Benutzer kann beliebig vielen Speicher verbrauchen und das System zu Stillstand bringen.

Du siehst, dass du im Begriff bist ein Sicherheitslücke zu entwickeln!

Zitat von messie:
Zitat von Dezipaitor:
Eine NULL-DACL erlaubt für alle den vollen Zugriff. MS rät davon tunlichst ab.
Das mache ich sonst auch so. Nur kann ich das noch nicht programmtechnisch. Ich benutze Installshield dazu, da kann ich den Zugriff auf everyone mit vollen Rechten setzen. Nur kennt der Windows Installer keine "Gemeinsame Dokumente".

Die JWSCL schaue ich mir mal an. Hoffentlich läuft das auch mit D6.

Das müsste ja die ganzen API-Sachen kapseln, oder?

Grüße, Messie
Nein, nicht alle API Sachen. Nur eine Untermenge
D6 wird noch unterstützt.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat