类别: 作者: 来源: 日期: 授权: 声明:
内容摘要:
syslog自身实现了远程log功能,本次试验的目的是实现多台主机的远程日志管理. 能对log进行简单的分离,以便进一步分析和审计.
测试环境 log服务器:192.168.0.1 (logserver) :接收日志 log客户机:192.168.0.2 (logclient) :产生日志 # uname -a Linux logserver 2.4.21-4.EL #1 Fri Oct 3 18:13:58 EDT 2003 i686 i686 i386 GNU/Linux 简单配置 syslog自身提供了远程日志功能,这里主要需要完成的功能是: 1.配置syslog使其支持远程日志功能 [服务端] 1) SYSLOGD_OPTIONS增加 -r 标志 #cat /etc/rc.d/init.d/syslog ... ... if [ -f /etc/sysconfig/syslog ] ; then . /etc/sysconfig/syslog else SYSLOGD_OPTIONS="-m 0" KLOGD_OPTIONS="-2" fi ... ... #cat /etc/sysconfig/syslog ... ... SYSLOGD_OPTIONS="-r -m 0" ... ... 2) 确认 syslog 开起 514/udp,如果没有,需要添加如下内容 # cat /etc/services |grep syslog syslog 514/udp 3)重新启动syslog #service syslog restart 注: kill -HUP `cat /var/run/syslogd.pid` 只是重新载入配置文件(/etc/syslog.conf) [客户端] 1) 增加host名 # cat /etc/hosts 192.168.0.1 logserver # ping logserver PING logserver (192.168.0.1) 56(84) bytes of data. 64 bytes from logserver (192.168.0.1): icmp_seq=0 ttl=64 time=0.234 ms 2) 是syslog远程输出,即把所有指向文件的输出都改成 @logserver # cat /etc/syslog.conf *.* @logserver 3) 重载入 syslog 配置 kill -HUP `cat /var/run/syslogd.pid` [验证连接] 在client上,重启一个服务 #service vsftpd restart 然后在server上看 /var/log/message 能看到从192.168.0.2发送的log [简单结论] 以上步骤,已经实现了syslog的远程日志功能,但是各个log是混在一起的 包括本机(server)和远程(client,可能会多太客户机),这样不利于log的 的分离和统计. 日志分离 首先要进行客户端的输出粒度,然后在服务端在进行二次分析和分离. syslog.conf个格式如下.(man 和 google能找到,不再累诉) 设备.行为级别 [;设备.行为级别] 记录行为 (注意各栏之间用[Tab]来分隔,用空格是无效的。) =============================================================== 太有难度了,等我闲下来再继续,参考下别的log项目 [added 2006-08-24] 需求变化了,俺也不用费脑筋了,最简单的方法,就是crontab + grep了 每天23:59分,对log文件grep一下,就可以按ip分离和保存了,爱怎么整都行
参考资料:
- 绿盟安全月刊-构建SYSLOG系统详解
- man syslogd 8
- man syslog.conf