Anasayfa > Log Management > Centos 7 üzerine Graylog 3.0.2 Kurulumu

Centos 7 üzerine Graylog 3.0.2 Kurulumu

Centos 7 üzerine Graylog 3.0.2 Kurulumu 1

Translate This Page:

Translate This Page:

Select your language:  English EN French FR German DE Portuguese PT Russian RU Turkish TR

Bu Makalemizde, Open Source bir loglama çözümü olan Graylog v3.0’ın kurulumunu ele alacağız (v3.0.1) ve bunu sistemlerimizin sysloglarını merkezi bir konumda toplayacak şekilde yapılandıracağız. Graylog3, SSH girişlerini ve sıra dışı etkinliklerini izlemekten hata ayıklama uygulamalarına kadar birçok kullanım senaryosuna sahip güçlü bir günlük yönetimi ve analiz aracıdır. Elasticsearch, Java, MongoDB ve Scala’ya dayanmaktadır.

Graylog3 Dört ana bileşene sahiptir:

Graylog3 Server nodes: Mesajları alan ve işleyen ve diğer tüm sunucu dışı bileşenlerle iletişim kuran bir çalışan olarak hizmet eder. Performansı CPU gücünüz ile doğru orantılıdır.
Elasticsearch node: Tüm günlükleri / mesajları saklar. Performansı RAM ve disk I/O’ye bağlıdır
MongoDB: Meta verileri depolar ve fazla yüklenmez
Web Arayüzü (GUI): Kullanıcı arayüzü

Graylog3 bileşenlerinin en basti haliyle şeması aşağıdadır (mesajların diğer sunucularınızdan gönderildiğini unutmayın):

Centos 7 üzerine Graylog 3.0.2 Kurulumu 2

Çok temel bir kurulum için, tüm bileşenler yukarıdaki gibi aynı sunucuya kurulabilir.

Fakat EPS oranı yüksek çok sayıda sunucu ,Firewall ve network cihazı barındıran bir IT alt yapınız varsa , Graylog sunucusu, Elasticsearch veya MongoDB bileşenleri bir kesinti yaşanmamsı ve performans artışı için , Graylog3 Kurulumunu birden fazla makine ve DB üzerine aktarmak hem kesinti sırasında log kaybının önüne geçecek ve yüksek kullanılabilirlikle beraber performans artışı sağlayacaktır.

Çoklu sunucu kurulumu ile ilgil aşağıdaki örnek diagramları inceleyerek daha detaylı fikir edinebilirsiniz.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 3

Centos 7 üzerine Graylog 3.0.2 Kurulumu 4

Sistem Gereksinimleri

  • Centos 7 X64 işletim sistemi (Bu kurulumu centos 7 v18.10 üzerinde yapıyor olacağız.)
  • 4 Gb ram
  • 4 Core CPU
  • Min 100 GB Disk
  • Elasticsearch 5 veya 6
  • MongoDB 3.6 or later (latest stable version is recommended)
  • Oracle Java SE 8 (OpenJDK 8 also works; latest stable update is recommended)

Burada belirtmek istediğim özel bir nokta var bu tür sistemlerin kurulumlarını yapmadan önce ihtiyaçları ve kaynakları kurulum öncesi belirlemek önem taşıyor Log toplama işlemlerinde kritik konu disk kapasitesini belirlemek SIEM yada logManagement yazılımları çok kısa sürede büyük disk alanlarını doldurabiliyor. Kurulum sonrası iyice şişmiş diskler üzerinde disk genişletme gibi işlemlerle uğraşmak çok isteyeceğimiz bir durum değil.
Disk hesabı yapabilmeniz için aşağıdaki linkten sistem kaynaklarınızı belirterek ne kadar alana ihtiyacınız olduğunu yaklaşık olarak hesaplayabilirsiniz.

http://www.aspiretss.com/tools
https://www.trionlogics.com/EPS.html
https://siemsizingcalculator.logpoint.com/

Centos 7 üzerine Graylog 3.0.2 Kurulumu 5

İlk olarak Serverımızın EPEL(Extra Packages for Enterprise Linux) Yum deposunu güncelliyoruz.

Ön Hazırlıklarımızı tamamladığımıza göre kuruluma başlayabiliriz.

Gerekli paket kurulumları

Güvenli parola oluşturmak için Pwgen(PWDGenerate random passwords  ) Paketini kuruyoruz.

Elasticsearch çalışabilmesi için java ya ihtiyaç duyar makinemize Java kurulumunu yapıyoruz. Yani, OpenJDK veya Oracle JDK’yi yükleyin.

Java Versiyonumuzu kontrol ediyoruz

Elastik Search kurulumu

Elasticsearch, Graylog kurulumundaki önemli bileşenlerden biridir. Graylog girişinden gelen verileri depolar ve bir kullanıcı Graylog dahili web arayüzü üzerinden istediğinde mesajları görüntüler. Elasticseach, esas olarak burada verileri / günlükleri indekslemek ve Graylog web arayüzü herhangi bir bilgi istediğinde arama işlevselliğini sağlamak için kullanılır.

Yüklemeden önce GPG ( GnuPG — GNU Privacy Guard) imzalama anahtarını alıyoruz.

Elasticsearch paketinin en son sürümünü resmi depodan almak için bir depo dosyası oluşturun.

aşağıdaki içeriği oluşturduğumuz dosyaya ekliyoruz.

Elasticsearch paket kurulumunu başlatıyoruz.

Systemctl arka plan programını yeniden yüklüyoruz ve Elasticsearch’ün sistem başlangıcında otomatik olarak başlatılmasını sağlıyoruz.

Elasticsearch’ün Graylog kurulumuyla çalışmasını sağlamak için cluster adını graylog olarak ayarlamamız gerekir. Elasticsearch.yml dosyasını düzenleyin.

Cluster name bölümünü graylog olarak değiştiriyoruz.
cluster.name: graylog

Centos 7 üzerine Graylog 3.0.2 Kurulumu 6

Elastiksearch servisimizi restart ediyoruz.

Elasticsearch’ün tamamen yeniden başlatılmasına izin vermek için 2 dakika verin. Elasticsearch, şimdi HTTP isteklerini işlemek için 9200 dinliyor olmalı. Cevabı kontrol etmek için CURL komutunu kullanın.

Yukarıdaki komutun çıktısı aşağıdaki gibi olacaktır.

Elasticsearch Cluster’ın sağlık kontrolü yapın.

Çıktı aşağıdaki gibi olmalıdır.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 7

Elastiksearch Kurulumumuzu tamamladık.

MongoDB kurulumu

MongoDB yapılandırmaları ve meta bilgileri depolamak için bir veritabanı görevi görür. MongoDB’nin en son sürümünü almak için MongoDB’nin resmi deposunu kullanacağız.
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

MongoDB nin Repo bağlantı dosyasını oluşturuyoruz.

Repostory bilgilerini dosyamıza ekliyoruz.

Mongo DB kurulumunu aşağıdaki komut ile yapıyoruz.

Graylog kurulumu

Gray log paketimizin kurulumu için tüm ön gereksinimleri yükledik artık graylog3 paketinin kurulumunu yapabiliriz. Graylog sunucusu temel olarak çeşitli girdilerden gelen günlük mesajlarını kabul eder ve işler, graylog gelen loğları web arayüzünden görüntüleyeceğimiz bir ekran sunar.

Graylog 3.x reposunu indirip yüklüyoruz.

Graylog 3.0 server kurulumunu aşağıdaki komut ile başlatıyoruz.

Graylog server’ımızın default config dosyası “/etc/graylog/server/server.conf” yolunda yer almaktadır.

Günvenilir parola oluşturma işlemi

Gray log serverımız için pwgen aracı ile secret key ve parola oluşturacağız.
Secret Key oluşturuyoruz.

komut sonrası aşağıdaki gibi bir key çıktısı alacaksınız.

Yukarıdaki key’i config dosyasında “password_secret =” bölümüne gireceğiz. Graylog admin giriş parolasını belirliyoruz ben şifreyi “admin” olarak belirliyorum.

Aşağıdaki key’i config dosyasında “root_password_sha2 =” bölümüne gireceğiz.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 8

Graylog Config Dosyası Düzenleme

Parolamızı oluşturduğumuza göre config dosyamızı düzenlemeye başlayabiliriz.

yukarıda oluşturduğumzu “password_secret”  ve “root_password_sha2” keylerimizi config dosyamızda ilgili satırlara ekliyoruz. Timezone bölümü default olarak UTC geliyor bunu Türkiye için değiştirmeniz gerekli aksi takdirde toplanan logların saati farklı UTC zamanına göre loglanır bu değişikliği buradan yapmamız gerekiyor.

config dosyasında “root_timezone” u değiştiriyoruz.

eğer farklı bir timezone seçmek isterseniz buradaki listeden seçebilirsiniz https://www.joda.org/joda-time/timezones.html
Admin hesabı için bir mail adresi belirliyoruz (isteğe bağlıdır.)

Centos 7 üzerine Graylog 3.0.2 Kurulumu 9

Eğer graylog’u 1 host olarak kuruyorsanız aşağıdaki ayarı 1 yapınız eğer çoklu kurulum yapacaksanız ortamdaki nod sayınızı buraya girmelisiniz. Bizim yapımızda 1 adet Elastiksearch bulunuyor bu yüzden 1 yapıyoruz.

Bu, indeksleriniz için kopya sayısını tanımlar. Elasticsearch cluster’ında yalnızca bir nod’a sahipseniz, 0 olarak ayarlayın.

Graylog Web interface configurasyon

config dosyamızı açıyoruz.

Graylog Web Arabiriminin Graylog sunucusuna bağlanmasına izin vermek için girişleri değiştiriyoruz. Graylog serverımın ip adresi 192.168.1.96 aşağıdaki bölüme kendi serverınızın ip adresini giriniz.

config dosyamızı açıyoruz.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 10

Graylog servisimizi restart ediyoruz ve başlangıçta otomatik olarak başlamasını sağlıyoruz.

Sunucu başlangıç günlüklerini kontrol edebilirsiniz; Graylog ile ilgili sorunları gidermeniz sizin için yararlı olacaktır.

Eğer buraya kadar tüm adımları sorunsuz uyguladıysanız log dosyasında aşağıdaki mesajı görmelisiniz.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 11

Firewall Configurasyonu

Graylog 9000 portunu kullanır eğer iptable yada firewalld aktif ise aşağıdaki komut ile gerekli FW kuralını ekleyiniz.

Selinux(Security Enhanced Linux)  Configurasyonu

Cacti uygulamasını çalıştırmak için selinux u kapamamız gerekiyor aşağıdaki komut ile Selnux durumunu görüntüleyebilirsiniz.

Selinux(Security Enhanced Linux) ‘ı devre dışı bırakmak için aşağıdaki adımları takip ediniz.

Bu işlemden sonra makinemizi reboot etmemiz gerekiyor.

Graylog Web erişimi

Graylog web erişimi için 9000 portunu dinlemektedir bu sebepten aşağıdaki linten erişim sağlaycağız.

Kullanıcı adı yöneticisi ve server.conf’ta root_password_sha2‘de yapılandırdığınız şifre ile giriş yapın.

Ben user bilgilerini aşağıdaki şekilde yapılandırdım

Username : admin
Parola        : admin

Giriş yaptıktan sonra aşağıdaki ekran bizi karşılıyor olacak.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 12

Centos 7 üzerine Graylog 3.0.2 Kurulumu 13

Graylog input

Graylog’a gelen loglar harici kaynaklardan, yani syslog veya herhangi bir log sisteminden alacak şekilde yapılandırılması gerekir. Bu örnekte, UDP 514 numaralı bağlantı noktasında syslog’dan günlükleri almak için bir input ayarlayacağız. fakat bir problem var graylog’a tanımlanan inputlardan birine, 1024’ün altındaki TCP / UDP bağlantı noktalarına giriş yapmaya başlarsanız, Graylog gelen log kayıtlarını red eder ve günlüklerinde izin redd hatalarını görürsünüz. Bu sorunu çözmek için, 1514 numaralı bağlantı noktasında başlatılacak bir input oluşturacağız ve 514 portuna gelen talepleri güvenlik duvarı kuralları ile 514’ten 1514’e yönlendireceğiz.

Böylelikle Graylog sunucumuza 514 portundan yada 1514 portundan gelen tüm loglar ulaşıyor olacak.

Aşağıdaki Yolu izliyoruz.
System >> Inputs >> select Syslog UDP

Centos 7 üzerine Graylog 3.0.2 Kurulumu 14

Node: Select your Graylog Node
Title: Bir isim veriniz
Bind address: 0.0.0.0 (default bırakabilr yada Graylogserverınızın ip adresini girebilrisiniz)
Port: 1514

Centos 7 üzerine Graylog 3.0.2 Kurulumu 15

Bu işlemden sonra oluşturduğumuz input(connector) aşağıdaki gibi 1514 numaralı porttan gelen bütün paketleri dinlemeye başlayacaktır.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 16

Rsyslog Yapılandırması

Rsyslog server 514 portunu dinler dolayısıyla loğlarını almak istediğiniz fakat defaultta değiştiremediğiniz network cihazlarından gelen loğları Graylog server’a aktaramazsınız bunun için rsyslog server Un 514 numaralı portuna gelen istekleri Graylog server’ın 1514 numaralı portuna yönlendireceğiz.

Rsyslog config dosyamızı açıyoruz.

Centos 7 üzerine Graylog 3.0.2 Kurulumu 17

# Provides UDP syslog reception satırındaki açıklamaları “#” kaldırıyoruz ve udp dinlemeyi aktif ediyoruz.

sayfanın en altına inerek aşağıdaki satırı ekliyoruz burada yukarıda oluşturduğumuz 1514 numaralı portu kullanacağız. Aşağıdaki komut ile Rsyslog server 514.porta UDP den gelen bütün girdileri Graylog serverımızdaki 1514 numaralı porta yönlendiriyor olacak.

 

Centos 7 üzerine Graylog 3.0.2 Kurulumu 18

Rsyslog servisimizi restart ediyoruz.

Rsyslog Firewall  ayarları

Graylog sunucusunda UDP 514 numaralı bağlantı noktasına(porta) gelen trafiği yönlendirmek için aşağıdaki yönlendirme komutlarını uyguluyoruz.

Güvenlik duvarında UDP 1514 bağlantı noktası numarasının Rsyslog’dan günlükleri almasına izin vermek için Graylog sunucusunda aşağıdaki komutları uygulayın.

Graylog kurulacak paketler

http://docs.graylog.org/en/3.0/pages/integrations/setup.html

Graylog serverımızın input böümüne tanımlayacağımız cihaz yelpazesini arttırmak için aşağıcaki komutu kullanrak ek pluginleri ekleyebilirsiniz.

Graylog server kurulumumuz bu kadar.

Hakkinda Serdar Bayram

Bu yazı blog üzerinde Serdar Bayram tarafından hazırlanıp paylaşılmıştır. 2009 yılında açılan blogum kısa zaman içerisinde paylasımları ile dikkat cekip büyük bir izleyici kitlesine sahip olmuştur.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*