15 Ocak 2019 Salı

Merkezi loglama rsyslog.

En basit şekliyle merkezi loglama için rsyslog kullanabiliriz.
Bu çalışmada merkezi log sunucusu olarak "Oracle Linux Server release 7.6" kullandım.
oel kurulduktan sonra sistem güncelledi ve rsyslog ayarlarında  tcp ve udp  modulleri aktifleştirildi.
Diğer sunuculardan log alması için tcp/udp modülünün aktifleştirilmesi yeterlidir.


# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514


İlave olarak her sunucumuzdan gelen logları ayrı ayrı dosyalara yazabilmek için aşağıdaki gibi bir template oluşturarak kullanıyoruz.

$template LogFile,"/var/log/%HOSTNAME%/%programname%.log"
*.* ?LogFile


Sizler kendi isteğinize göre gelen logları istediğiniz yere yazdırabilirsiniz.

Son adım olarak, güvenlik duvarına, hangi sunuculardan log alınmasına izin veriyoruz.

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="172.16.0.123/32" port protocol="tcp" port="514" accept'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="172.16.0.123/32" port protocol="udp" port="514" accept'


Kural yazıldıktan sonra  uygulanması için;

 firewall-cmd --reload
veya
systemctl restart firewalld
ile güvenlik kuralımızı etkinleşitiriz. Artık sunucumuz 172.16.0.123 ip nosundan gelen syslog mesajlarını alarak, kayıt eder.


172.16.0.123 ip adresli sunucuya giderek rsyslog.conf dosyamıza

*.* @@172.16.0.253:514ekleyerek rsyslog servisini yeniden başlattığımızda tüm loglar log sunucumuza gönderilir.
Sizler tüm loglar yerine belli loglarıda gönderebilirsiniz. Bu size kalmış.


rsyslog'de varsayılan olarak yetkilendirme olmadığından güvenlik duvarının aktif olması ve sınırlama yapılmasını tavsiye ederim.


Hiç yorum yok:

Yorum Gönder