Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sicherheitsrisiken sind immer vorhanden, wenn Sie eine Verbindung mit einer Datenbank herstellen. Obwohl LINQ to SQL möglicherweise einige neue Möglichkeiten zum Arbeiten mit Daten in SQL Server enthält, bietet es keine zusätzlichen Sicherheitsmechanismen.
Zugriffssteuerung und Authentifizierung
LINQ to SQL verfügt nicht über eigene Benutzermodell- oder Authentifizierungsmechanismen. Verwenden Sie SQL Server Security, um den Zugriff auf die Datenbank, Datenbanktabellen, Ansichten und gespeicherten Prozeduren zu steuern, die Ihrem Objektmodell zugeordnet sind. Gewähren Sie den minimal erforderlichen Zugriff auf Benutzer und fordern Sie starke Passwörter für die Benutzerauthentifizierung.
Zuordnung und Schemainformationen
SQL-CLR Typzuordnungs- und Datenbankschemainformationen in Ihrem Objektmodell oder der externen Zuordnungsdatei sind für alle verfügbar, die Zugriff auf diese Dateien im Dateisystem haben. Gehen Sie davon aus, dass Schemainformationen für alle verfügbar sind, die auf das Objektmodell oder die externe Zuordnungsdatei zugreifen können. Um einen breiteren Zugriff auf Schemainformationen zu verhindern, verwenden Sie Dateisicherheitsmechanismen, um Quelldateien und Zuordnungsdateien zu sichern.
Verbindungszeichenfolgen
Die Verwendung von Kennwörtern in Verbindungszeichenfolgen sollte möglichst vermieden werden. Es ist nicht nur eine Verbindungszeichenfolge, die ein Sicherheitsrisiko für sich darstellt, sondern die Verbindungszeichenfolge kann auch im Klartext zum Objektmodell oder zur externen Zuordnungsdatei hinzugefügt werden, wenn Sie das Befehlszeilentool Object Relational Designer oder SQLMetal verwenden. Jeder Benutzer mit Zugriff auf das Objektmodell oder die externe Zuordnungsdatei über das Dateisystem könnte das Verbindungskennwort sehen (wenn es in der Verbindungszeichenfolge enthalten ist).
Um solche Risiken zu minimieren, verwenden Sie integrierte Sicherheit, um eine vertrauenswürdige Verbindung mit SQL Server herzustellen. Mit diesem Ansatz müssen Sie kein Kennwort in der Verbindungszeichenfolge speichern. Weitere Informationen finden Sie unter SQL Server Security.
Ohne integrierte Sicherheit wird in der Verbindungszeichenfolge ein Klartextkennwort benötigt. Folgendes sind die besten Möglichkeiten, die Verbindungszeichenfolge zu sichern (sicherste Möglichkeiten zuerst):
Verwenden Sie die integrierte Sicherheit von Windows.
Sichern Sie Verbindungszeichenfolgen mit Kennwörtern, und minimieren Sie das Übergeben von Verbindungszeichenfolgen.
Verwenden Sie eine System.Data.SqlClient.SqlConnection Klasse anstelle einer Verbindungszeichenfolge, da sie die Dauer der Belichtung begrenzt. Instanziieren der System.Data.Linq.DataContext-Klasse in LINQ to SQL mit einem SqlConnection-Objekt
Minimieren der Lebensdauer und Berührungsereignisse aller Verbindungszeichenfolgen