İlginizi Çekebilir
071618_2333_JenkinsPipe1.png
  1. Ana Sayfa
  2. Open Source
  3. Elasticsearch\Kibana Kullanarak Ücretsiz File Server Audit Yapılandırması ve Kurulumu

Elasticsearch\Kibana Kullanarak Ücretsiz File Server Audit Yapılandırması ve Kurulumu

011719_1940_Elasticsear1.png

Event Viewer yıllardır hepimizin belki de en çok kullandığı Windows ara yüzlerinden bir tanesi. Teknolojinin yıllar içerisin de geldiği noktaya bakarsak 2019 yılında hala o küçük gri ekran üzerinden analiz yapmak benim için her zaman sevimsiz bir eylem olmuştur. Sizde samanlıkta iğne aramaktan yorulduysanız, bence bu yazı oldukça ilginizi çekebilir. Dosya sunucuları üzerinde Auditing operayonu genelde atlanan fakat ihtiyaç anında eğer düzgün bir şekilde yapılandırılmış bir loglama metodolojiniz bulunmuyorsa IT personellerine ciddi geri dönüşleri olabilecek, oldukça önemli bir konu. Günümüzde Dosya Sunucularına özel Audit hizmeti veren birçok uygulama mevcut. Bir kısmı gerçekten benimde çok beğendiğim uygulamalar fakat bu uygulamaların kaliteli olanlarının teknik yetenekleri hariç ortak paydalarından biri de pahalı olmaları.

Açık kaynak kodlu yazılımlar dünya genelinde oldukça popüler ve bir çok IT profesyoneli tarafından hiçbir karşılık beklenmeden yıllardır geliştirilip, ücretsiz bir şekilde hepimizin kullanımına sunuluyor. Ortada bu kadar emek varken ben kişisel olarak bu tarz ürünlere para vermenin yanlış olduğunu düşünenlerdenim. Bugün amacım tamamen ücretsiz bir şekilde, yine birkaç açık kaynak kodlu uygulama kullanarak anlamlı ve tamamen ihtiyaçlarımıza yönelik güzel görseller ile desteklenmiş bir loglama mekanizması kurmak ve istediğimiz anda belki de aylar öncesine ait milyonlarca kayıt içerisinden gerekli olan veriye saniyeler içerisinde ulaşmak.

Hepsi tamamen olan Elasticsearch, ve kullarak sizde aşağıdaki gibi bir Dashboard üzerinden Dosya Sunucunuzu takip edebilir, görmek istediğiniz kayıtlara hızlıca ulaşabilirsiniz. Görsel’in büyük halini görmek isterseniz Buraya tıklayın.


Resim-1

Kurulum için Altyapı Gereksinimleri: İşletim sistemi olarak CentOS 7.5 kullanacağız. Aşağıdaki kaynaklara sahip bir sunucu yeterli olacaktır. İleride yapınız büyürse kaynaklarınızı buna paralel arttırmanızı öneririm.

  • 2 Core Vcpu
  • 4 GB Memory
  • 50 GB disk alanı

 

Elasticsearch kullanabilmeniz için sisteminizde Java yüklü olması gerekiyor. Burada dikkat etmemiz gereken nokta Versiyon 9 \10 desteklenmiyor, bende yazıda zaten Java 8 üzerinden ilerledim fakat yine de ayrıca belirtmekte fayda var. Ayrıca reverse Proxy görevi görmesi için Nginx kurulumu da yapacağız. Ayrıca her zamanki gibi Nano editör yükleyerek, Firewall ve Selinux ‘ü Disable etmeniz gerekiyor.

3 Aşamalı bir kurulum ve yapılandırma planı hazırladım. Bu şekilde parçalara ayırarak daha net bir şekilde aklınız da yer etmesini istiyorum aslında, sadece komut setlerini takip ederek yani tam olarak sindiremeden kurulumu tamamlanmanızı tavsiye etmem.

  1. Elasticsearch ve Kibana Kurulumu
  2. Policy aktivasyonu, Winlogbeat Agent kurulumu ve Konfigürasyonlarının yapılması, loğların aktarılması
  3. ayarları, Görseller için query dizayn edilmesi ve Dashboard

 

Elasticsearch ve Kibana ve Kurulumu

Ön gereksinimler kısmında belirttiğimiz gibi ilk önce Java 8 kurulumu ile yapmamız gerekiyor. Aşağıdaki komutu çalıştırarak Java kurulumunu yapın ve versiyonu kontrol edin.

Ön Gereksinimler ile başlayalım

Resim-2

Elasticsearch package spoofing yapılmaması için güvenlik adına ayrı bir KEY ile paketleri imzalanmış durumda. Bu yüzden ilk önce Elasticsearch public GPG key’i download ederek Repository ye eklememiz gerekiyor.

Kurulum için gerekli repository’imizi ekleyelim. Editor üzerinden elasticsearch.repo dosyasını oluşturun.

Aşağıdaki repo bilgilerini girdikten sonra kayderek çıkış yapın.

Elasticsearch Kurulumu

Artık hazırız. Elasticsearch’ü yükleme aşamasına geçebiliriz. Aşağıdaki komutu çalıştırarak yüklemeyi tamamlayabilirsiniz.

External bir kaynaktan erişebilmek için yapılandırma içerisinde birkaç parametreyi değiştirmemiz gerekiyor. YML dosyasını açarak;

Aşağıdaki satırı Uncomment duruma getirin. Network.host kısmını localhost’dan 0.0.0.0 a çekin. Aşağıdaki resimde gösterildiği şekilde gözükmesi gerekiyor.

Resim-3

Servisi Start ettikten sonra ve eğer sunucu yeniden başlarsa otomatik olarak Start olması için Enable duruma getirelim.

Servisin çalıştığından emin olmak için basit bir request gönderek test edin, aşağıdaki gibi bir çıktı almanız gerekiyor. Eğer ilk seferde response alamaz iseniz lütfen Firewall ve Selinux’un kapalı ve Disable olduğundan emin olun. Eğer her şey yolunda ise bir süre bekleyerek tekrar deneyin.

Resim-4

Kibana Kurulumu

Kibana ya dışarıdan erişim için Reserve Proxy olarak kullanmak ve erişim yapacak kişiler için Web Interface üzerinden kullanıcı adı\şifre talep ederek doğrulama yapmak üzere Nginx kurulumu yapmamız gerekiyor.

Nginx i yükleyebilmemiz için ilk önce EPEL repository’i eklememiz lazım.

Artık Nginx i yükleyebiliriz,aşağıdaki komutu çalıştırabilirsiniz.

Nginx üzerinden Kibana ya erişirken kullanmak üzere username\password belirleyelim. Komutu çalıştırdıktan sonra şifrenizi girerek doğrulayın, çıktıları kaydedin.

Resim-5

Nginx üzerinde Virtual Host yapılandırmamızı yaparak devam ediyoruz. Uzaktan erişim için bir FQDN belirleyin. Ben bu örnekte “fileserveraudit.demo.com” olarak belirledim, burayı isteğinize göre değiştirebilirsiniz.

Aşağıdaki konfigürasyonu yapıştırın, Server_name kısmını bir önceki aşamada belirlediğiniz FQDN’i girerek kendinize göre düzenleyin, kayderek çıkış yapın.

Resimde gösterildiği gibi bir konfigürasyona sahip olmanız gerekiyor.


Resim-6

Konfigürasyonda herhangi bir hata var mı diye kontrol ediyoruz.

Test is successfull mesajını görmek önemli.

Resim-7

Servisi Start ve Enable ederek kurulumu bitiriyoruz.

Repo’yu daha önce eklediğimiz için hızlıca Kibana kurulumuna geçiyoruz. Kurulum sonrası her zamanki gibi servisi Start ederek, Enable duruma getiriyoruz.

Yükleme bittikten sonra yine birkaç konfigürasyon değişikliği yapmamız gerekiyor.

Aşağıda belirtilen satırları Uncomment ederek, kaydedip çıkış yapın.

Kibana yı Start ederek Aktif duruma getirelim.

http://fileserveraudit.demo.com adresi üzerinden Kibana arayüzüne erişebiliriz. Tabi ki siz burada ne belirlediyseniz o adres üzerinden giriş yapabilirsiniz, DNS kaydını local kullanıyorsanız bağlanmak istediğiniz istemci ve Centos üzerinde HOSTS dosyasına ilgili ip adresi ve FQDN’i girmeyi unutmayın. Ngnix kurulumu sırasında belirlediğiniz ( username: kibanawebuser olacak set etmiştim ben) kullanıcı adı ve şifre ile login oluyoruz.

Resim-8

File Server Audit Ayarları ve Winlogbeat Kurulum\Konfigürasyonu

File Server Audit Ayarları

File server üzerinden logları alabilmeniz için ilk önce Audit Policy üzerinde bir kaç konfigürasyon yapmanız gerekiyor. Domain Controller üzerinden GPO ile de halledebilirsiniz fakat ben size local group policy üzerinden nasıl yapabilirsiniz onu göstereceğim. Sunucu üzerinde Start/RUN dedikten sonra   gpedit.msc yazarak entera basın . Object Access kategorisi içerisinde Audit File System’i seçerek Configuration the following events diyerek “Success” i işaretleyin, istediğinize göre “Failure” eventlarıda loglayabilirsiniz.

Resim-9

Global Object Access Auditing kategorisi altında; File System’e tıkladıktan sonra “Define the Policy Settings” i işaretleyin ve “Configure” e tıklayarak karşınıza çıkan ekran üzerinde “Add” butonuna basın. “Everyone” için kategori “success” olacak şekilde loglanmasını istediğiniz aksiyonları işaretleyin. Ben sadece hangi dosyaları kimin sildiği ile ilgilendiğim için silinen dosyalar ve permission değişikliklerinin loglanması için ilgili seçenekleri seçtim

Resim-10

Winlogbeat Kurulum ve Konfigürasyon

Bu çalışmaları loğlarını almak istediğimiz file server üzerinde yapacağız. Buraya tıklayarak ilgili dosyaları indirin.

  • İndirdiğiniz dosyaları zip’ten çıkartın
  • C:\Program Files\ altında “winlogbeat” diye bir folder oluşturarak dosyaları buraya kopyalayın.

 

Resim-11

Notepad++ yüklü değilse öncesinde yüklemenizi öneririm. Winlogbeat.yml dosyasını notepad++ ile açın ve Winlogbeat.event.logs: altında bulunan değerleri resimdeki gibi düzenleyin.

– name: Security
– name: System
– name: Microsoft-Windows-TerminalServices-LocalSessionManager/Operational

Resim-12

Oputput.elasticsearch: altındaki host bilgisini kendi ip adresiniz ile düzenleyerek Uncomment edin. Dosyayı kaydererek çıkın.

Resim-13

Powershell üzerinden winlogbeat path’ine giderek;

 diyerek servis olarak yüklemeyi yapın.

Resim-14

Services altından Winlogbeat servisini start edin

Resim-15

Index eklenmesi, Query Dizayn ve Dashboard Hazırlanması

Index Eklenmesi

Management sekmesinden “Index Patterns” ‘e girin.

Resim-16

Create İndex Pattern” butonuna basın. Sağ alt tarafta resimde olduğu gibi winglogbeat üzerinden gönderilen loğların tarih bilgisi ile beraber gözüküyor olması gerekli. Hemen gelmez ise bir süre bekleyin ve sayfayı yenileyerek tekrar bakın. Sağ alt tarafta “winglobeat-6.5.4-XXXX” ‘i görene kadar index pattern oluşturamayacaksınız.

Resim-17

Açılan ekran üzerindeki kutucuğa “winlogbeat*” yazarak Next e tıklayın. Bir sonraki ekranda “@timestamp” i seçtikten sonra index eklemeyi tamamlayabilirsiniz.

Resim-18

Discover ekranı üzerinden kontrol ettiğinizde loğların yavaş yavaş gelmeye başladığını görebilirsiniz. Tebrikler, loğlarınız başarılı bir şekilde elasticsearch üzerinden depolanıyor.

Resim-19

Query Görsellerinin hazırlanması\Yüklenmesi

Viualize sekmesi altından istediğiniz birçok farklı formatta anlamlı görseller hazırlayabilirsiniz. Windows file server özelinde hazırladığım query’ler ile düzenlediğim dashboard görsellerini Buraya tıklayarak indirin. JSON dosyasını zip’ten çıkatarak; Management\Saved Object\Import seçenekleri üzerinden import edin.

Resim-20

Dashboard Hazırlanması

Dashboard menüsü üzerinden yeni bir dashboard ekleyerek “Add Panel” dedikten sonra biraz önce import ettiğimiz görselleri seçin.


Resim-21

Artık sonucu görmek için hazırız.

Resim-22

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

https://www.mshowto.org

https://www.elastic.co

TAGs, Kibana, File Server Audit, Open Source, Winlogbeat, İndex, nedir,

Yorum Yap

Yazar Hakkında

Faruk TERZIOGLU - 2003 senesinden beri aktif olarak bilgi teknolojileri sektöründe çalıyor. Uzmanlık alanları BT altyapı çözümleri ve yazılım tanımlı veri merkezi teknolojileri, Microsoft ailesi ürünleri, Açık kaynak kodlu sanallaştırma platformları ve uygulamaları olup bulut teknolojileri öncelikli ilgilendiği alanlar arasındadır. 2018 yılında Alibaba Cloud tarafından Bulut Teknolojileri Çözümleri alanında MVP olarak ilan edilmiştir.

Yorum Yap

Yorumlar (1)

  1. 10 ay önce

    Bu şekilde kurulum yaparsanız Elasticsearch ‘un 9200 portunu tüm ağa direk açmış olursunuz. Firewall yapılandırmasını da eklerseniz daha faydalı olur. Aksi takdirde aynı ağdaki kullanıcılar Curl ile indexleri istedikleri zaman silebilirler.