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.
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.
Yorumlar
Yorum Gönder