Biztonság beállítása

ASP.NET Configuration lehetővé teszi, hogy konfigurálja a teljes szerver, ASP.NET alkalmazás, illetve egyes oldalak egy alkönyvtárban a kérelmet. Beállítható, funkciók, mint a hitelesítés, az oldal gyorsítótárral, fordító beállításai konkrét hibaüzenetet, hibakeresési és nyomkövetési lehetőségek, és még sok más. Ez a rész leírja, hogyan kell használni az ajánlásokat, hogy optimalizálja a biztonsági konfigurációs lehetőségek beállításakor helyi vagy távoli ASP.NET alkalmazásokat. További információ a védelmi egyéb ASP.NET funkciók, lásd. A felsorolt ​​szakaszokban bekezdésben See. Túl.

Ezek ajánlásokat konfiguráció és kódolás segítségével javítja az alkalmazások biztonságát. De ugyanilyen fontos, hogy folyamatosan telepíteni a szerver a legújabb frissítéseket védelmi alkalmazások a Microsoft Windows és a Microsoft Internet Information Services Services (IIS), valamint az összes frissítést a Microsoft SQL Server vagy más szoftver, amely hozzáférést biztosít adatforrás.

Az ASP.NET konfigurációs rendszer csak az ASP.NET erőforrásokat és lehetőségeket. Konfigurálja a források nem kapcsolódó ASP.NET, használja a lehetőséget, hogy a IIS konfigurációt. További információ arról, hogyan kell beállítani az IIS, lásd. Munkavégzés a Metabase (IIS 6.0) és az IIS Metabase properties könyvtárban.

Amikor ment a bizalmas adatokat az alkalmazás konfigurációs fájl titkosításához érzékeny értékeket védett konfigurációt. A különlegesen érzékeny adatokat tartalmaznak titkosítási kulcsokat tárolt konfigurációs és összekötő elem machineKey sort az adatforrás tárolt konfigurációs elem connectionStrings. További információért lásd. A titkosítás konfigurációs adatok felhasználásával Védett Configuration.

Adatvédelmi titkosítási kulcs konfiguráció konténerek

A kritikus kérdés, ha a titkosítási kulcs fájl védelem, más néven a konténert, amelyben a kulcsot tárolni. Fontos szem előtt tartani a védelmi szint társul a tartályba. Megjegyezzük, hogy a tartály tartjuk a szokásos operációs rendszer fájlt, és hozzáférést biztosít a titkosító kulcs van beállítva ACL a fájlkezelő. Hozzáférés-vezérlési listák örökölt a mappát, amelyben a fájl jön létre. Konténerek kulcsok helyi hatályát (useMachineContainer "true") vannak tárolva egy rejtett mappában% ALLUSERSPROFILE% \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys.

Alapértelmezésben a felhasználó, aki létrehozta a tartály teljes hozzáférést biztosít a legfontosabb. A felhasználó (beleértve a Rendszergazdák csoport) lehet, hogy nem férnek hozzá a tartályt, attól függően, hogy a tartály-eket. A többi felhasználó hozzáférjen a tartály regisztráció -PA IIS ASP.NET kulcs (IIS regisztrálási eszköz ASP.NET (Aspnet_regiis.exe)). Próbáló felhasználók kódolására vagy dekódolására adatokat a megadott kulcs kell a szükséges jogosultsága a kulcs tartályba.

Egyes esetekben a felhasználó rendszergazdai jogok nélkül is hozzon létre egy titkosítási kulcsot. Ez akkor fordulhat elő, ha az alkalmazás konfigurációja a titkosítást, de a kulcs nem létezik. Felhívjuk figyelmét, hogy amennyiben ebben az esetben a tartály jön létre, akkor a titkosítási művelet.

Ezután a .NET-keretrendszer biztosítja a szükséges kulcsot, és a megfelelő konténer felsorolja az aktuális felhasználói hozzáférés-vezérlés. A lehetséges probléma ezzel az, hogy a felhasználó rendszergazda nem tud hozzáférni a tartály titkosítási kulcsot. Rendszergazdák férhetnek hozzá a kulcsot, hogy szerezni egy fizikai fájlt a mappából a fent meghatározott. Ismertetett javaslatok azt mutatják, hogy a felhasználó rendszergazdai jogosultságokkal kell létrehozni a szükséges kulcsokat, mielőtt használja őket, és így elkerülhető a teremtés idején titkosítást.

Egy megosztott hosting környezetben, a rosszindulatú felhasználók módosíthatják a konfigurációs beállításokat, szerkesztésével konfigurációs fájlokat közvetlenül, az API használatával, illetve a többi konfiguráció-menedzsment és konfigurációs eszközök. Prevent változtatni az alkalmazás konfigurációs lehet elérni zár a konfigurációs partíció. Ez megtehető hozzáadásával helyen elemek Machine.config fájlt vagy egyéb konfigurációs fájl található a hierarchiában magasabb, mint a konfigurációs fájl, amely védeni kell. helyen elem megelőzésére használják változások leányvállalatok konfigurációs fájl beállításait. További információért lásd. Végigjátszás. Kikapcsolja az ASP.NET konfigurációs beállításokat és gyakorlati útmutató. Beállítás egyes könyvtárakat használ helyen paramétereket.

Alapértelmezés szerint, távoli konfigurációs le van tiltva. Ha engedélyezve van, a felhasználói hitelesítés történik a DCOM szinten, és csak helyi adminisztrátorok joga van hozzáférni írni és olvasni konfigurációs adatokat. További információkat. Lásd szerkesztése ASP.NET Távoli konfigurációs fájlok.

A rendszer konfiguráció határozza meg engedélyt, mielőtt hívja egyéni konfigurációt rész felvezető, és ez a kihívás nem bízik abban, a .NET-keretrendszer. A hívás történik bizalommal felbontású alkalmazásokhoz. ASP.NET konfigurációs rendszer bízik a könyvtár% SystemRoot% \ Microsoft.NET \ Framework \ változat \ config, de nem bíznak a könyvtárak alatta a hierarchiában.

Az engedélyek felhasználói konfigurációs rész felvezető kell adnia hozzáférés-vezérlési attribútumait a kódot (CAS) igény szerint. További információért lásd. A részben hozzáférés vezérlést a kódot ASP.NET vagy alapú hozzáférés-vezérlés a kódot.

Lock konfigurációs fájl

Blokk konfigurációs fájl lehet, hogy csak néhány kísérlet, hogy mentse az adatokat a konfigurációs fájl vagy nyisson meg egy fájlt leíró. A rosszindulatú felhasználó megpróbálja megakadályozni a gyökér Machine.config fájl vagy a Web.config fájlt, de megköveteli a teljes bizalom, amely alapértelmezésben le van tiltva.

Az API-konfigurációs fájl olvasni tetszőleges fájlok

Osztályok API-konfiguráció nem tud olvasni könyvtárak, melyek nem részei a kérelem domain, vagy kiterjesztésű fájlokat, amelyeket nem a.config.

Amikor az IIS irányuló kérelmet kap egy ASP.NET alkalmazás IIS Metabase beállítások érvényesek az ASP.NET alkalmazás, függetlenül attól, hogy az ASP.NET konfigurációs beállítások ehhez az alkalmazáshoz. Ez a korlátozás vezethet, hogy az ASP.NET alkalmazás nem lesz elérhető a felhasználók számára, illetve kisebb lesz a hozzáférés korlátozása.

Például, ha az IIS Metabase biztonsági beállítások úgy vannak beállítva, hogy lehetővé tegye a hozzáférést csak a felhasználók azonosítását, valamint a Web.config IIS fájl biztonsági beállításai lehetővé teszik a névtelen hozzáférést a helyszínen, a névtelen felhasználók nem tudnak hozzáférni a helyszínen. Ennek orvoslására a szükséges beállítani az IIS-kezelő az internetes alkalmazás hozzáférést biztosít a névtelen felhasználók számára.

További információ a védelmi szolgáltatási képességek IIS, lásd. A Biztonsági IIS 6.0.

A következő szakaszok leírják, hogyan lehet csökkenteni a lehetséges kockázatokat biztonság létre váratlan hiba üzeneteket és eseményeket.

kivételek

Annak érdekében, hogy a rendelkezés a bizalmas információk nem kívánatos, akkor beállíthatja az alkalmazás úgy, hogy vagy nem jelenik meg a részletes hiba vagy kijelzők részletezett hibaüzenetek, kivéve, ha az ügyfél a web szerver is. Kiegészítő információk. CustomErrors részén elem (ASP.NET rendszer paraméterek).

Event Log

Egészségügyi Monitoring

Sikeres és sikertelen bejelentkezési kísérletek bejelentkezve segítségével az egészségügyi monitoring eszközök ASP.NET. Az alapértelmezett beállítás szerint ez azt jelenti, hogy ha egy kísérlet arra, hogy jelentkezzen be a eseménynaplójának alkalmazás a felhasználó nevét és egyéb diagnosztikai információkat. Biztosítani kell, hogy hozzáférést biztosít az eseménynapló korlátozódik bizalmasságának biztosítása az ilyen információkat.