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


Alkalmazásbiztonsági forgatókönyvek az SQL Serverben

ADO.NET letöltése

Nincs egyetlen helyes módszer biztonságos SQL Server-ügyfélalkalmazás létrehozására. Minden alkalmazás egyedi a követelményekben, az üzembehelyezési környezetben és a felhasználói populációban. Az első üzembe helyezéskor ésszerűen biztonságos alkalmazás idővel kevésbé biztonságossá válhat. Lehetetlen bármilyen pontossággal előrejelezni, hogy milyen fenyegetések léphetnek fel a jövőben.

Az SQL Server termékként számos verzióban fejlődik, és a legújabb biztonsági funkciókkal teszi lehetővé a fejlesztők számára, hogy biztonságos adatbázis-alkalmazásokat hozzanak létre. A biztonság azonban nem szerepel a mezőben; folyamatos figyelést és frissítést igényel.

Gyakori fenyegetések

A fejlesztőknek tisztában kell lenniük a biztonsági fenyegetésekkel, az ellenük biztosított eszközökkel, valamint az ön által okozott biztonsági rések elkerülésének módjával. A biztonságra leginkább láncként lehet gondolni, ahol egy kapcsolat megszakadása veszélyezteti az egész erejét. Az alábbi lista néhány gyakori biztonsági fenyegetést tartalmaz, amelyekről részletesebben is szó esik a jelen szakaszban található témakörökben.

SQL-injektálás

Az SQL-injektálás az a folyamat, amellyel egy rosszindulatú felhasználó érvényes bemenet helyett Transact-SQL utasításokat ad meg. Ha a bemenetet közvetlenül a kiszolgálónak továbbítja az ellenőrzés nélkül, és ha az alkalmazás véletlenül végrehajtja az injektált kódot, akkor a támadás kárt okozhat vagy megsemmisíthet adatokat. Az SQL Server injektálási támadásait a tárolt eljárások és a paraméteres parancsok használatával, a dinamikus SQL elkerülésével és az összes felhasználó engedélyeinek korlátozásával akadályozhatja meg.

Jogosultság kiterjesztése

A jogosultsági támadások emelése akkor fordul elő, ha a felhasználó fel tudja venni egy megbízható fiók, például egy tulajdonos vagy rendszergazda jogosultságait. Mindig a legkevésbé kiemelt jogosultsági szintű felhasználói fiókok alatt futtasson, és csak a szükséges engedélyeket rendelje hozzá. Kerülje a rendszergazdai vagy tulajdonosi fiókok használatát a kód végrehajtásához. Ez korlátozza a támadás sikere esetén bekövetkező sebzés mértékét. További engedélyeket igénylő feladatok végrehajtásakor csak a feladat időtartamára használja az eljárás aláírását vagy megszemélyesítését. A tárolt eljárásokat tanúsítványokkal is aláírhatja, vagy megszemélyesítéssel ideiglenesen engedélyeket rendelhet hozzá.

Próba és intelligens megfigyelés

A próbatámadások az alkalmazás által létrehozott hibaüzenetek használatával kereshetnek biztonsági réseket. Hibakezelés implementálása az összes eljárási kódban annak érdekében, hogy az SQL Server hibainformációi ne legyenek visszaadva a végfelhasználónak.

Authentication

Kapcsolati karakterlánc-beépítési támadás fordulhat elő SQL Server belépések használata esetén, ha a felhasználói bemeneten alapuló kapcsolati karakterlánc futásidőben készül el. Ha a kapcsolati karakterlánc nincs ellenőrizve érvényes kulcsszópárokra, egy támadó további karaktereket szúrhat be, ami lehetővé teheti a bizalmas adatok vagy más erőforrások elérését a kiszolgálón. Ahol csak lehetséges, használja a Windows-hitelesítést. Ha SQL Server bejelentkezéseket kell használnia, használja a SqlConnectionStringBuilder kapcsolatláncok futás közbeni létrehozásához és ellenőrzéséhez.

Passwords

Sok támadás sikeres volt, mert a betolakodó képes volt jelszót beszerezni vagy kitalálni egy kiemelt felhasználó számára. A jelszavak az első védelmi vonal a behatolók ellen, ezért az erős jelszavak beállítása elengedhetetlen a rendszer biztonsága szempontjából. Jelszószabályzatok létrehozása és kényszerítése vegyes módú hitelesítéshez.

Mindig rendeljen erős jelszót a sa fiókhoz, még Windows-hitelesítés használata esetén is.

Ebben a szakaszban

Biztonságos dinamikus SQL írása az SQL Serveren
A biztonságos dinamikus SQL tárolt eljárások használatával történő írásának technikái.

Következő lépések