Laden...

Datenzugriff über SQL-Authentifizierung oder integrierte Windows-Sicherheit

Erstellt von bbms vor 12 Jahren Letzter Beitrag vor 12 Jahren 821 Views
B
bbms Themenstarter:in
1 Beiträge seit 2011
vor 12 Jahren
Datenzugriff über SQL-Authentifizierung oder integrierte Windows-Sicherheit

Hallo zusammen,
ich möchte eine C# WPF Anwendung erstellen, die das EntityFramework für den Datenzugriff auf den MS SQL Server verwendet. Für die Verbindung zum SQL Server habe ich 2 generelle Ansätze aber zu beiden Bedenken hinsichtlich der Sicherheit.

  1. Möglichkeit – Verwendung der SQL-Authentifizierung
    Im connectionString steht der Benutzername und Passwort im Klartext. Ich habe keine Möglichkeit gefunden, den gesamten connectionString oder zumindest das Passwort zu verschlüsseln. Geht bei reiner SQLConnection, meiner Meinung nach nicht bei EntityFramework Connection.
  2. Möglichkeit – Verwenden der integrierten Windows-Sicherheit (Windows-Authentifizierung)
    Die Verbindungszeichenfolge enthält keine Anmelde- und Kennwortinformationen. Der Anwender kann die Software nutzen und auf die entsprechenden Daten aus der Datenbank zugreifen. Das gefällt mir persönlich am besten. Nur habe ich das Problem, dass sich der Nutzer auch über andere Datenbanksoftware Zugang zu den Daten verschaffen und verändern kann. Wie kann man das verhindern?

Vielen Dank

G
538 Beiträge seit 2008
vor 12 Jahren

Zu 1) kann ich nichts sagen.
Zu 2) Du kannst das gar nicht verhindern ... aber ein paar Anmerkungen:

Entweder sorgst du dafür, dass der Benutzer nur tun darf, was eben für Ihn erlaubt ist (das Rechtemodell im SQL-Server wird dir dabei helfen) - dann benötigst du Check-Constraints, ordentliche FKs, einige Views - vielleicht auch ein paar Stored Procedures.
Oder du kapselst das ganze in ein Trusted-Subsystem (beispielsweise eine Webschnittstelle) und kannst dann dort statt in der Datenbank das Rechtemodell unterbringen.
Was den benutzer aber nicht davon abhält trotzdem mit einem anderen Programm die Daten generieren (sofern das Programm deine Schnittstelle versteht).

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

3.825 Beiträge seit 2006
vor 12 Jahren

Ich habe keine Möglichkeit gefunden, den gesamten connectionString oder zumindest das Passwort zu verschlüsseln. Geht bei reiner SQLConnection, meiner Meinung nach nicht bei EntityFramework Connection.

Genau dazu gibt es aber schon viele Infos hier im Forum.

Zum Beispiel in den FAQ : [FAQ] DB-Password/Kennwort/Connection-String sicher speichern

Grüße Bernd

PS.: Ob das auch für das Entity Framework gilt kann ich nicht sagen.

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3