AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

Ein Thema von ralfiii · begonnen am 18. Apr 2019 · letzter Beitrag vom 20. Apr 2019
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#1

Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 18. Apr 2019, 15:58
Ich habe eine Anwendung (in einer reinen Windows-Umgebung), von der vertrauliche Daten in Netzwerk gespeichert werden müssen, so dass andere Arbeitsstationen (mit der selben App) auf diese Daten zugreifen können.

Im Moment werden dazu eine zentrale SMB-Netzwerkfreigabe und verschlüsselte Dateien verwendet. Alle (Windows) Benutzer, die unsere Anwendung verwenden, müssen über Lese- und Schreibzugriff auf einen im Netzwerk freigegebenen Ordner verfügen. Auf diese Weise werden Daten gespeichert und ausgetauscht.

Diese Konfiguration hat einen großen Nachteil: Nicht nur die Anwendung sondern auch alle Benutzer unserer Anwendung haben vollen Zugriff auf diesen freigegebenen Ordner.

Ok, sie können die vertraulichen Daten nicht lesen, da sie verschlüsselt sind, aber krimineller Energie oder Dummheit vorausgesetzt können sie einfach einen Windows-Explorer öffnen, zu diesem freigegebenen Ordner navigieren und dort Dateien löschen.

(Ich habe versucht, WNetAddConnection2 zu verwenden, aber sobald die Authentifizierung erfolgt ist, wird die Verbindung auch für andere Programme geöffnet. Wenn ich den SMB-Ordner keinem Laufwerksbuchstaben zuordne, kann ich die Verbindung nachher nicht mal trennen.)

Ist es irgendwie möglich, dass eine Anwendung sich so bei einem Netzlaufwerk anmeldet, dass nur sie - und nicht der Benutzer auch - auf das Netzlaufwerk zugreifen kann?

Danke!
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#2

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 18. Apr 2019, 16:17
Hmm..

ich denke, da wirst Du keine Lösung bekommen..

Wenn ein User unter Windows an einem Share authentifiziert ist, egal ob als Laufwerk gemappt oder nur per ipc, kann er über den Explorer darauf zugreifen.

Es ist natürlich (für einfache User) schwieriger ein nur per UNC-Pfad zu erreichendes Verzeichnis auch über den Explorer zu finden, jedoch nicht unmöglich.

Somit hast Du nur die Möglichkeit, von SMB weg zu einem eigenen WebService, welcher deiner App die Dateien nur authentifiziert ausliefert und wieder entgegen nimmt..
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 18. Apr 2019, 16:46
Wenn ein User unter Windows an einem Share authentifiziert ist, egal ob als Laufwerk gemappt oder nur per ipc, kann er über den Explorer darauf zugreifen.
Daher die Frage: Kann man die Authentifizierung an einen Prozess oder gar thread "hängen", so dass nicht gleich alles im Benutzerkontext da hin darf?

Oder spricht was dagegen, ein Service zu schreiben das sich anmeldet. Dann hat nur der Service Vollzugriff und nicht der Nutzer.
Dann bleibt natürlich die Krux, dass ich sämtliche Fileoperationen irgendwie über den Service redirecten muss.
Wenn das die Wahl wäre: wie kommuniziere ich möglichst schnell mit dem Service? (sind ja grosse Datenmengen)

Zitat:
Somit hast Du nur die Möglichkeit, von SMB weg zu einem eigenen WebService, welcher deiner App die Dateien nur authentifiziert ausliefert und wieder entgegen nimmt..
Das ginge, aber die Datensätze sind recht gross (bis zu 1TB pro Datensatz), und oft brauch ich da nur wenig davon, oft aber auch Zugriff auf alles.
Ich muss ja ohnehin einen Nachfolger von TFileStream bauen, aber der sollte schon möglichst performant arbeiten, auch bei einen beliebigen Zugriff auf's File.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 18. Apr 2019, 16:51
Die Idee ist ja schon mal nicht schlecht, aber man schreibt einen Service und installiert den an einer Stelle und alle fragen dort nach. Wie und wo der Service speichert - wurscht.

Eine REST-API (alles per HTTP) wäre da sicher der einfache Weg.

PS: Datensätze mit einer Größe von 1 TeraByte auf die der Client komplett zugreifen soll und dann noch von Performance zu sprechen ist schon sehr abenteuerlich. Was hast du denn für eine Netzwerkanbindung? Quadrillionen-Gigabit?

Geändert von Schokohase (18. Apr 2019 um 16:55 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#5

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 18. Apr 2019, 17:30
Hmm..

Hab das noch nicht probiert:

Den Zugriff in deiner App komplett über einen anderen Username/PW kapseln:

- Verwenden von LogonUser / LoadUserProfile / ImpersonateLoggedOnUser um deine App auf diesen User umzustellen
- Anmelden am Share mit diesem User
- Wenn App geschlossen wird, dann per RevertToSelf / UnloadUserProfile / CloseHandle alles zurück...

Damit sollte deine App mit den Zugriffsrechten des anderen Users darauf zugreifen können.
Ob auch automatisch andere Apps auf das Share zugreifen können (Explorer), weil von diesem Client das Login stattgefunden hat.. ??? Keine Ahnung, kann es auch jetzt nicht testen.

Auch kann es Probleme mit der Verbindung zum Share geben, wenn der CLient bereits mit einem anderen Unser an dem Server (Share) angemeldet ist..

Aber dies währe mein nächster Test...
  Mit Zitat antworten Zitat
Benutzerbild von FaTaLGuiLLoTiNe
FaTaLGuiLLoTiNe

Registriert seit: 3. Jul 2004
Ort: NRW
55 Beiträge
 
Delphi XE Enterprise
 
#6

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 18. Apr 2019, 22:52
Was ist denn mit den üblichen Verdächtigen, um Dateien sicher über Netzwerkprotokolle auszutauschen, etwa (S)FTP oder auch WebDav?
Christian
<< FaTaLGuiLLoTiNe >>
Rhinoceroses don't play games!
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 19. Apr 2019, 13:42
...ImpersonateLoggedOnUser...
Danke für den Hinweis. Hab das probiert, das schlägt fehl wenn der Nutzer bereits anders am NAS angemeldet ist.
Ist werde das über ein Service lösen.

Danke für's denken-helfen.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.599 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 19. Apr 2019, 15:34
...ImpersonateLoggedOnUser...
Danke für den Hinweis. Hab das probiert, das schlägt fehl wenn der Nutzer bereits anders am NAS angemeldet ist.
Ist werde das über ein Service lösen.

Danke für's denken-helfen.
Es gibt da noch den Trick, statt des Servernamens dessen IP zu verwenden.

Probiere es aus mit:

net use x: \\192.168.1.5\share /user:bla *

(IP natürlich anpassen)
Thomas Mueller
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
701 Beiträge
 
Delphi 12 Athens
 
#9

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 19. Apr 2019, 17:34
...ImpersonateLoggedOnUser...
Danke für den Hinweis. Hab das probiert, das schlägt fehl wenn der Nutzer bereits anders am NAS angemeldet ist.
Ist werde das über ein Service lösen.

Danke für's denken-helfen.
Du solltst aber in der Lage sein, ohne den aktuellen Benutzer zu ändern dich per WNetAddConnection2 (oder war es 3) mit einem *anderen* Account an den Share anzumelden und den dann per UNC-Pfad anzusprechen. Außerdem kann man den Share für den verwendeten Account mit nur Leserechten einrichten.
Peter Below
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#10

AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)

  Alt 19. Apr 2019, 19:00
Hmm..

Du solltst aber in der Lage sein, ohne den aktuellen Benutzer zu ändern dich per WNetAddConnection2 (oder war es 3) mit einem *anderen* Account an den Share anzumelden und den dann per UNC-Pfad anzusprechen. Außerdem kann man den Share für den verwendeten Account mit nur Leserechten einrichten.
Mal versucht?

Wenn Du unter Windows mit einem User an einem Server angemeldet bist, kannst Du dich nicht mit einem 'anderen' Usernamen am gleichen Server anmelden.

Auf einem Client/einer Session kann immer nur mit einem User an einen Server angemeldet werden. Die Anmeldung ist Client bezogen..
Keine Ahnung wieso.. MS...

(Ich hab jedenfalls 'immer' die Meldung bekommen, das man sich nicht 'wieder' am Server anmelden kann, wenn noch eine Anmeldung mit einem anderen User besteht, unabhängig ob ein Share gemapt wurde oder nur auf IPC angemeldet wurde)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz