Difference between revisions of "Syslog"
Jump to navigation
Jump to search
Line 54: | Line 54: | ||
===Tuning logcheck filters=== |
===Tuning logcheck filters=== |
||
+ | ====Solving the issue at the source==== |
||
I have many such messages in the vserver: |
I have many such messages in the vserver: |
||
pam_limits[863]: setrlimit limit #6 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0 |
pam_limits[863]: setrlimit limit #6 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0 |
||
Line 59: | Line 60: | ||
<br>To get rid of it, comment the line in /etc/pam.d/cron and /etc/pam.d/ssh: |
<br>To get rid of it, comment the line in /etc/pam.d/cron and /etc/pam.d/ssh: |
||
#session required pam_limits.so |
#session required pam_limits.so |
||
+ | ====Writing and testing new rules==== |
||
− | |||
To test logcheck filtering rules: |
To test logcheck filtering rules: |
||
<pre> |
<pre> |
||
sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep '<regexp>' |
sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep '<regexp>' |
||
</pre> |
</pre> |
||
+ | Then you can dry run logcheck on the command line: |
||
− | |||
+ | su logcheck -s /bin/bash -c "/usr/sbin/logcheck -l /var/log/remote/mx/auth.log -o -t" |
||
+ | This is easier if you have sudo installed... |
||
+ | ====Examples of home-made rules==== |
||
For common imapd timeouts: |
For common imapd timeouts: |
||
/etc/logcheck/ignore.d.paranoid/local-imap: |
/etc/logcheck/ignore.d.paranoid/local-imap: |
Revision as of 19:24, 4 December 2006
Syslog-ng install
apt-get install syslog-ng
Example of /etc/syslog-ng/syslog-ng.conf:
Comment kernel source out as we are in a vserver:
source s_all { #file("/proc/kmsg" log_prefix("kernel: "));
I want to keep the original hostnames:
options { keep_hostname(1);
Enable logging per remote host
source net { udp(ip(192.168.x.xxx)); }; destination df_zeus { file("/var/log/syslog-zeus.log" owner("root") group("adm") perm(0640)); }; destination df_public { file("/var/log/syslog-public.log" owner("root") group("adm") perm(0640)); }; destination df_private { file("/var/log/syslog-private.log" owner("root") group("adm") perm(0640)); }; destination df_ns0 { file("/var/log/syslog-ns0.log" owner("root") group("adm") perm(0640)); }; destination df_sql { file("/var/log/syslog-sql.log" owner("root") group("adm") perm(0640)); }; destination df_others { file("/var/log/syslog-$HOST.log" owner("root") group("adm") perm(0640)); }; filter f_zeus { host(192.168.x.xxx); }; filter f_public { host(192.168.x.xxx); }; filter f_private { host(192.168.x.xxx); }; filter f_ns0 { host(192.168.x.xxx); }; filter f_sql { host(192.168.x.xxx); }; filter f_others { not host(192.168.x.xxx) and not host(192.168.x.xxx) and not host(192.168.x.xxx) and not host(192.168.x.xxx) and not host(192.168.x.xxx) }; log { source(net); filter(f_zeus); destination(df_zeus); }; log { ...
Allow inbound connections from monitoring subnet
iptables -A INPUT -s xxxx -d xxxx -p udp --dport 514 -m state --state NEW -j ACCEPT
On satellite hosts: add to /etc/syslog.conf
- .* @192.168.x.xxx
Resources & Credits
Logcheck
apt-get install logcheck logcheck-database
In /etc/logcheck/logcheck.conf:
REPORTLEVEL="paranoid"
Tuning logcheck filters
Solving the issue at the source
I have many such messages in the vserver:
pam_limits[863]: setrlimit limit #6 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
Not sure why, probably because vserver max limits are reduced.
To get rid of it, comment the line in /etc/pam.d/cron and /etc/pam.d/ssh:
#session required pam_limits.so
Writing and testing new rules
To test logcheck filtering rules:
sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep '<regexp>'
Then you can dry run logcheck on the command line:
su logcheck -s /bin/bash -c "/usr/sbin/logcheck -l /var/log/remote/mx/auth.log -o -t"
This is easier if you have sudo installed...
Examples of home-made rules
For common imapd timeouts:
/etc/logcheck/ignore.d.paranoid/local-imap: ^\w{3} [ :0-9]{11} [._[:alnum:]-]+ imapd: TIMEOUT, user=[a-z]+, ip=\[[:.0-9a-f]+\], headers=0, body=0, rcvd=[0-9]+, sent=[0-9]+, time=[0-9]+, starttls=1$
TODO
- update syslog-ng notes with new filters, flag final etc
- logcheck them, ! fw of zeus
- source IP of zeus seems to be 100
- fwlogwatch?
- http://www.phpwizardry.com/php-syslog-ng.php ?
- logrotate