İçeriğe geç

Kategori: Windows

Event Viewer XML Filtering ile Log Analizi

Karşılaştığımız bir problemin kaynağını bulmak için herkesin ilk baktığı araçlardan biri Event Viewer oluyordur. Ama Event Viewer’ı açtığımızda bizi milyonlarca event karşılıyor ve biz bunlar arasından analiz yapıp problemin kaynağını bulmaya çalışıyoruz. Event Viewer GUI ile sunduğu filtreleme parametreleri (zaman aralığı, kaynak, ID vb.) çoğu zaman aradığımız veri log kaydının içeriğinde bulunduğu için yeterli olmuyor. İşte bu gibi durumlarda çözüm olarak Windows Vista/2008 ile gelen Custom View kullanabiliriz. Event Viewer üzerinden oluşturabildiğimiz Custom View’lar XML Filtering kullanmamızı sağlayarak sadece ihtiyacımız olan logları filtrelememizi sağlıyor.

Örneğin NTLM protokolünü kullanarak login olan bilgisayar ve kullanıcıları bulmak isteyelim, bunun için aşağıdaki şekilde bir Custom View yapabiliriz.

Custom View Oluşturulması

Event Viewer aracını açtıktan sonra sağ bölümde yer alan Actions Pane üzerinden Create Custom View seçiyoruz.

Custom View oluştur

Resim-1

Karşımıza çıkan Create Custom View penceresinden XML sekmesini seçip altta bulunan Edit query manually işaretini seçip çıkan uyarıya Yes diyoruz.

Query düzenle

Resim-2

Şimdi sıra geldi sorgumuzu yazmaya, örnek olarak sadece NTLM V1 protokolünü kullanarak oturum açmış kullanıcı ve bilgisayarlar ile ilgili logları filtreleyebiliriz. Bu XML sorgusunda Select etiketinin Path özelliği ile filtrelenecek Log Channel ismi veya log dosyasının yolu belirtilir. Sorgu ile Event ID’si 4624 olan ve Event Data LmPackageName alanı “NTLM V1” olan eventları filtrelemiş olduk. Select yerine Suppress etiketi ile sonuçtan hariç tutmak istediğimiz loglar için sorgu yazabiliriz.

Sorgularımızı standard and/or operatorlerini kullanarak bir adım ileriye götürebiliriz. LmPackageName gibi kullanabileceğimiz filtreleme seçeneklerini filtrelemek istediğimiz event’ı seçip Details sekmesinde XML View seçerek Event verisinin XML metadatasını görebiliriz.

Windows Event Log Xpath 1.0’ın altkümesini destekler. Fakat bazı sınırlamalar vardır. Standard operatörleri OR, AND, =, !=, <=, <, >=, >, ve parantez kullanımını destekler. Burada “<”, “>” karakterlerini yazmak için “&lt;”, “&gt;” HTML karakter karşılıklarını kullanırız. Bunun yanında Position, Band, Timediff fonksiyonlarını destekler, Starts-With ve Contains fonksiyonlarını desteklemez. Sorguyu filtrelemek istediğimiz veriyi tam olarak yazmamız gerekir, * karakterini kullanamayız, bu yüzden or operatorü ile birden fazla veri yazarak arayabiliriz. Örneğin “NTLM V1” ve “NTLM V2” her ikisini birden ve aynı zamanda Ip adresi “10.10.10.1”den gelen logları aramak için sorguyu aşağıdaki şekilde değiştirebiliriz.

Yukarıdaki sorguda Timediff fonksiyonu kullandık. Timediff fonksiyonu şuanki zaman ile TimeCreated alanında yazan tarih arasındaki farkı milisaniye cinsinden bulmak için kullanılır. Bu sayede son 1 günlük logları getirmiş olduk.

Sorgumuzu daha da genişletmek için, mesela “NTLM V1” ve “NTLM V2″nin LmPackageName gibi hangi alanlarda geçtiğini bilmiyor isek aşağıdaki sorgu ile EventData’nın içeriğinde arama yapabiliriz.

Aşağıdaki sorgyu birden fazla log channel’da filtreleme yapmak için kullanabiliriz.

Aşağıdaki sorgyu birden fazla log channel’da filtreleme yapmak için kullanabiliriz.

Son adım olarak sorgumuzu yazdıktan sonra Ok tıklayıp Custom View’ı vereceğimiz anlamlı bir isim ile kaydediyoruz. All Users seçeneğini işaretleyip tüm kullanıcılar için görülmesini sağlayabiliriz.

Custom View kaydet

Resim-3

Custom View’ler ile yapacağımız XML sorguları ilk başta zor gelsede bir kere yazdıktan sonra sonraki kullanımlarımızda büyük yararı olacaktır.

Yorum Bırak

Windows Server 2016 in-place upgrade sonrası Netlogon servisinin ayarlarının değişmesi

Domain ortamınızdaki Windows Server 2012 /2012 R2 member veya DC sunucularınızı Windows Server 2016 versiyonuna in-place upgrade yaptıktan sonra aşağıdaki problemlerden bir veya birkaçı ile karşılaşacaksınızdır.

  1. Kullanıcı logon hataları.
  2. Kullanıcı görünen isimleri(friendly name) yerine SID gözükmesi. (Users and Groups altında gruplardan herhangi birine domain kullanıcısı eklediyseniz SID numarasını görürsünüz. Yeni domain kullanıcısı eklemek istediğiniz zaman Location ekranında domainleri göremezsiniz.)
  3. RDP bağlantı hataları.
  4. DNS SRV kayıt hataları.
  5. Firewall profillerinden domain profili seçemez.
  6. nltest komutu ile yaptığınız kontrollerde hata alırsınız.

Yukarıdaki hataların nedeni inplace upgrade işleminde Netlogon servisinin başlangıcı manuel olarak değiştirmesidir. Bu yüzden Netlogon servisine bağlı olan Windows Time servisi de çalışmaz ve System loglarında Event ID:46 event’larının düştüğünü görürsünüz. (The time service encountered an error and was forced to shut down. The error was: 0x80070700: An attempt was made to logon, but the network logon service was not started.) Eğer inplace upgrade yaptığınız sunucu DC ise netlogon servisi çalışmadığı için sunucu domain controller olarak tanıtamaz.

1 Yorum

Grup Politika Ayarlarının Lokal Politikaya Aktarılması

Workgroup’da bulunan bilgisayarlara politika uygulamak her zaman problem olmuştur. Windows domain ortamında Group Policy ile bu işi rahatça yapabiliyoruz. Microsoft Security Compliance  Manager ürünü içerisinde gelen LGPO (Local Group Policy Object) aracı ile workgroup’da bulunan bilgisayarlara yedeğini aldığımız grup politikasını uyguluyabiliriz. LGPO aracını ayrıca buradan indirebilirsiniz.

LGPO komut satırı aracı ile Lokal Grup Politikalarını otomatize edebilirsiniz. Domain ortamda hazırlamış olduğunuz Grup Politikasının yedeğini alarak LGPO ile workgroup’da bulunan bilgisayara uygulayabilirsiniz. Ayrıca bunun tam tersi olarak lokal grup politikasının yedeğini alıp Group Policy Management Console ile bu politikayı kullanabilirsiniz.

Yedeğini aldığımız grup politikasını bilgisayara uygulamak için LGPO’yu aşağıdaki parametre ile çalıştırmamız yeterlidir. Bu şekilde sadece bilgisayar taraflı politikaları (kullanıcı taraflı değil) uygulayabiliriz. C:\GroupPolicyBackup dizini altına Group Policy Management Console ile aldığımız GPO yedeğini koymalıyız.

LGPO /g parametresi ile C:\GroupPolicyBackup dizini içerisinde bulunan tüm politika yedeklerindeki Registry policy, Security Templates ve Advanced Auditing dosyalarını import eder. Bunun için verilen dizin ve alt dizinlerinde sırasıyla registry.pol, GptTmpl.inf, audit.csv dosyalarını arar ve import eder.

1 Yorum

Powershell ile IE Proxy Kullanımı

Eğer internete bir proxy server üzerinden çıkıyorsanız, powershell bunu otomatik olarak algılamamaktadır.

Aşağıdaki komut ile powershell proxy kullanıp kullanmadığını görebiliriz.

Powershell’in Internet Explorer’da tanımlanmış proxy’i giriş yaptığımız kullanıcı bilgileri ile kullanması için aşağıdaki komutları çalıştırabiliriz.

Yorum Bırak