Aracılığıyla paylaş


Güvenlik Etkinliklerini Denetleme

Windows Communication Foundation (WCF) ile oluşturulan uygulamalar güvenlik olaylarını (başarı, başarısızlık veya her ikisi de) denetim özelliğiyle günlüğe kaydedebilir. Olaylar Windows sistem olay günlüğüne yazılır ve Olay Görüntüleyicisi kullanılarak incelenebilir.

Denetim, yöneticinin zaten gerçekleşen veya devam eden bir saldırıyı algılaması için bir yol sağlar. Ayrıca denetim, bir geliştiricinin güvenlikle ilgili sorunlarda hata ayıklamasına yardımcı olabilir. Örneğin, yetkilendirme veya denetim ilkesinin yapılandırmasındaki bir hata yetkili kullanıcıya erişimi yanlışlıkla reddederse, geliştirici olay günlüğünü inceleyerek bu hatanın nedenini hızla bulabilir ve yalıtabilir.

WCF güvenliği hakkında daha fazla bilgi için bkz . Güvenliğe Genel Bakış. WCF programlama hakkında daha fazla bilgi için bkz . Temel WCF Programlama.

Denetim Düzeyi ve Davranışı

İki güvenlik denetimi düzeyi vardır:

  • Çağıranın yetkilendirildiği hizmet yetkilendirme düzeyi.

  • WCF'nin iletinin geçerliliğini denetlediği ve çağıranın kimliğini doğruladığı ileti düzeyi.

Denetim davranışı olarak bilinen başarı veya başarısızlık için her iki denetim düzeyini de denetleyebilirsiniz.

Denetim Günlüğü Konumu

Bir denetim düzeyi ve davranışı belirledikten sonra, siz (veya bir yönetici) denetim günlüğü için bir konum belirtebilirsiniz. Üç seçenek şunlardır: Varsayılan, Uygulama ve Güvenlik. Varsayılan'ı belirttiğinizde, gerçek günlük kullandığınız sisteme ve sistemin güvenlik günlüğüne yazmayı destekleyip desteklemediğine bağlıdır. Daha fazla bilgi için bu konunun devamında yer alan "İşletim Sistemi" bölümüne bakın.

Güvenlik günlüğüne yazmak için gerektirir SeAuditPrivilege. Varsayılan olarak, yalnızca Yerel Sistem ve Ağ Hizmeti hesapları bu ayrıcalığı alır. Güvenlik günlüğü işlevlerini read yönetmek için ve delete gerektirir SeSecurityPrivilege. Varsayılan olarak, yalnızca yöneticiler bu ayrıcalığı alır.

Buna karşılık, kimliği doğrulanmış kullanıcılar Uygulama günlüğünü okuyabilir ve yazabilir. Windows XP, denetim olaylarını varsayılan olarak Uygulama günlüğüne yazar. Günlük, kimliği doğrulanmış tüm kullanıcılar tarafından görülebilen kişisel bilgiler de içerebilir.

Denetim Hatalarını Gizleme

Denetim sırasında bir diğer seçenek de herhangi bir denetim hatasının gizlenip gizlenmeyeceğidir. Varsayılan olarak, denetim hatası bir uygulamayı etkilemez. Ancak gerekirse, seçeneğini olarak falseayarlayabilirsiniz. Bu, bir özel durum oluşturmasına neden olur.

Programlama Denetimi

Denetim davranışını program aracılığıyla veya yapılandırma aracılığıyla belirtebilirsiniz.

Denetim Sınıfları

Aşağıdaki tabloda, denetim davranışını programlamak için kullanılan sınıflar ve özellikler açıklanmaktadır.

Sınıf Açıklama
ServiceSecurityAuditBehavior Hizmet davranışı olarak denetim seçeneklerini ayarlamayı etkinleştirir.
AuditLogLocation Hangi günlüğe yazılacağını belirtmek için numaralandırma. Olası değerler Varsayılan, Uygulama ve Güvenlik'tir. Varsayılan'ı seçtiğinizde, işletim sistemi gerçek günlük konumunu belirler. Bu konunun devamında yer alan "Uygulama veya Güvenlik Olay Günlüğü Seçimi" bölümüne bakın.
MessageAuthenticationAuditLevel İleti düzeyinde hangi tür ileti kimlik doğrulama olaylarının denetlendiği belirtir. Seçenekler , , FailureSuccessve SuccessOrFailureşeklindedirNone.
ServiceAuthorizationAuditLevel Hizmet düzeyinde hangi tür hizmet yetkilendirme olaylarının denetlendiği belirtir. Seçenekler , , FailureSuccessve SuccessOrFailureşeklindedirNone.
SuppressAuditFailure Denetim başarısız olduğunda istemci isteğine ne olacağını belirtir. Örneğin, hizmet güvenlik günlüğüne yazmaya çalıştığında, ancak sahip SeAuditPrivilegeolmadığında. varsayılan değeri true hataların yoksayıldığını ve istemci isteğinin normal şekilde işlendiğini gösterir.

Denetim olaylarını günlüğe kaydetmek için bir uygulama ayarlama örneği için bkz . Nasıl yapılır: Güvenlik Olaylarını Denetleme.

Yapılandırma

Ayrıca, davranışların altına bir <serviceSecurityAudit> ekleyerek denetim davranışını> belirtmek için yapılandırmayı <da kullanabilirsiniz. öğesini aşağıdaki kodda gösterildiği gibi bir <davranış> altına eklemeniz gerekir.

<configuration>  
  <system.serviceModel>  
    <behaviors>  
      <behavior>  
        <!-- auditLogLocation="Application" or "Security" -->  
        <serviceSecurityAudit  
                  auditLogLocation="Application"  
                  suppressAuditFailure="true"  
                  serviceAuthorizationAuditLevel="Failure"  
                  messageAuthenticationAuditLevel="SuccessOrFailure" />
      </behavior>  
    </behaviors>  
  </system.serviceModel>  
</configuration>  

Denetim etkinleştirilirse ve belirtilmezse auditLogLocation , güvenlik günlüğüne yazmayı destekleyen platform için varsayılan günlük adı "Güvenlik" günlüğüdür; aksi takdirde "Uygulama" günlüğüdür. Yalnızca Windows Server 2003 ve Windows Vista işletim sistemleri Güvenlik günlüğüne yazmayı destekler. Daha fazla bilgi için bu konunun devamında yer alan "İşletim Sistemi" bölümüne bakın.

Güvenlikle İlgili Dikkat Edilmesi Gerekenler

Kötü amaçlı bir kullanıcı denetimin etkinleştirildiğini biliyorsa, bu saldırgan denetim girdilerinin yazılması için geçersiz iletiler gönderebilir. Denetim günlüğü bu şekilde doldurulursa, denetim sistemi başarısız olur. Bunu azaltmak için özelliğini true olarak ayarlayın SuppressAuditFailure ve denetim davranışını denetlemek için Olay Görüntüleyicisi özelliklerini kullanın.

Windows XP'de Uygulama Günlüğü'ne yazılan denetim olayları, kimliği doğrulanmış tüm kullanıcılar tarafından görülebilir.

Uygulama ve Güvenlik Olay Günlükleri Arasında Seçim

Aşağıdaki tablolar, Uygulamada mı yoksa Güvenlik olay günlüğünde mi oturum açabileceğinizi seçmenize yardımcı olacak bilgiler sağlar.

İşletim Sistemi

Sistem Uygulama günlüğü Güvenlik günlüğü
Windows XP SP2 veya üzeri Desteklenir Desteklenmez
Windows Server 2003 SP1 ve Windows Vista Desteklenir İş parçacığı bağlamı sahip olmalıdır SeAuditPrivilege

Diğer Faktörler

İşletim sistemine ek olarak, aşağıdaki tabloda günlüğe kaydetmenin etkinleştirilmesini denetleen diğer ayarlar açıklanmaktadır.

Faktör Uygulama günlüğü Güvenlik günlüğü
Denetim ilkesi yönetimi Uygulanamaz. Güvenlik günlüğü, yapılandırmayla birlikte yerel güvenlik yetkilisi (LSA) ilkesi tarafından da denetlenür. "Nesne erişimini denetle" kategorisi de etkinleştirilmelidir.
Varsayılan kullanıcı deneyimi Kimliği doğrulanmış tüm kullanıcılar Uygulama günlüğüne yazabilir, bu nedenle uygulama işlemleri için ek izin adımı gerekmez. Uygulama işleminde (bağlam) olmalıdır SeAuditPrivilege.

Ayrıca bkz.