Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konuda, hassas verilerin ileti günlüklerinde kullanıma sunulmaması ve ileti günlüğü tarafından oluşturulan olayların nasıl korunabileceği açıklanmaktadır.
GüvenlikLe ilgili Endişeler
Hassas Bilgileri Kaydetme
Windows Communication Foundation (WCF), uygulamaya özgü üst bilgilerde ve gövdede hiçbir veriyi değiştirmez. WCF ayrıca uygulamaya özgü üst bilgilerde veya gövde verilerinde kişisel bilgileri izlemez.
İleti günlüğü etkinleştirildiğinde, sorgu dizesi gibi uygulamaya özgü üst bilgilerde kişisel bilgiler; ve kredi kartı numarası gibi gövde bilgileri günlüklerde görünür hale gelebilir. Uygulama dağıtıcısı, yapılandırma ve günlük dosyalarında erişim denetimini zorunlu tutmaktan sorumludur. Bu tür bilgilerin görünür olmasını istemiyorsanız, günlükleri devre dışı bırakmanız veya günlükleri paylaşmak istiyorsanız verilerin bir bölümünü filtrelemeniz gerekir.
Aşağıdaki ipuçları, bir günlük dosyasının içeriğinin istemeden ortaya çıkmasını önlemenize yardımcı olabilir:
Günlük dosyalarının hem Web konağı hem de kendi kendine konak senaryolarında Erişim Denetim Listeleri (ACL) ile korunduğundan emin olun.
Web isteği kullanılarak kolayca sunulmayabilecek bir dosya uzantısı seçin. Örneğin, .xml dosya uzantısı güvenli bir seçenek değildir. Sunulan uzantıların listesini görmek için Internet Information Services (IIS) yönetim kılavuzunu denetleyebilirsiniz.
Günlük dosyasının konumu için mutlak bir yol belirtin, bu konum web sunucu vroot genel dizininin dışında olmalıdır, böylece web tarayıcısı kullanan bir dış tarafın erişimi engellenir.
Varsayılan olarak, anahtarlar ve kullanıcı adı ve parola gibi kişisel olarak tanımlanabilir bilgiler (PII), izlemelerde ve kaydedilen iletilerde yer almaz. Ancak, makine yöneticisi, makinede çalışan uygulamaların bilinen kişisel kimlik bilgilerini (PII) günlüğe kaydetmesine izin vermek için Machine.config dosyasındaki enableLoggingKnownPII öğesinde bulunan machineSettings özniteliğini kullanabilir. Aşağıdaki yapılandırma bunun nasıl yapılacağını gösterir:
<configuration>
<system.serviceModel>
<machineSettings enableLoggingKnownPii="true"/>
</system.serviceModel>
</configuration>
Uygulama dağıtıcısı daha sonra PII günlüğünü etkinleştirmek için App.config veya Web.config dosyasındaki logKnownPii özniteliğini aşağıdaki gibi kullanabilir:
<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>
Yalnızca her iki ayar da true olduğunda PII günlüğü etkinleştirilir. İki anahtarın birleştirilmesiyle, her uygulama için bilinen KKP kaydetme esnekliğine ulaşılıyor.
Önemli
.NET Framework 4.6.1'de logEntireMessage ve logKnownPii bayrakları, aşağıdaki trueörnekte gösterildiği gibi PII günlüğünü etkinleştirmek için Web.config dosyasında veya App.config dosyasında <system.serviceModel><messageLogging logEntireMessage="true" logKnownPii="true" … olarak ayarlanmalıdır.
Yapılandırma dosyasında iki veya daha fazla özel kaynak belirtirseniz yalnızca ilk kaynağın özniteliklerinin okunduğunu unutmayın. Diğerleri yok sayılır. Bu, aşağıda yer alan App.configdosyası için PII günlüğünün ikinci kaynak için açıkça etkinleştirilmesine rağmen her iki kaynak için de PII'nin kayıt altına alınmadığı anlamına gelir.
<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>
<machineSettings enableLoggingKnownPii="Boolean"/> öğesi Machine.config dosyasının dışında varsa, sistem bir ConfigurationErrorsExceptionoluşturur.
Değişiklikler yalnızca uygulama başlatıldığında veya yeniden başlatıldığında etkili olur. Her iki öznitelik de trueolarak ayarlandığında başlangıçta bir olay günlüğe kaydedilir. Eğer logKnownPiitrue olarak ayarlandıysa ancak enableLoggingKnownPiifalseise, bir olay da günlüğe kaydedilir.
Makine yöneticisi ve uygulama dağıtıcısı bu iki anahtarı kullanırken çok dikkatli olmalıdır. PII günlüğü etkinleştirildiyse güvenlik anahtarları ve PII günlüğe kaydedilir. Devre dışı bırakılmış olsa bile, ileti üst bilgileri ve gövdelerinde hâlâ hassas ve uygulamaya özgü veriler günlüğe kaydedilir. Gizlilik ve PII'yi kullanıma sunulmaktan koruma hakkında daha kapsamlı bir tartışma için bkz. kullanıcı gizliliği .
Dikkat
PII, hatalı biçimlendirilmiş iletilerde gizli değildir. Bu tür bir ileti, değişiklik yapılmadan as-is günlüğe kaydedilir. Daha önce bahsedilen özniteliklerin bu konuda hiçbir etkisi yoktur.
Özel İz Kaydedici Dinleyici
Mesaj Günlüğü izleme kaynağına özel izleme dinleyicisi eklemek, yalnızca yöneticiye tanınması gereken bir ayrıcalıktır. Bunun nedeni, kötü amaçlı özel dinleyicilerin iletileri uzaktan gönderecek şekilde yapılandırılabilmesidir ve bu da hassas bilgilerin açığa çıkmasına neden olur. Ayrıca, bir özel dinleyiciyi uzak bir veritabanına ileti göndermek için yapılandırıyorsanız, uzak makinedeki ileti günlüklerinde uygun erişim denetimini zorunlu tutmanız gerekir.
İleti Günlüğü tarafından Tetiklenen Olaylar
Aşağıda, ileti günlüğü tarafından yayılan tüm olaylar listelenir.
İleti günlüğü etkin: Bu olay, yapılandırmada veya WMI aracılığıyla ileti günlüğü etkinleştirildiğinde oluşur. Etkinliğin içeriği: "İleti kaydı açıldı." Hassas bilgiler, iletim sırasında şifrelenmiş olsalar bile, örneğin ileti gövdeleri gibi, düz metin olarak günlüğe kaydedilebilir.
İleti günlüğü kapatılıyor: Bu olay, wmi aracılığıyla ileti günlüğü devre dışı bırakıldığında yayılır. Olayın içeriği "İleti günlüğü kapatıldı"dır.
Bilinen PII Günlüğünü Aç: Bu olay, bilinen PII'nin günlüğe kaydedilmesi etkinleştirildiğinde yayılır. Bu durum, Machine.config dosyasının
enableLoggingKnownPiiöğesindekimachineSettingsözniteliğitrueolarak ayarlandığında ve App.config veya Web.config dosyasındakilogKnownPiiöğesininsourceözniteliğitrueolarak ayarlandığında gerçekleşir.Bilinen PII Kaydı Yasak: Bu olay, bilinen PII'nin günlüğe kaydedilmesine izin verilmediğinde meydana gelir. App.config veya Web.config dosyasındaki
logKnownPiiöğesininsourceözniteliğitrueolarak ayarlandığında, ancak Machine.config dosyasınınenableLoggingKnownPiiöğesindekimachineSettingsözniteliğifalseolarak ayarlandığında bu durum ortaya çıkar. İstisna atılmaz.
Bu olaylar Windows ile birlikte gelen Olay Görüntüleyicisi aracında görüntülenebilir. Bu konuda daha fazla bilgi için bkz. Olay Günlüğü.