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.