Linux Syslog-NG
Syslog zapisuje události v systémech Linux. Tyto zprávy jsou ukládány lokálně do jednotlivých souborů. Tyto zprávy lze nastavit tak, aby se přeposílali na server Logmanager.
Po úpravách konfiguračních souborů doporučujeme provést kontrolu validity příkazem syslog-ng -s.
Nejprve je potřeba ověřit základní nastavení, které je společné pro další možnosti konfigurace:
-
Zeditujte konfigurační soubor
/etc/syslog-ng/syslog-ng.conf
. -
Zkontrolujte, zda soubor obsahuje tyto parametry:
source s_src { system(); internal(); }; @include "/etc/syslog-ng/conf.d/"
-
Soubor uložte.
Pokud požadujete odesílat všechny zprávy, které se vyskytují v systému, postupujte podle následujících kroků:
-
Vytvořte soubor
/etc/syslog-ng/conf.d/lm.conf
. -
Vložte do něj následující kód:
destination d_netlm { tcp( "<Logmanager_IP_address>" port(514) log-fifo-size(10000) ); }; log { source(s_src); destination(d_netlm); };
Logmanager_IP_address je IP adresa Vašeho serveru Logmanager.
log-fifo-size je výstupní fronta Syslogu. Číslo udává maximální počet zpráv, které mohou být uloženy ve frontě. V případě výpadku spojení s Logmanager serverem se do této fronty ukládají neodeslané zprávy. Po dosažení stanoveného limitu se začnou příchozí zprávy zahazovat až do okamžiku opětovného navázání komunikace.
-
Soubor uložte.
-
Zrestartujte službu syslog-ng příkazem: /etc/init.d/syslog-ng restart
Nyní bude server Syslog-NG zasílat zprávy na server Logmanager.
Pokud požadujete odesílat pouze zprávy z určitého programu (služby), postupujte podle následujících kroků:
-
Vytvořte soubor
/etc/syslog-ng/conf.d/lm_<program_name>.conf
. -
Vložte do něj následující kód:
destination d_netlm { tcp( "<Logmanager_IP_address>" port(514) log-fifo-size(10000) ); }; filter f_<program_name> { program("<program_name>"); }; log { source(s_src); filter(f_<program_name>); destination(d_netlm); };
Logmanager_IP_address je IP adresa Vašeho serveru Logmanager.
program_name nahraďte požadovaným jménem programu, například sshd pro monitorování přístupů přes SSH daemona.
log-fifo-size je výstupní fronta Syslogu. Číslo udává maximální počet zpráv, které mohou být uloženy ve frontě. V případě výpadku spojení s Logmanager serverem se do této fronty ukládají neodeslané zprávy. Po dosažení stanoveného limitu se začnou příchozí zprávy zahazovat až do okamžiku opětovného navázání komunikace.
-
Soubor uložte.
-
Zrestartujte službu syslog-ng příkazem: /etc/init.d/syslog-ng restart
Nyní bude server Syslog-NG zasílat zprávy na server Logmanager.
Ukázka konfigurace předávání logů ze služby SSH:
destination d_netlm {
tcp(
"<Logmanager_IP_address>"
port(514)
log-fifo-size(10000)
);
};
filter f_sshd { program("sshd"); };
log { source(s_src); filter(f_sshd); destination(d_netlm); };
Logmanager_IP_address je IP adresa Vašeho serveru Logmanager.
Pokud požadujete odesílat pouze konkrétní log soubor, postupujte podle následujících kroků:
-
Vytvořte soubor
/etc/syslog-ng/conf.d/lm_<program_name>.conf
. -
Vložte do něj následující kód:
destination d_netlm { tcp( "<Logmanager_IP_address>" port(514) log-fifo-size(10000) ); }; source s_<program_name> { file( "/var/log/<program_name>" program_override("<program_name>") ); }; log { source(s_<program_name>); destination(d_netlm); };
Logmanager_IP_address je IP adresa Vašeho serveru Logmanager.
program_name nahraďte požadovaným jménem programu, například sshd pro monitorování přístupů přes SSH daemona.
log-fifo-size je výstupní fronta Syslogu. Číslo udává maximální počet zpráv, které mohou být uloženy ve frontě. V případě výpadku spojení s Logmanager serverem se do této fronty ukládají neodeslané zprávy. Po dosažení stanoveného limitu se začnou příchozí zprávy zahazovat až do okamžiku opětovného navázání komunikace.
-
Soubor uložte.
-
Zrestartujte službu syslog-ng příkazem: /etc/init.d/syslog-ng restart
Nyní bude server Syslog-NG zasílat zprávy na server Logmanager.
Ukázka konfigurace předávání logů ze služby Apache Tomcat:
destination d_netlm {
tcp(
"<Logmanager_IP_address>"
port(514)
log-fifo-size(10000)
);
};
source s_tomcat {
file(
"/var/log/tomcat7/localhost_access.log"
program_override("tomcat")
);
};
log { source(s_tomcat); destination(d_netlm); };
Logmanager_IP_address je IP adresa Vašeho serveru Logmanager.
Pokud požadujete odesílat pouze zprávy konkrétní facility a severity, postupujte podle následujících kroků:
-
Vytvořte soubor
/etc/syslog-ng/conf.d/lm_facility_severity.conf
. -
Vložte do něj následující kód:
destination d_netlm { tcp( "<Logmanager_IP_address>" port(514) log-fifo-size(10000) ); }; # filtr pro kritickou severitu filter f_crit { level(crit) }; log { source(s_src); filter(f_crit); destination(d_netlm); }; # nebo filtr pro facilitu mail filter f_mail { facility(mail) }; log { source(s_src); filter(f_mail); destination(d_netlm); };
Logmanager_IP_address je IP adresa Vašeho serveru Logmanager.
log-fifo-size je výstupní fronta Syslogu. Číslo udává maximální počet zpráv, které mohou být uloženy ve frontě. V případě výpadku spojení s Logmanager serverem se do této fronty ukládají neodeslané zprávy. Po dosažení stanoveného limitu se začnou příchozí zprávy zahazovat až do okamžiku opětovného navázání komunikace.
-
Soubor uložte.
-
Zrestartujte službu syslog-ng příkazem: /etc/init.d/syslog-ng restart
Nyní bude server Syslog-NG zasílat zprávy na server Logmanager.
Od této verze Syslog-NG podporuje ukládání zpráv na disk v případě výpadku spojení mezi Syslog-NG a Logmanager serverem. Pokud požadujete ukládat větší množství neodeslaných zpráv na disk, je možné změnit následující konfiguraci:
destination d_netlm {
tcp(
"<Logmanager_IP_address>"
port(514)
disk-buffer(
mem-buf-size(10000)
disk-buf-size(2000000)
reliable(yes)
)
);
};
Kompletní ukázka nastavení odesílání všech zpráv na server Logmanager:
destination d_netlm {
tcp(
"<Logmanager_IP_address>"
port(514)
disk-buffer(
mem-buf-size(10000)
disk-buf-size(2000000)
reliable(yes)
)
);
};
log { source(s_src); destination(d_netlm); };
Logmanager_IP_address je IP adresa Vašeho serveru Logmanager.
Ukládání zpráv na disk je pomalejší než ukládání zpráv do paměti. V případě většího množství zpráv může Syslog-NG negativně ovlivnit výkon serveru.
-
Vytvořte složku pro certifikáty:
sudo mkdir /etc/syslog-ng/ca.d
-
Přejděte do nově vytvořené složky:
cd /etc/syslog-ng/ca.d
-
Zkopírujte do složky veřejný certifikát CA (ve formátu .pem)
-
Proveďte následující příkaz:
openssl x509 -noout -hash -in ca-certifikat.pem (výsledkem by měla být hash, např. 6d2962a8)
-
Vytvořte symbolický link na certifikát (je potřeba si zkopírovat hash z předchozího příkazu a přidat za hash suffix .0):
ln -s ca-certifikát.pem 6d2962a8.0
-
Vytvořte soubor /etc/syslog-ng/conf.d/lm_TLS.conf
-
Vložte do něj následující kód:
destination d_netlm { network("<hostname/IP zadaná v CN certifikátu>" port(6514) transport("tls") tls( ca-dir("/etc/syslog-ng/ca.d")) ); }; log { source(s_src); destination(d_netlm); };