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


Biztonsági problémák és hasznos Tippek a nyomkövetéshez

Ez a témakör azt ismerteti, hogyan védheti meg a bizalmas információkat a nyilvánosságra kerüléstől, valamint hasznos tippeket a WebHost használatakor.

Egyéni nyomkövetési figyelő használata a WebHost használatával

Ha saját nyomkövetési figyelőt ír, tisztában kell lennie azzal a lehetőséggel, hogy a nyomkövetések elveszhetnek egy webalapú szolgáltatás esetében. Amikor a WebHost újrahasznosítja, leállítja az élő folyamatot, miközben az ismétlődés átveszi azokat. A két folyamatnak azonban egy ideig továbbra is hozzá kell férnie ugyanahhoz az erőforráshoz, ami a figyelő típusától függ. Ebben az esetben XmlWriterTraceListener egy új nyomkövetési fájlt hoz létre a második folyamathoz; míg a Windows eseménykövetése több folyamatot kezel ugyanazon a munkameneten belül, és hozzáférést biztosít ugyanahhoz a fájlhoz. Ha a saját figyelője nem biztosít hasonló funkciókat, a nyomkövetések elveszhetnek, ha a fájlt a két folyamat zárolja.

Azt is tudnia kell, hogy az egyéni nyomkövetési figyelők nyomkövetéseket és üzeneteket küldhetnek a vezetéken, például egy távoli adatbázisba. Alkalmazás-üzembe helyezőként egyéni figyelőket kell konfigurálnia a megfelelő hozzáférés-vezérléssel. A távoli helyen elérhető személyes adatokra biztonsági ellenőrzést is alkalmaznia kell.

Bizalmas adatok naplózása

A nyomkövetések üzenetfejléceket tartalmaznak, ha egy üzenet hatókörben van. Ha a nyomköveté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ás-üzembe helyező felelős a hozzáférés-vezérlés kikényszerítéséért a konfigurációs és nyomkövetési fájlokon. Ha nem szeretné, hogy ezek az információk megjelenjenek, tiltsa le a nyomkövetést, vagy szűrje ki az adatok egy részét, ha meg szeretné osztani a nyomkövetési naplókat.

Az alábbi tippek segítségével megakadályozhatja, hogy a nyomkövetési 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 WebHost, 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. Az IIS felügyeleti útmutatójában megtekintheti a kiszolgálható bővítmények listáját.

  • Adja meg a naplófájl helyének abszolút elérési útját, amelynek a WebHost vroot nyilvános 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épgazdák azonban a enableLoggingKnownPII Machine.config fájl elemében található machineSettings attribútummal engedélyezhetik a gépen futó alkalmazások számára az ismert, személyazonosításra alkalmas adatok (PII) naplózását az alábbiak szerint:

<configuration>  
   <system.ServiceModel>  
      <machineSettings enableLoggingKnownPii="Boolean"/>  
   </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.

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="xml" />  
         </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 PII-naplózással kapcsolatos további információkért lásd a PII biztonsági zárolási mintáját.

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édelemről és a PII nyilvánosságra kerülés elleni védelméről részletesebben a Felhasználói adatvédelem című témakörben olvashat.

Emellett az üzenet feladójának IP-címét kapcsolatonként egyszer naplózza a rendszer a kapcsolatorientált átvitelekhez, és ha az üzenetet másként küldi el. Ez a feladó beleegyezése nélkül történik. Ez a naplózás azonban csak az információk vagy részletes nyomkövetési szinteken történik, amelyek nem az alapértelmezett vagy ajánlott nyomkövetési szintek az éles környezetben, kivéve az élő hibakeresést.

Lásd még