Megosztás a következőn keresztül:


Biztonság a LINQ-ban az SQL-ben

Az adatbázishoz való csatlakozáskor mindig fennállnak biztonsági kockázatok. Bár az SQL-hez való LINQ új módszereket is tartalmazhat az adatok SQL Serveren való használatához, nem biztosít további biztonsági mechanizmusokat.

Hozzáférés-vezérlés és hitelesítés

A LINQ–SQL nem rendelkezik saját felhasználói modellel vagy hitelesítési mechanizmusokkal. Az SQL Server Security használatával szabályozhatja az objektummodellhez leképezett adatbázishoz, adatbázistáblákhoz, nézetekhez és tárolt eljárásokhoz való hozzáférést. A minimálisan szükséges hozzáférés biztosítása a felhasználók számára, és erős jelszavak megkövetelése a felhasználói hitelesítéshez.

Leképezési és sémainformációk

Az SQL-CLR-típusleképezés és az adatbázisséma adatai az objektummodellben vagy külső leképezési fájlban mindenki számára elérhetők, akik hozzáférnek a fájlrendszer ezen fájljaihoz. Tegyük fel, hogy a sémainformációk mindenki számára elérhetők lesznek, akik hozzáférhetnek az objektummodellhez vagy a külső leképezési fájlhoz. A sémaadatokhoz való szélesebb körű hozzáférés megakadályozása érdekében használjon fájlbiztonsági mechanizmusokat a forrásfájlok és a leképezési fájlok védelméhez.

Kapcsolati sztringek

Ha lehetséges, kerülni kell a jelszavak használatát kapcsolati sztring. Az objektummodellhez vagy külső leképezési fájlhoz az Objektumrelációs Tervező vagy az SQLMetal parancssori eszköz használatakor nem csak egy kapcsolati sztring biztonsági kockázat, hanem a kapcsolati sztring is hozzáadható világos szövegben. Bárki, aki hozzáfér az objektummodellhez vagy a külső leképezési fájlhoz a fájlrendszeren keresztül, láthatja a kapcsolatjelszót (ha az kapcsolati sztring része).

Az ilyen kockázatok minimalizálása érdekében az integrált biztonság használatával hozzon létre megbízható kapcsolatot az SQL Serverrel. Ezzel a módszerrel nem kell jelszót tárolnia a kapcsolati sztring. További információ: SQL Server Security.

Integrált biztonság hiányában egyértelmű szöveges jelszóra lesz szükség a kapcsolati sztring. A kapcsolati sztring biztonságossá tételének legjobb módja a kockázat sorrendjének növelése, a következő:

  • Integrált biztonság használata.

  • Jelszóval biztonságossá teheti a kapcsolati sztring, és minimálisra csökkentheti a kapcsolati sztring való áthaladást.

  • Használjon osztályt System.Data.SqlClient.SqlConnection kapcsolati sztring helyett, mivel ez korlátozza az expozíció időtartamát. A LINQ–SQL System.Data.Linq.DataContext osztály példányosítható egy SqlConnection.

  • Minimalizálja az élettartamot és az érintési pontokat az összes kapcsolati sztring.

Lásd még