Merkezi Log Sunucusu Kurulumu(RSYSLOG)


                           Merkezi Log Sunucusu Nedir ?

       Her sunucu kendi varsayılan ayarları  gereği  kendi loglarını üretir. Bu logları kendi  bünyesinde barındırır. Barındırılan bu loglar "/var/log/" dizini altında tutulur. Sunucu sistemlerinde sadece bu şekilde log tutmak riskli bir iştir. Bunun için merkezi loglama sistemi kullanılır. Merkezi log sisteminde amac  hizmet veren sunucuların hepsinin loglarını bir merkezde toplayarak, hizme veren sunuculardan herhangi birinin başına bir iş geldiği  zaman bu toplanmış olan loglara bakarak sorun tespit edilir. Merkezde toplanan bu loglar kanunlar gereği imzalanıp yedeklenip saklanır. En bilinen merkezi log sunucusu ise Rsyslog dur.
Rsyslog varsayılan sunucu sistemlerinde gelen syslogd gelişmiş halidir. Depolanan logları rsyslog  ile encryp edebilir,  belirli veritabanlarına yazabilir, almış olduğumuz logların formatları ile istediğimiz gibi oynayabiliriz.


   Rsyslog Kurulumu

     Rsyslog, yeni kurulmuş bir Ubuntu 18.04 sisteminde varsayılan olarak yüklenir. Herhangi bir nedenle paket kurulu değilse, aşağıdakileri çalıştırarak yükleyebilirsiniz:

  "sudo  apt-get -y install rsyslog"

bu işlemin ardından rsyslog sistemimiz de kurulmus olur.Sistemde kurulu olan rsyslog servisininin çalışıp  çalışmadığını kontrol etmek amacı ile 
"sudo  systemctl status rsyslog" komutu çalıştırılır.

Görüldüğü  gibi servisimiz çalışıyor.Bu işlemin ardından merkezi log sunucumuzu ayarlarını yapmamız gereklir.Bu ayarlar  "rsyslog.conf" dosyası üzerinde yapabiliriz.Bunun için 

"vim /etc/rsyslog.conf" komutunu kullanabiliriz. İlk olark  logları udp  ve tcp üzerinden alacağımız için şu satırları eklememiz gerekir.

module(load="imudp")
input(type="imudp" port="514")module(load="imudp")
input(type="imudp" port="514")

module(load="imtcp")
input(type="imtcp" port="514")

Bu komutları logları tcp  ve udp protokolleri yardımı  ile alacağımızı ve 514 numaralı portu kullanacağımızı belirtir.

$AllowedSender TCP, 127.0.0.1, 192.168.10.0/24, *.example.com


Bu satır isteğe göre eklenir.Amac gelen loglama isteklerinin hangi ip adreslerinden geleceği yada host dosyasında tanımlı olan alan adlarından hangilerinin isteklerinin kabul edileceğini belirtir.

$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?remote-incoming-logs
& ~


Yukarıda eklemiş olduğumuz satırlar ise gelen logların nasıl tutulacağını belirtir.Burada gelen logların geldiği makinenin hostname adı ile ayrı bir klasör açılıp altından gerçekleşen olayların loglanacağını belirtir.Bu işlemlerin ardından ise servisi yeniden başlatmak gerekir. "sudo  systemctl restart rsyslogd" komutu yeterli olur.

Bu işlemleri yaptıktan sonra aşağıdaki komutu çalıştırıp rsyslog servisinin portları dinleyip dinlemeğini kontrol edelim.
" ss -tunelp  | grep  514"

görüldüğü  gibi rsyslog servisinin portları  dinlediğini görebiliriz.Ayrıca portları dışarıya açamamız gerekir. Bunun için ise
sudo ufw allow 514/tcp
sudo ufw allow 514/udp
Komutlarının çalıştırmak yeterli olacaktır.
Merkezi log sunucu ayarlarının tamamladıktan sonra ise client sunucumuzu konfigure etmek gerekir. Bunu için şu adımları uygulamamız gerekir.

Client sunucumuza  gene aynı şekilde kurulumu yaptıktan sonra "rsyslog.conf" dosyası üzerinden bazı ayarları yapmamız gerekecek ayarlar ise şu şekildedir.
*. * @ip-address-of-rsysog-server:514
*. * @@ip-address-of-rsysog-server:514
bu satırları eklememiz gerekir amac ise logların hangi makinete hangi portan ve hangi protokol yardımı ile gönderileceğini belirtir. İlk satırda udp protokolü  ile 514 nolu porta yollamamız gerektiğini söyler.Tcp ve Udp ikisini ayıran özellik ise başlarında bulunan @ işareti olur. Tek olduğu zaman udp protokolü kullacağını belirtir.Ayrıca ryslog sunucusunun ne zaman hangi kurallara göre çalıcağının belirtmemiz gerekir.Bunu için ise
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

satırlarını eklememiz yeterli olacaktır.Bu işlemlerin ardından rsyslog servisimizi yeniden başlatalım.Bu işlemlerin ardından merkezi log sunucumuzda /var/log dizini altına gidip dizinleri ve dosyaları  listeleyelim.



listelme işleminin ardından iki tane "akocak-linux" ve "mustafa-linux" adında dizin oluşturuldu bunlardan akocak-linux client sunucumuza ait olan logları tutar, mustafa-linux dizini ise kendi loglarını tekrar bu dizin içerisinde tutar çünkü ayar dosyasında kendi loglarımızıda kendimize yonlendirmiştik.Bu işlemlerin ardından logları kontrol etmek için "tail -f akocak-linux/sshd.log" komutunu çalıştıralım.

Görüldüğü  gibi  akocak-linux hostunda bulunan sshd  logları merkezi log sunucumuza yönlendirmiş olduk.



Merkezi log sunucusu kurlumu ile ilgili anlatacaklarım bu kadat bir daha ki yazıda görüşmek dileğiyle.










Yorumlar

Bu blogdaki popüler yayınlar

İntellij Ide Kurulumu Maven kullanımı

Vlan nedir ? Hp switchlerde Vlan yapısı ve Bazı network terimleri

Ubuntu Server Ldap Kurulumu