Biztonság áttekintése

Az alkalmazások biztonságossá tétele folyamatban van. Soha nem lesz olyan pont, ahol a fejlesztők garantálhatják, hogy egy alkalmazás minden támadástól biztonságos legyen, mert lehetetlen megjósolni, hogy az új technológiák milyen jövőbeli támadásokat fognak eredményezni. Ezzel szemben csak azért, mert még senki sem talált (vagy tett közzé) biztonsági hibákat a rendszerben, nem jelenti azt, hogy egyik sem létezik vagy létezhet. A projekt tervezési fázisában meg kell terveznie a biztonságot, valamint meg kell terveznie, hogyan tartható fenn a biztonság az alkalmazás teljes élettartama alatt.

Biztonsági tervezés az Azure-ban

A biztonságos alkalmazások fejlesztésének egyik legnagyobb problémája, hogy a biztonság gyakran utógondolat, amit egy projekt kódvégzése után kell megvalósítani. Ha nem építi ki a biztonságot egy alkalmazásba a kezdettől számítva, az nem biztonságos alkalmazásokat eredményez, mert nem sokat gondolkodott azon, hogy mi teszi biztonságossá az alkalmazást.

Az utolsó pillanatban történő biztonsági implementáció további hibákat eredményez, mivel az új korlátozások értelmében a szoftver leáll, vagy át kell írni a nem várt funkciók érdekében. A módosított kód minden sora tartalmaz egy új hiba bevezetésének lehetőségét. Ezért a fejlesztési folyamat korai szakaszában érdemes megfontolnia a biztonságot, hogy az új funkciók fejlesztésével párhuzamosan haladjon.

Fenyegetésmodellezés

A rendszer támadásokkal szembeni védelme csak akkor lehetséges, ha tisztában van azokkal a potenciális támadásokkal, amelyeknek ki van téve. A biztonsági fenyegetések kiértékelésének folyamata, az úgynevezett fenyegetésmodellezés szükséges a biztonsági incidensek valószínűségének és következményeinek meghatározásához az ADO.NET alkalmazásban.

A fenyegetésmodellezés három magas szintű lépésből áll: a támadó nézetének megértése, a rendszer biztonságának jellemzése és a fenyegetések meghatározása.

A fenyegetésmodellezés iteratív módszer az alkalmazás biztonsági réseinek felmérésére, hogy megtalálja azokat, amelyek a legveszélyesebbek, mert a legérzékenyebb adatokat teszik közzé. Miután azonosította a biztonsági réseket, súlyossági sorrendbe állítja őket, és rangsorolt ellenintézkedéseket hoz létre a fenyegetések ellen.

További információkat találhat az alábbi forrásokban:

Erőforrás Leírás
A fenyegetésmodellezési webhely a biztonságtechnikai portálon Az ezen a lapon található erőforrások segítségével megismerheti a fenyegetésmodellezési folyamatot, és létrehozhat fenyegetésmodelleket, amelyekkel biztonságossá teheti saját alkalmazásait

A minimális jogosultság elve

Az alkalmazás tervezésekor, létrehozásakor és üzembe helyezésekor feltételezni kell, hogy az alkalmazást megtámadják. Ezek a támadások gyakran rosszindulatú kódokból származnak, amelyek a kódot futtató felhasználó engedélyeivel futnak. Mások olyan jó szándékú kódból származhatnak, amelyet egy támadó kihasznált. A biztonság tervezésekor mindig a legrosszabb forgatókönyvet kell feltételezni.

Az egyik ellenmérvet alkalmazhatja, ha a lehető legtöbb falat próbálja meg a kód körül felépíteni a lehető legkevesebb jogosultsággal való futtatással. A minimális jogosultság elve azt mondja, hogy minden adott jogosultságot a feladat elvégzéséhez szükséges legrövidebb ideig szükséges minimális kódmennyiségnek kell biztosítani.

A biztonságos alkalmazások létrehozásának ajánlott eljárása az, ha egyáltalán nem rendelkezik engedélyekkel, majd hozzáadja a legszűkebb engedélyeket az éppen végrehajtott feladathoz. Ezzel szemben az összes engedélytől kezdve az egyes engedélyek megtagadásán át a nem biztonságos alkalmazások nehezen tesztelhetők és karbantarthatók, mivel előfordulhat, hogy a biztonsági rések a szükségesnél több engedély akaratlan megadásából származnak.

Az alkalmazások biztonságossá tételével kapcsolatos további információkért tekintse meg az alábbi forrásokat:

Erőforrás Leírás
Alkalmazások biztonságossá tétele Általános biztonsági témakörökre mutató hivatkozásokat tartalmaz. Az elosztott alkalmazások, webalkalmazások, mobilalkalmazások és asztali alkalmazások biztonságossá tételéhez kapcsolódó témakörökre mutató hivatkozásokat is tartalmaz.

Kódelérési biztonság (CAS)

A kódhozzáférési biztonság (CAS) egy olyan mechanizmus, amely segít korlátozni a kód által védett erőforrásokhoz és műveletekhez való hozzáférést. A .NET-keretrendszer a CAS a következő funkciókat hajtja végre:

  • Olyan engedélyeket és engedélykészleteket határoz meg, amelyek a különböző rendszererőforrásokhoz való hozzáférés jogát képviselik.

  • Lehetővé teszi a rendszergazdák számára a biztonsági szabályzat konfigurálását úgy, hogy az engedélyek csoportjait kódcsoportokhoz (kódcsoportokhoz) társítják.

  • Lehetővé teszi, hogy a kód kérje le a futtatáshoz szükséges engedélyeket, valamint azokat az engedélyeket, amelyek hasznosak lennének, és meghatározza, hogy a kódnak mely engedélyekkel kell soha rendelkeznie.

  • Engedélyeket ad minden betöltött szerelvénynek a kód által kért engedélyek és a biztonsági szabályzat által engedélyezett műveletek alapján.

  • Lehetővé teszi, hogy a kód megkövetelje a hívóinak adott engedélyekkel való használatát.

  • Lehetővé teszi, hogy a kód megkövetelje, hogy a hívói digitális aláírással rendelkezzenek, így csak egy adott szervezet vagy webhely hívói hívják meg a védett kódot.

  • A kód futásidejű korlátozásait úgy kényszeríti ki, hogy összehasonlítja a hívásverem minden hívójának megadott engedélyeit azokkal az engedélyekkel, amelyekkel a hívóknak rendelkezniük kell.

A támadások sikeressége esetén esetlegesen előforduló károk minimalizálása érdekében válasszon egy biztonsági környezetet a kódhoz, amely csak azokhoz az erőforrásokhoz biztosít hozzáférést, amelyekre szüksége van ahhoz, hogy elvégezhesse a munkáját, és többé nem.

További információkat találhat az alábbi forrásokban:

Erőforrás Leírás
Kódhozzáférés biztonsága és ADO.NET A kódelérési biztonság, a szerepköralapú biztonság és a részben megbízható környezetek közötti interakciókat ismerteti egy ADO.NET alkalmazás szempontjából.
Kódhozzáférés biztonsága A .NET-keretrendszer CAS-t leíró további témakörökre mutató hivatkozásokat tartalmaz.

Adatbázis biztonsága

A minimális jogosultság elve az adatforrásra is vonatkozik. Az adatbázis-biztonság néhány általános irányelve:

  • Hozzon létre a lehető legalacsonyabb jogosultságokkal rendelkező fiókokat.

  • Ne engedélyezze a felhasználóknak a rendszergazdai fiókokhoz való hozzáférést csak a kód működéséhez.

  • Ne adja vissza a kiszolgálóoldali hibaüzeneteket az ügyfélalkalmazások számára.

  • Ellenőrizze az összes bemenetet az ügyfélen és a kiszolgálón is.

  • Használjon paraméteres parancsokat, és kerülje a dinamikus SQL-utasításokat.

  • Engedélyezze a biztonsági naplózást és naplózást a használt adatbázishoz, hogy a rendszer riasztást kaphasson a biztonsági incidensekről.

További információkat találhat az alábbi forrásokban:

Erőforrás Leírás
AZ SQL Server biztonsága Áttekintést nyújt az SQL Server biztonságáról olyan alkalmazásforgatókönyvekkel, amelyek útmutatást nyújtanak az SQL Servert célzó biztonságos ADO.NET alkalmazások létrehozá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.

Biztonsági szabályzat és Rendszergazda istration

A kódhozzáférési biztonsági (CAS) szabályzat helytelen felügyelete biztonsági hiányosságokat okozhat. Az alkalmazás üzembe helyezése után a biztonság figyelésére szolgáló technikákat kell használni, és új fenyegetések megjelenésekor kockázatokat kell kiértékelni.

További információkat találhat az alábbi forrásokban:

Erőforrás Leírás
Biztonsági házirendek kezelése A biztonsági szabályzatok létrehozásáról és felügyeletéről nyújt tájékoztatást.
Ajánlott biztonsági szabályzatok A biztonsági szabályzat felügyeletét leíró hivatkozásokat tartalmaz.

Lásd még