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


Kapcsolatadatok védelme

Az adatforráshoz való hozzáférés védelme az alkalmazások biztonságossá tételének egyik legfontosabb célja. A kapcsolati sztring potenciális biztonsági rést jelenthet, ha nincs biztosítva. A kapcsolati adatok egyszerű szövegben való tárolása vagy a memóriában való megőrzése veszélyeztetheti a teljes rendszert. A forráskódba beágyazott kapcsolati sztringek a Ildasm.exe (IL Disassembler) használatával olvashatók a lefordított szerelvény általános köztes nyelvének (CIL) megtekintéséhez.

A kapcsolati sztring biztonsági rések a használt hitelesítés típusa, a kapcsolati sztring memóriában és lemezen való megőrzése, valamint a futásidőben történő összeállításukhoz használt technikák alapján merülhetnek fel.

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Ha azure SQL-hez csatlakozik, az Azure-erőforrások felügyelt identitásai az ajánlott hitelesítési módszer.

Windows-hitelesítés használata

Az adatforráshoz való hozzáférés korlátozásához biztonságos kapcsolati adatokat kell megadnia, például a felhasználói azonosítót, a jelszót és az adatforrás nevét. A felhasználói adatok felfedésének elkerülése érdekében javasoljuk, hogy windowsos hitelesítést (más néven integrált biztonságot) használjon a helyszíni adatforrásokhoz. (Az Azure SQL-hez való csatlakozáskor azonbanFelügyelt identitások azure-erőforrásokhoz.) A Windows-hitelesítés egy kapcsolati sztring a kulcsszavak vagy Trusted_Connection kulcsszavak Integrated Security használatával van megadva, így nincs szükség felhasználói azonosítóra és jelszóra. A Windows-hitelesítés használatakor a felhasználókat a Windows hitelesíti, a kiszolgálói és adatbázis-erőforrásokhoz való hozzáférést pedig a Windows-felhasználók és -csoportok engedélyeinek megadása határozza meg.

Azokban az esetekben, amikor nem lehet Windows-hitelesítést használni, fokozott körültekintéssel kell elérhetővé tenni a felhasználói hitelesítő adatokat a kapcsolati sztring. Egy ASP.NET alkalmazásban konfigurálhat Egy Windows-fiókot rögzített identitásként, amely adatbázisokhoz és más hálózati erőforrásokhoz való csatlakozáshoz használható. Engedélyezi a megszemélyesítést a web.config fájl identitáselemében, és megadhatja a felhasználónevet és a jelszót.

<identity impersonate="true"
        userName="MyDomain\UserAccount"
        password="*****" />

A rögzített identitásfióknak alacsony jogosultságú fióknak kell lennie, amely csak a szükséges engedélyeket kapta meg az adatbázisban. Emellett titkosítania kell a konfigurációs fájlt, hogy a felhasználónév és a jelszó ne legyen egyértelmű szövegben elérhetővé téve.

Fontos

A Microsoft azt javasolja, hogy a legbiztonságosabb hitelesítési folyamatot használja. Az ebben az eljárásban leírt hitelesítési folyamat nagyon nagy megbízhatóságot igényel az alkalmazásban, és olyan kockázatokat hordoz, amelyek más folyamatokban nem jelennek meg. Ezt a folyamatot csak akkor érdemes használni, ha más biztonságosabb folyamatok, például a felügyelt identitások nem életképesek.

Kerülje a kapcsolati sztring tárolását egy OleDbConnection univerzális adatkapcsolatú (UDL) fájlban. Az UCL-ek tiszta szövegben vannak tárolva, és nem titkosíthatók. Az UDL-fájlok az alkalmazás külső fájlalapú erőforrásai, és nem védhetők meg vagy titkosíthatók .NET-keretrendszer használatával.

Injektálási támadások elkerülése kapcsolati sztringkészítőkkel

Kapcsolati sztring injektálási támadás akkor fordulhat elő, ha dinamikus sztringösszefűzést használ a felhasználói bemeneten alapuló kapcsolati sztring létrehozásához. Ha a felhasználói bemenet nincs érvényesítve, és a rosszindulatú szöveg vagy karakterek nem szöknek meg, a támadó potenciálisan hozzáférhet bizalmas adatokhoz vagy más erőforrásokhoz a kiszolgálón. A probléma megoldásához ADO.NET 2.0 új kapcsolati sztring szerkesztőosztályokat vezetett be, amelyek ellenőrzik kapcsolati sztring szintaxist, és gondoskodnak arról, hogy további paraméterek ne legyenek beállítva. További információ: Kapcsolati sztringkészítők.

Használja a következő parancsot: Persist Security Info=False

Az alapértelmezett érték hamis; javasoljuk, hogy ezt az alapértelmezett értéket Persist Security Info használja az összes kapcsolati sztring. true A biztonsági szempontból bizalmas adatok ( például a felhasználói azonosító és a jelszó) megadása Persist Security Info vagy yes engedélyezése egy kapcsolatból való lekértetésére a megnyitás után. Amikor Persist Security Info a rendszer a false biztonsági adatokat a kapcsolat megnyitásához használja, a norendszer elveti vagy elveti a biztonsági adatokat, biztosítva, hogy a nem megbízható forrás ne férhessen hozzá a biztonsági szempontból bizalmas információkhoz.

Konfigurációs fájlok titkosítása

A kapcsolati sztring konfigurációs fájlokban is tárolhatja, ami szükségtelenné teszi, hogy beágyazza őket az alkalmazás kódjába. A konfigurációs fájlok olyan szabványos XML-fájlok, amelyekhez .NET-keretrendszer meghatározta a közös elemeket. A konfigurációs fájlok kapcsolati sztringjei általában egy <Windows-alkalmazás app.config app.config connectionStrings> elemében vagy egy ASP.NET-alkalmazás web.config fájljában vannak tárolva. A kapcsolati sztring konfigurációs fájlokból való tárolásának, beolvasásának és titkosításának alapjairól a kapcsolati sztringek és a konfigurációs fájlok című témakörben talál további információt.

Lásd még