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


Biztonságos adathozzáférés

A biztonságos ADO.NET kód írásához ismernie kell a mögöttes adattárban vagy adatbázisban elérhető biztonsági mechanizmusokat. Figyelembe kell vennie az alkalmazás által esetleg tartalmazott egyéb funkciók vagy összetevők biztonsági következményeit is.

Hitelesítés, engedélyezés és engedélyek

A Microsoft SQL Serverhez való csatlakozáskor használhatja a Windows-hitelesítést, más néven integrált biztonságot, amely a felhasználói azonosító és jelszó átadása helyett az aktuális aktív Windows-felhasználó identitását használja. A Windows-hitelesítés használata erősen ajánlott, mert a felhasználói hitelesítő adatok nem jelennek meg a kapcsolati sztring. Ha nem tud Windows-hitelesítést használni az SQL Serverhez való csatlakozáshoz, fontolja meg a kapcsolati sztring futásidőben történő létrehozását a SqlConnectionStringBuilder.

A hitelesítéshez használt hitelesítő adatokat az alkalmazás típusától függően eltérően kell kezelni. Egy Windows Forms-alkalmazásban például a felhasználó kérheti a hitelesítési adatok megadását, vagy használhatja a felhasználó Windows-hitelesítő adatait. A webalkalmazások azonban gyakran nem a felhasználó, hanem az alkalmazás által megadott hitelesítő adatokkal férnek hozzá az adatokhoz.

A felhasználók hitelesítése után a műveletek hatóköre a számukra megadott engedélyektől függ. Mindig kövesse a minimális jogosultság elvét, és csak olyan engedélyeket adjon meg, amelyek feltétlenül szükségesek.

További információkért lásd a következő forrásanyagokat.

Erőforrás Leírás
Csatlakozás ion-információk védelme A kapcsolati adatok védelmének ajánlott biztonsági eljárásait és technikáit ismerteti, például a védett konfiguráció használatát kapcsolati sztring titkosításához.
Javaslatok adathozzáférési stratégiákhoz Javaslatokat tesz az adatok elérésére és az adatbázis-műveletek végrehajtására.
Csatlakozás ion String Builders Ismerteti, hogyan hozhat létre kapcsolati sztring a felhasználói bemenetből futásidőben.
Az SQL Server biztonságának áttekintése Az SQL Server biztonsági architektúrájának ismertetése.

Paraméteres parancsok és SQL-injektálás

A paraméteres parancsok segítenek védekezni az SQL-injektálási támadások ellen, amelyekben a támadó "injektál" egy parancsot egy SQL-utasításba, amely veszélyezteti a kiszolgáló biztonságát. A paraméteres parancsok védik az SQL-injektálási támadásokat azáltal, hogy biztosítják, hogy a külső forrásból kapott értékek csak értékekként legyenek átadva, és ne része a Transact-SQL utasításnak. Ennek eredményeképpen az értékbe beszúrt Transact-SQL-parancsok nem lesznek végrehajtva az adatforrásban. Ehelyett csak paraméterértékként értékelik ki őket. A biztonsági előnyök mellett a paraméteres parancsok kényelmes módszert biztosítanak a Transact-SQL utasítással vagy tárolt eljárással átadott értékek rendszerezésére.

A paraméteres parancsok használatával kapcsolatos további információkért tekintse meg az alábbi erőforrásokat.

Erőforrás Leírás
DataAdapter-paraméterek Ez a cikk azt ismerteti, hogyan használhat paramétereket egy DataAdapter.
Adatok módosítása tárolt eljárásokkal A paraméterek megadásának és a visszatérési érték beszerzésének módját ismerteti.
Engedélyek kezelése tárolt eljárásokkal az SQL Serveren Ismerteti, hogyan használható az SQL Server által tárolt eljárások az adathozzáférés beágyazására.

Szkript kihasználása

A szkriptek kihasználása az injektálás egy másik formája, amely a weblapra beszúrt rosszindulatú karaktereket használja. A böngésző nem ellenőrzi a beszúrt karaktereket, és a lap részeként dolgozza fel őket.

További információkért lásd a következő forrásanyagokat.

Erőforrás Leírás
A szkriptek kihasználása – áttekintés Ismerteti, hogyan védhet a szkriptek és az SQL-utasítások kihasználása ellen.

Próbatámadások

A támadók gyakran kivételből származó információkat használnak, például a kiszolgáló, az adatbázis vagy a tábla nevét, hogy támadást hajtsanak létre a rendszeren. Mivel a kivételek konkrét információkat tartalmazhatnak az alkalmazásról vagy az adatforrásról, segíthet az alkalmazás és az adatforrás védelmének megőrzésében azáltal, hogy csak az alapvető információkat adja ki az ügyfélnek.

További információkért lásd a következő forrásanyagokat.

Erőforrás Leírás
Kivételek kezelése és kivetése a .NET-ben A kipróbálás/fogás/végül a strukturált kivételkezelés alapvető formáit ismerteti.
Ajánlott eljárások kivételekhez A kivételek kezelésének ajánlott eljárásait ismerteti.

A Microsoft Access és az Excel adatforrások védelme

A Microsoft Access és a Microsoft Excel adattárként működhet egy ADO.NET alkalmazáshoz, ha a biztonsági követelmények minimálisak vagy nem léteznek. A biztonsági funkciók hatékonyak az elrettentés szempontjából, de nem szabad többre támaszkodni, mint a nem informált felhasználók általi elriasztásra. Az Access és az Excel fizikai adatfájljai a fájlrendszerben találhatók, és minden felhasználó számára elérhetőknek kell lenniük. Ez sebezhetővé teszi őket az olyan támadásokkal szemben, amelyek lopást vagy adatvesztést okozhatnak, mivel a fájlok könnyen másolhatók vagy módosíthatók. Ha robusztus biztonságra van szükség, használja az SQL Servert vagy egy másik kiszolgálóalapú adatbázist, ahol a fizikai adatfájlok nem olvashatók a fájlrendszerből.

Az Access- és Excel-adatok védelméről az alábbi forrásokban olvashat bővebben.

Erőforrás Leírás
Biztonsági szempontok és útmutató az Access 2007-hez Az Access 2007 biztonsági módszereit ismerteti, például a fájlok titkosítását, a jelszavak felügyeletét, az adatbázisok új ACCDB- és ACCDE-formátumokra való konvertálását, valamint egyéb biztonsági beállítások használatát.
Bevezetés az Access 2010 biztonságába Áttekintést nyújt az Access 2010 által kínált biztonsági funkciókról.

Vállalati szolgáltatások

A COM+ saját biztonsági modellt tartalmaz, amely a Windows-fiókokra és a folyamat/szál megszemélyesítésére támaszkodik. A System.EnterpriseServices névtér burkolókat biztosít, amelyek lehetővé teszik, hogy a .NET-alkalmazások integrálják a felügyelt kódot a COM+ biztonsági szolgáltatásokkal az ServicedComponent osztályon keresztül.

További információkért lásd a következő forrásanyagot.

Erőforrás Leírás
Szerepköralapú biztonság Ismerteti, hogyan integrálható a felügyelt kód a COM+ biztonsági szolgáltatásokkal.

Nem felügyelt kóddal való együttműködés

A .NET-keretrendszer nem felügyelt kódokkal való interakciót biztosít, beleértve a COM-összetevőket, a COM+ szolgáltatásokat, a külső típuskódtárakat és számos operációsrendszer-szolgáltatást. A nem felügyelt kódokkal való munka magában foglalja a felügyelt kód biztonsági szegélyén kívülre történő be- és kivezetést. Mind a kódnak, mind az azt meghívó kódnak nem felügyelt kód engedéllyel kell rendelkeznie (SecurityPermission a UnmanagedCode jelölő meg van adva). A nem felügyelt kód nem szándékos biztonsági réseket okozhat az alkalmazásban. Ezért kerülnie kell a nem felügyelt kódokkal való üzemeltetést, kivéve, ha feltétlenül szükséges.

További információkért lásd a következő forrásanyagokat.

Erőforrás Leírás
Nem felügyelt kóddal való együttműködés Olyan témaköröket tartalmaz, amelyek ismertetik, hogyan teheti elérhetővé a COM-összetevőket a .NET-keretrendszer, és hogyan teheti elérhetővé .NET-keretrendszer összetevőket a COM-nak.
Speciális COM-együttműködés Speciális témaköröket tartalmaz, például az elsődleges interop szerelvényeket, a szálkezelést és az egyéni rendezést.

Lásd még