Yazılım Eğitim

Yeni Haberler

C# Güvenlik Loglarını okuma | Ebubekir Bastama

Herkese iyi günler arkadaşlar.
Bu makalemizde sizlere C# Dili ile "EventLog" nasıl okuyabileceğimizden bahsedeceğim.
EventLog hakkında kısa bilgi:
Eventlog önemli yazılım veya donanım olayları hakkındaki malumat kaydetmek windows vaka olaylarınıözelleştirme yada erişim sağlar. Kullanarak eventlog, varolan günlüklerinden okuyunuz, girişler yazmak için olayları, oluşturabilir veya olay kaynakları silin, kayıt defterlerini silin ve gmeşhurk girişlerine cevap. Olay kaynağı oluştururken yeni olaylarıda oluşturabilirsiniz.


Bu türün uyguladığı idisposable arabirimi. Türü kullanılarak tamamladığınızda, onu, direkt yada dolaylı olarak silmesi gerekir. Türü direkt silmek için çağrı kendi dispose yönteminde bir try/catch bloğu. Onu, dolaylı olarak silmek için bir dil yapı şeklinde kullanan using (c# ' de) yada using (visual basic'te). Daha fazla malumat için "kullanarak bir nesne, implements idisposable" kısmına bakın idisposable arabirimi bölümüne bakın.

Tek tek vaka olayları ve bu tarz şeylerin girişlerini erişim sağlamaya ek olarak eventlog derslikı, tüm olay olaylarını koleksiyonunu erişmenize imkan sağlar. Kullanabileceğiniz static üyeleri eventlog gmeşhurkleri silmek için günlük listeleri almak, oluşturmak yada bir kaynağı silmek veya belirli bir kaynaktan bir bilgisayar zaten bulunup bulunmadığını belirler.

üç varsayılan olay günlüğü vardır: uygulama, sistem ve güvenlik. Güvenlik günlüğü salt okunurdur. Ek vaka olaylarını öteki uygulamalar ve hizmetler, active directory gibi yüklemeniz gerekebilir.

Kullanırken, güvenlik konuları olan eventlog derslikı. Eventlog gerektirir eventlogpermission .Net framework 2.0 ve sonraki sürümlerinde belirli eylemleri veya .Net framework 1.0 ve 1.1 tam itimat izinleri. öneririz eventlogpermission kısmen güvenilen kod için değil verilemez. Herhangi bir vaka günlüğü nesnesi, hiç bir zaman geçmelidir dahil olmak üzere eventlogentrycollection ve eventlogentry nesnelere daha az güvenilen kod. örneğin, oluşturma bir eventlog nesnesi, bir giriş yazmak ve sonra geçirme eventlog okuma ve vaka günlüğüne yazma olanağı veren başka bir teknisyenın isminı olay günlüğü iletilerinin şeklinde eylemleri gerçekleştirmek için kod izin verdiğinden, kısmen güvenilen kod nesnesine bir emniyet problemi oluşturabilir.

Kullanıcı hesabı denetimi (uac), windows vista ile başlayarak, bir kullanıcının hüviyet bilgilerini belirler. Yerleşik yöneticiler grubunun bir üyesi var ise, iki çalışma vakitı erişim belirteci atanır: standart kullanıcı erişim belirteci ve idareci erişim belirteci. Varsayılan olarak, standart kullanıcı rolünü yapan olursunuz. Emniyet günlüğü erişen kodu çalıştırmak için önce kimlik bilgilerinizi standart kullanıcıdan yöneticiye yükseltmeniz icap eder. Tatbik için kısayol menüsünü açarak teknisyenın başlattığınızda bunu yapabilirsiniz (uygulama simgesini sağ tıklatın, fare kullanıyorsanız,) ve bir idareci olarak çalıştırmak arzu ettiğiniz belirten.

Kullanabileceğiniz eventlog vaka imajleyicisi kullanıcının sunucu vasıtasıyla görüntüleyebilirsiniz özel olay gmeşhurkleri oluşturmak için. Kullanım registerdisplayname bir yerelleştirilmiş adı, vaka günlüğü için olay imajleyicisi'nde imajlemek için yöntemi. Kullanım modifyoverflowpolicy günlüğünün en büyük boyutuna ulaştığında, vaka günlüğü davranışını yapılandırmak için yöntemi.

Bir olay günlüğünü okuyabilmesi için günlük isminı belirtin (log özelliği) ve sunucu bilgisayar adı (machinename vaka günlüğü için özellik. Sunucu bilgisayar adı, mahalli bilgisayar belirtmezseniz ".", varsayılır. Olay kaynağı belirtmek lüzumlu değildir (source özelliği), bir kaynak yalnızca gmeşhurklerine yazmak için gereklidir. Entries özelliği girişlerinin vaka günlüğün listesini otomatik olarak doldurulur.

Bir olay günlüğüne yazmak için belirtin veya olay kaynağı oluşturma (source özelliği). Yeni bir vaka kaynağı oluşturmak için bilgisayarda yönetici kimlik bilgileri olmalıdır. Vaka kaynağı, tatbik vaka günlüğü ile girişlerinin geçerli bir kaynak kaydeder. Vaka kaynağı, bir kerede yalnızca bir günlüğüne yazmak için kullanabilirsiniz. Source özelliği herhangi rastgele bir mısra olabilir, ancak adı bilgisayardaki öteki kaynaklardan farklı olması gerekir. Olay kaynağı genellikle uygulama veya başka bir kimlik dizesi adıdır. Yinelenen oluşturulmaya çalışılırken source kıymeti bir özel vaziyet oluşturur. Sadece, tek bir olay günlüğüne birden çok kaynakları ile ilişkili olabilir.

Olay günlüğü vaka kaynağı ile ilişkili ise eventlog örneği yoksa, yeni bir olay kaynağı oluşturulur. Bir olay kaynağı windows vista ve sonraki yada windows server 2003 kurmak için idareci kimlik detayları olmalıdır.

Bu ihtiyaç, olay kaynağı benzersiz olup olmadığını belirlemek için güvenlik gmeşhurkleri dahil, bütün vaka günlüklerini aranması olmasıdır. Windows vista ile başlayarak, kullanıcılar emniyet günlüğüne erişmek için izniniz yok; bu yüzden, bir securityexception oluşturulur.

C# dili ile aşağıdaki kod ile log okuyabiliriz.
 EventLog log = new EventLog("Security");
            var logkaydı = log.Entries.Cast<EventLogEntry>()
                                     .Where(x => x.InstanceId == 4624)
                                     .Select(x => new
                                     {
                                         x.MachineName,
                                         x.Site,
                                         x.Source,
                                         x.Message,
                                         x.UserName,
                                         x.Data,
                                         x.ReplacementStrings
                                     }).ToList();
            for (int i = 0; i < logkaydı.Count; i++)
            {
                richTextBox1.Text += logkaydı[i].ToString();
            }

Hiç yorum yok