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. |