Makalemin bu bölümünde Azure Sentinel ile DNS loglarının nasıl toplanacağını anlatacağım. Peki bir DNS sunucusu için neden log toplama ihtiyacı olabilir? İlk olarak isterseniz bu soru ile başlayalım. Aslında en DNS en kritik sistemlerden birisidir, DNS çalışmadığında genelde isim temelli hiçbir servis çalışmaz ki AD çalışmaz ve bu da kimlik doğrulama servislerini de etkileyeceği için ip tabanlı sistemleri de etkiler. Özetle DNS çok kritik bir servistir ancak sadece DNS sağlık durumu, performans durumu için olay günlerini bir SIEM aracına almayız aslında en önemli nedenlerinden birisi güvenliktir. Özellikle şirket içerisinden yapılan sorgulardan yola çıkarak hangi makinede kötü içerikli kodların çalıştığını tespit eden bir uyarı mekanizması bile kurabiliriz. Bu ve benzeri güvenlik kaygıları nedeni ile DNS loglarının kayıt altına alınması son derece önemlidir.
DNS dendiği zaman aslıda genelde Linux sistemler akla gelir, Linux sistemler için ayrı bir bölüm hazırlayacağım için bu bölümde Windows platformu üzerinde çalışan DNS servisi için bir anlatım bulacaksınız. Yine bundan önceki windows olay günlüklerini bulut temelli SIEM ürünümüz olan Sentinel’ e çekmek için Agent kurmuştuk, DNS için de benzer şekilde DNS sunucusu üzerine agent kurmamız gerekiyor.
Makalemin diğer bölümlerine aşağıdaki linklerden ulaşabilirsiniz.
https://www.hakanuzuner.com/azure-sentinel-adim-adim-bulut-siem-kullanimi-bolum1
https://www.hakanuzuner.com/azure-sentinel-adim-adim-bulut-siem-kullanimi-bolum2-office-365-audit
Azure Sentinel ile DNS logları üzerinden güvenlik, performans sağlık bilgisi toplayabiliriz. Özellikle aşağıdaki başlıklardaki bilgiler çok kıymetli olacaktır;
İstemcilerin zararlı domain çözümleme isteklerinin tespiti
Eski ve gereksiz kayıtların tespit edilmesi
En sık sorgulanan alan adları ve en çok sorgu yapan istemciler
DNS üzerindeki sorgu yükleri
Dinamik DNS kayıt işlemlerindeki hatalar (bu bölüm ad için ayrıca çok önemlidir)
Burada Azure Sentinel üzerinde bildiğiniz gibi “connected source” önemli, yani ilgili Workbooks için hangi kaynaktan log kabul ettiğini iyi bilmemiz gerekiyor. Eğer sıfırdan bir SIEM alt yapısı kurmuyorsanız mevcut azure ortamınıza bunu ekliyorsanız ve azure ortamınızda hali hazırda windows agent, linux agent, system center entegrasyonu ve azure storage account var ise Azure SIEM DNS connector bunlardan sadece ikisini kaynak olarak kullanabilir.
Connected source | Support |
Windows agents | Var |
Linux agents | Yok |
System Center Operations Manager management group | Var |
Azure storage account | Yok |
Peki DNS loglarını azure sentinel ile incelemek ve olası güvenlik sorunlarından haberdar olmak istiyorsak yapmamız gereken temelde 3 adım bulunmaktadır.
DNS Analytics loglarının ve debug loglarının açılması ve kontrol edilmesi.
Azure DNS Analytics aktifleştirilmesi (Data connectors eklendiğinde kendisi otomatik etkinleşiyor ancak başka amaçlar için kullanıyor olabilirsiniz diye yazdım)
Azure Sentinel Data Connectors bağlanması
Burada makalemin diğer bölümlerini okumadıysanız şöyle bir şey anlaşılmasın, Azure Sentinel her log kaynağını desteklemiyor. Örnek Linux dns sunucusu var bunu siem’ e bağlayabilir miyim? Tabiki bunu makalemin ilk bölümünde belirtmem ve Linux ile ilgili olarak ayrı bir makale yazacağım için şimdilik geçiyorum ama merak edenler hızlıca makalemin ilk bölümünü inceleyebilir.
Peki hızlı bir şekilde data connectors bölümünden DNS’ i buluyoruz.
Hemen sağ bölümde yukarıdaki gibi bir ekran göreceksiniz, Open connector page linkine tıklayalım.
Eğer DNS loglarını alacağımız makine öncesinden Azure Windows Virtual Machine agent yüklü ise bir daha yüklememize gerek yok, doğrudan Install solution dememiz yeterli, eğer yüklü değil ise makalemin 4. Bölümündeki gibi yüklemeleri yapmanız gerekmektedir.
Ardından DNS üzerinden makalemin başındaki tarzda bilgileri toplamak için DNS diagnostic logging açmamız gerekiyor.
Not: Eğer Server 2012 kullanıyorsanız ek bir prosedür gereklidir, aşağıdaki makaleyi takip edin, ben server 2016 için anlatıyorum.
Olay günlüklerini açalım
Daha sonra sırasıyla aşağıdaki yolu izleyin
Applications and Services Logs\Microsoft\Windows\DNS-Server
Ardından View – Show Analytic and Debug Logs kutucuğunu işaretleyin. Bunun işaretledikten sonra aşağıdaki gibi “Analytical” log bölümü açılacaktır.
Buna sağ tıklayıp özelliklerden ayarları aşağıdaki gibi yapıyoruz.
Do not overwrite events (Clear logs manually)
Enable logging
Bu iki ayarı yaptıktan sonra Apply diyerek süreci tamamlamış oluyoruz. Neden böyle yaptık çünkü bazen çok büyük kurumlarda o kadar çok DNS sorgusu geliyor ki loglar hızlı dolduğu için upload edilmeden siliniyor, o yüzden mantıklı bir rakam belirleyip elle silmeyi veya otomatik seçecekseniz de en azından log rakamını biraz şirket ihtiyaçlarına göre değiştirmeyi unutmayın.
Bu loglar varsayılan olarak aşağıdaki dizinde bulunmaktadır. Malum sentinel dışında da DNS üzerinde çok fazla analiz yaptığımı için bazen ETL dosyası lazım oluyor
%SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-DNSServer%4Analytical.etl.
Hızlı bir şekilde logların düştüğünü göreceksiniz.
Hızlıca Debug ayarlarını da aşağıdaki gibi yapabilirsiniz.
Şimdi sıra Azure DNS Analytics kısmına geldi.
Bunun için öncelikle sentinel’ in bağlı olduğu Log Analytics bölümüne geliyoruz.
Gördüğünüz gibi Sentinel tarafında data connectors işlemi sırasında bu otomatik çalışma alanına eklenmiş durumda. Ancak biz küçük bir ayar daha yapacağız.
Azure Sentinel – Setting bölümüne tıklıyoruz.
Üst bölümden Workspace settings bölümüne tıklıyoruz.
Daha sonra solutions bölümüne tıklıyoruz ve açılan bölümden DnsAnalytics üzerine tıklıyoruz.
DNS Analytics üzerine tıklıyoruz.
Karşımıza yukarıdaki gibi bir ekran geliyor, üst bölümde “configure” linkine tıklıyoruz.
Alt bölümdeki değer varsayılan olarak 1000 olup sizin şirket ihtiyacınıza göre bu değeri değiştirebilir veya boş bırakabilirsiniz. Not: Boş bırakırsanız logların gelmesi uzun zaman alabilir, süreci tetiklemek için 1000 değeri girebilirsiniz.
Sonrasında ise logların geldiğini aşağıdaki gibi görebiliyoruz.
En son log 23sn önce gelmiş.
Artık sıra workbook eklemeye geldi. Bunu tüm makale serisi boyunca anlattığım için detaylandırmıyorum.
Bundan sonrası aslında her siem ürününde olduğu gibi log sorgulamaları ile devam etmeli, ben daha çok temel bir anlatım yaptım, ancak Kerem sağ olsun özellikle bu güvenlik bölümü için ayrı bir makale yazdı ve şiddetle okumanızı tavsiye ediyorum.
Umarım faydalı bir makale olmuştur, bir sonraki makalemizde görüşmek üzere.
Kaynak