Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.