Az üzenetnaplózás biztonsági problémái
Ez a témakör azt ismerteti, hogyan védheti meg a bizalmas adatokat az üzenetnaplókban való nyilvánosságra kerüléstől, valamint az üzenetnaplózás által generált eseményektől.
Biztonsági problémák
Bizalmas adatok naplózása
A Windows Communication Foundation (WCF) nem módosítja az alkalmazásspecifikus fejlécekben és törzsekben lévő adatokat. A WCF emellett nem követi nyomon a személyes adatokat az alkalmazásspecifikus fejlécekben vagy törzsadatokban.
Ha az üzenetnaplózás engedélyezve van, az alkalmazásspecifikus fejlécekben lévő személyes adatok, például egy lekérdezési sztring; és a törzsadatok, például egy hitelkártyaszám, láthatóvá válhatnak a naplókban. Az alkalmazástelepítő feladata a hozzáférés-vezérlés kényszerítése a konfiguráción és a naplófájlokon. Ha nem szeretné, hogy ezek az információk megjelenjenek, tiltsa le a naplózást, vagy szűrje ki az adatok egy részét, ha meg szeretné osztani a naplókat.
Az alábbi tippek segítségével megakadályozhatja, hogy a naplófájlok tartalma véletlenül elérhetővé legyen téve:
Győződjön meg arról, hogy a naplófájlokat hozzáférés-vezérlési listák (ACL) védik mind a webgazda, mind az önkiszolgáló forgatókönyvekben.
Olyan fájlkiterjesztést válasszon, amely nem kézbesíthető egyszerűen webes kéréssel. A .xml fájlkiterjesztés például nem biztonságos választás. A fentiekhez hasznos lehet az Internet Information Services (IIS) felügyeleti útmutatójának áttekintése, melyben megtalálható a kiszolgálható kiterjesztések listája.
Adjon meg egy abszolút elérési utat a naplófájl helyéhez, amelynek a webes gazdagép virtuális könyvtárán kívül kell lennie, hogy megakadályozza, hogy egy külső fél webböngészővel férhessen hozzá.
Alapértelmezés szerint a kulcsok és a személyazonosításra alkalmas adatok (PII), például a felhasználónév és a jelszó nem lesznek naplózva nyomkövetésekben és naplózott üzenetekben. A gép rendszergazdája azonban használhatja a enableLoggingKnownPII
Machine.config fájl elemében található machineSettings
attribútumot, hogy lehetővé tegyék a gépen futó alkalmazások számára az ismert, személyazonosításra alkalmas adatok (PII) naplózását. A következő konfiguráció bemutatja, hogyan teheti ezt meg:
<configuration>
<system.serviceModel>
<machineSettings enableLoggingKnownPii="true"/>
</system.serviceModel>
</configuration>
Az alkalmazástelepítő ezután az logKnownPii
App.config vagy a Web.config fájlban található attribútumot használhatja a PII-naplózás engedélyezéséhez az alábbiak szerint:
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging"
logKnownPii="true">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\logs\messages.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
Csak akkor, ha mindkét beállítás engedélyezve van true
a PII-naplózásban. A két kapcsoló kombinációja lehetővé teszi az ismert PII naplózását az egyes alkalmazásokhoz.
Fontos
A 4.6.1-.NET-keretrendszer a logEntireMessage
logKnownPii
Web.config fájlban vagy az App.config fájlban is be kell állítani true
a jelölőket a PII-naplózás engedélyezéséhez, ahogy az az alábbi példában <system.serviceModel><messageLogging logEntireMessage="true" logKnownPii="true" …
is látható.
Vegye figyelembe, hogy ha egy konfigurációs fájlban két vagy több egyéni forrást ad meg, csak az első forrás attribútumai lesznek olvashatók. A többit figyelmen kívül hagyja. Ez azt jelenti, hogy a következő App.config fájl esetében a PII nincs naplózva mindkét forráshoz, annak ellenére, hogy a PII-naplózás kifejezetten engedélyezve van a második forráshoz.
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging"
logKnownPii="false">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\logs\messages.svclog" />
</listeners>
</source>
<source name="System.ServiceModel"
logKnownPii="true">
<listeners>
<add name="traces"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\logs\traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
Ha az <machineSettings enableLoggingKnownPii="Boolean"/>
elem a Machine.config fájlon kívül található, a rendszer egy ConfigurationErrorsException.
A módosítások csak akkor lépnek érvénybe, ha az alkalmazás elindul vagy újraindul. A rendszer indításkor naplóz egy eseményt, ha mindkét attribútum értéke be van állítva true
. Az esemény akkor is naplózva lesz, ha logKnownPii
be van állítva, true
de enableLoggingKnownPii
az.false
A gép rendszergazdájának és az alkalmazás üzembe helyezőjének rendkívül körültekintően kell eljárnia a két kapcsoló használatakor. Ha a PII-naplózás engedélyezve van, a rendszer naplózza a biztonsági kulcsokat és a PII-t. Ha le van tiltva, a rendszer továbbra is bizalmas és alkalmazásspecifikus adatokat naplóz az üzenetfejlécekben és -törzsekben. Az adatvédelemmel és a PII-nek a nyilvánosságra kerüléssel szembeni védelméről részletesebben a Felhasználói adatvédelem című témakörben olvashat.
Figyelemfelhívás
A PII nem rejtett a hibásan formázott üzenetekben. Az ilyen üzenetek naplózása módosítás nélkül történik. A korábban említett attribútumoknak nincs hatása erre.
Egyéni nyomkövetési figyelő
Egyéni nyomkövetési figyelő hozzáadása az Üzenetnaplózás nyomkövetési forráshoz olyan jogosultság, amelyet a rendszergazdára kell korlátozni. Ennek az az oka, hogy a rosszindulatú egyéni figyelők úgy konfigurálhatók, hogy távolról küldjenek üzeneteket, ami bizalmas információk felfedéséhez vezet. Ezenkívül ha egyéni figyelőt konfigurál arra, hogy üzeneteket küldjön a vezetéken, például egy távoli adatbázisba, akkor a távoli gépen lévő üzenetnaplókon a megfelelő hozzáférés-vezérlést kell kikényszerítenie.
Üzenetnaplózás által kiváltott események
Az alábbi lista felsorolja az üzenetnaplózás által kibocsátott összes eseményt.
Üzenetnaplózás bekapcsolva: Ez az esemény akkor jelenik meg, ha az üzenetnaplózás engedélyezve van a konfigurációban vagy a WMI-n keresztül. Az esemény tartalma: "Az üzenetnaplózás be van kapcsolva. A bizalmas információk akkor is naplózhatók tiszta szövegben, ha a vezetéken titkosították őket, például üzenettörzsek."
Üzenetnaplózás kikapcsolása: Ez az esemény akkor jelenik meg, ha az üzenetnaplózás le van tiltva a WMI-ben. Az esemény tartalma: "Az üzenetnaplózás ki van kapcsolva".
Ismert PII naplózása: Ez az esemény akkor jelenik meg, ha engedélyezve van az ismert PII naplózása. Ez akkor fordul elő, ha a
enableLoggingKnownPii
machineSettings
Machine.config fájl elemének attribútuma a következőretrue
van állítva, és azlogKnownPii
source
App.config vagy a Web.config fájlban lévő elem attribútuma a következőretrue
van állítva: .Az ismert PII naplózása nem engedélyezett: Ez az esemény akkor jelenik meg, ha az ismert PII naplózása nem engedélyezett. Ez akkor fordul elő, ha az
logKnownPii
source
App.config vagy a Web.config fájlban lévő elem attribútuma a következőretrue
van állítva, de aenableLoggingKnownPii
Machine.config fájl elemének attribútumamachineSettings
a következőrefalse
van állítva. Nem képződik kivétel.
Ezek az események a Windowshoz kapcsolódó Eseménynapló eszközben tekinthetők meg. Erről további információt az Eseménynaplózás című témakörben talál.