# /etc/syslog-ng/syslog-ng.conf # From the Gentoo Linux Security Guide # http://www.gentoo.org/doc/en/gentoo-security.xml # Creative Commons - Attribution / Share Alike License # http://creativecommons.org/licenses/by-sa/2.0 options { create_dirs(yes); #will recursively create log files/directories if necessary }; # The port where the logs will be sent to by the clients source remote_log {udp(ip("SERVERIPADDRESS") port(514));}; # where to log the files on the server. $HOST is a macro and will be replaced by the hostname sending the log destination remote {file("/var/log/remote/$HOST/");}; # link the source to the destination log {source(remote_log); destination(remote);}; # #source net { udp(); }; #destination remote { file("/var/log/remote/$FULLHOST"); }; destination remote_authlog { file("/var/log/remote/$HOST/auth.log"); }; destination remote_syslog { file("/var/log/remote/$HOST/syslog"); }; destination remote_cron { file("/var/log/remote/$HOST/cron.log"); }; destination remote_daemon { file("/var/log/remote/$HOST/daemon.log");}; destination remote_kern { file("/var/log/remote/$HOST/kern.log"); }; destination remote_lpr { file("/var/log/remote/$HOST/lpr.log"); }; destination remote_user { file("/var/log/remote/$HOST/user.log"); }; # Should be remote_maillog (Without dot) as it was the default on logwatch destination remote_mail { file("/var/log/remote/$HOST/maillog"); }; destination remote_mailinfo { file("/var/log/remote/$HOST/mail.info");}; destination remote_mailwarn { file("/var/log/remote/$HOST/mail.warn");}; destination remote_mailerr { file("/var/log/remote/$HOST/mail.err");}; destination remote_newscrit { file("/var/log/remote/$HOST/news/news.crit");}; destination remote_newserr { file("/var/log/remote/$HOST/news/news.err");}; destination remote_newsnotice { file("/var/log/remote/$HOST/news/news.notice");}; destination remote_debug { file("/var/log/remote/$HOST/debug");}; destination remote_messages { file("/var/log/remote/$HOST/messages"); }; # log { source(net); destination(remote); }; #options { chain_hostnames(off); create_dirs (yes); sync(0); stats(43200); }; #source where to read log source src { unix-stream("/dev/log"); internal(); }; source kernsrc { file("/proc/kmsg"); }; #define destinations destination authlog { file("/var/log/auth.log"); }; destination syslog { file("/var/log/syslog"); }; destination cron { file("/var/log/cron.log"); }; destination daemon { file("/var/log/daemon.log"); }; destination kern { file("/var/log/kern.log"); }; destination lpr { file("/var/log/lpr.log"); }; destination user { file("/var/log/user.log"); }; # Should be maillog (Without dot) as it was the default on logwatch destination mail { file("/var/log/maillog"); }; # destination mailinfo { file("/var/log/mail.info"); }; destination mailwarn { file("/var/log/mail.warn"); }; destination mailerr { file("/var/log/mail.err"); }; destination newscrit { file("/var/log/news/news.crit"); }; destination newserr { file("/var/log/news/news.err"); }; destination newsnotice { file("/var/log/news/news.notice"); }; destination debug { file("/var/log/debug"); }; destination messages { file("/var/log/messages"); }; destination console { usertty("root"); }; destination console_all { file("/dev/tty12"); }; destination xconsole { pipe("/dev/xconsole"); }; #create filters filter f_auth { facility(auth); }; filter f_authpriv { facility(auth, authpriv); }; filter f_syslog { not facility(authpriv, mail); }; filter f_cron { facility(cron); }; filter f_daemon { facility(daemon); }; filter f_kern { facility(kern); }; filter f_lpr { facility(lpr); }; filter f_mail { facility(mail); }; filter f_user { facility(user); }; filter f_debug { not facility(auth, authpriv, news, mail); }; filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news); }; filter f_emergency { level(emerg); }; filter f_info { level(info); }; filter f_notice { level(notice); }; filter f_warn { level(warn); }; filter f_crit { level(crit); }; filter f_err { level(err); }; filter f_failed { match("failed"); }; filter f_denied { match("denied"); }; #connect filter and destination log { source(src); filter(f_authpriv); destination(authlog); flags(final); }; log { source(src); filter(f_cron); destination(cron); flags(final); }; log { source(src); filter(f_syslog); destination(syslog); flags(final); }; log { source(src); filter(f_daemon); destination(daemon); flags(final); }; log { source(kernsrc); filter(f_kern); destination(kern); flags(final); }; log { source(src); filter(f_lpr); destination(lpr); flags(final); }; log { source(src); filter(f_mail); destination(mail); flags(final); }; log { source(src); filter(f_user); destination(user); flags(final); }; log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); flags(final); }; log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); flags(final); }; log { source(src); filter(f_mail); filter(f_err); destination(mailerr); flags(final); }; log { source(src); filter(f_debug); destination(debug); }; log { source(src); filter(f_messages); destination(messages); }; log { source(src); filter(f_emergency); destination(console); }; #####remote filters and destinations #connect filter and destination log { source(remote_log); filter(f_authpriv); destination(remote_authlog); }; log { source(remote_log); filter(f_syslog); destination(remote_syslog); }; log { source(remote_log); filter(f_cron); destination(remote_cron); }; log { source(remote_log); filter(f_daemon); destination(remote_daemon); }; log { source(remote_log); filter(f_kern); destination(remote_kern); }; log { source(remote_log); filter(f_lpr); destination(remote_lpr); }; log { source(remote_log); filter(f_mail); destination(remote_mail); }; log { source(remote_log); filter(f_user); destination(remote_user); }; log { source(remote_log); filter(f_mail); filter(f_info); destination(remote_mailinfo); }; log { source(remote_log); filter(f_mail); filter(f_warn); destination(remote_mailwarn); }; log { source(remote_log); filter(f_mail); filter(f_err); destination(remote_mailerr); }; log { source(remote_log); filter(f_debug); destination(remote_debug); }; log { source(remote_log); filter(f_messages); destination(remote_messages);}; #[edit] #default log log { source(src); destination(console_all); };