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:514bu 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
Yorum Gönder