Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Beveiligingsrisico's zijn altijd aanwezig wanneer u verbinding maakt met een database. Hoewel LINQ naar SQL mogelijk een aantal nieuwe manieren bevat om met gegevens in SQL Server te werken, biedt het geen extra beveiligingsmechanismen.
Toegangsbeheer en verificatie
LINQ naar SQL heeft geen eigen gebruikersmodel of verificatiemechanismen. Gebruik SQL Server Security om de toegang tot de database, databasetabellen, weergaven en opgeslagen procedures te beheren die zijn toegewezen aan uw objectmodel. Verleen de minimaal vereiste toegang aan gebruikers en vereisen sterke wachtwoorden voor gebruikersauthenticatie.
Toewijzings- en schemagegevens
SQL-CLR typetoewijzing en databaseschemagegevens in uw objectmodel of extern toewijzingsbestand zijn beschikbaar voor iedereen met toegang tot die bestanden in het bestandssysteem. Stel dat schemagegevens beschikbaar zijn voor iedereen die toegang heeft tot het objectmodel of het externe toewijzingsbestand. Om te voorkomen dat schema-informatie breder toegankelijk wordt, gebruikt u bestandsbeveiligingsmechanismen om bronbestanden en toewijzingsbestanden te beveiligen.
Verbindingsreeksen
Het gebruik van wachtwoorden in verbindingsreeksen moet waar mogelijk worden vermeden. Niet alleen is een verbindingsreeks een beveiligingsrisico op zichzelf, maar de verbindingsreeks kan ook in duidelijke tekst worden toegevoegd aan het objectmodel of extern toewijzingsbestand wanneer u het opdrachtregelprogramma Object Relational Designer of SQLMetal gebruikt. Iedereen met toegang tot het objectmodel of extern toewijzingsbestand via het bestandssysteem kan het verbindingswachtwoord zien (als het is opgenomen in de verbindingsreeks).
Als u dergelijke risico's wilt minimaliseren, gebruikt u geïntegreerde beveiliging om een vertrouwde verbinding te maken met SQL Server. Door deze methode te gebruiken, hoeft u geen wachtwoord op te slaan in de verbindingsreeks. Zie SQL Server-beveiliging voor meer informatie.
Bij afwezigheid van geïntegreerde beveiliging is een duidelijk-tekst wachtwoord nodig in de verbindingsreeks. De beste manier om uw verbindingsreeks te beveiligen, in toenemende volgorde van risico's, is als volgt:
Geïntegreerde beveiliging gebruiken.
Beveilig verbindingsreeksen met wachtwoorden en minimaliseer het doorgeven van verbindingsreeksen.
Gebruik een System.Data.SqlClient.SqlConnection klasse in plaats van een verbindingsreeks omdat hiermee de duur van de blootstelling wordt beperkt. De LINQ naar SQL System.Data.Linq.DataContext-klasse kan worden geïnstantieerd door gebruik te maken van een SqlConnection.
Minimaliseer levensduur en aanraakpunten voor alle verbindingsreeksen.