虚拟主机域名注册-常见问题其他问题 → 其他问题


如何将Linux主机设置成syslog服务器 .
作者:

【服务器端】

step 1:查看服务器是否开启了UDP 514端口

             grep '514' /etc/services

 

step 2:修改syslogd的启动设置文件/etc/sysconfig/syslog

             将SYSLOGD_OPTIONS="-m 0"修改成SYSLOGD_OPTIONS="-m 0 -r"

 

step 3:重启syslogd服务

             /etc/init.d/syslog restart

 

重启后,你会发现UDP 514端口已经打开。

 

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
udp        0      0 0.0.0.0:514                 0.0.0.0:*                               5628/syslogd        

 

【客户端】

step 1:在/etc/syslog.conf中,添加下行。

     user.*     @192.168.0.Y                  # syslog服务器的IP地址

 

在Ubuntu中配置syslogd服务器的方法类似。

 

step 1:查看服务器是否开启了UDP 514端口,有下面一行说明端口514被打开,没有需要加入

             # grep '514' /etc/services

             184:shell               514/tcp         cmd             # no passwords used
             185:syslog            514/udp

 

step 2: 修改/etc/init.d/sysklogd,将SYSLOGD=""修改成SYSLOGD=" -r"

 

step 3: 修改/etc/default/syslogd,将SYSLOGD=""修改成SYSLOGD=" -r"

 

step 4: 重启服务  /etc/init.d/sysklogd restart

 

step 5: 验证

              在/var/log/messages中找到

              May  1 23:31:59 flagonxia-desktop syslogd 1.5.0#5ubuntu3: restart (remote reception)

              # netstat -tlunp

              得到syslogd服务正在监听端口514

              udp        0      0 0.0.0.0:514             0.0.0.0:*                           3912/syslogd

 

step 6: 假设syslog服务器的IP地址:192.168.1.25,在其他主机上的/etc/syslog.conf中加入

              *.*         @192.168.1.25

 

注:/etc/syslog.conf文件的解析

日志文件按/etc/syslog.conf 配置文件中的描述进行组织。下图是/etc/syslog.conf 文件的内容:
[root@localhost ~]# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
syslog.conf
 行的基本语法是: 
[
 消息类型][ 处理方案
] 
注意:中间的分隔符必须是Tab 字符!

消息类型是由" 消息来源" " 紧急程度" 构成,中间用点号连接。例如上图中,news.crit 表示来自news  关键 状况。在这里,news是消息来源,crit 代表关键状况。通配符* 可以代表一切消息来源。 

说明:
第一条语句*.info ,将info 级以上(notice,warning,err,crit,alert emerg )的所有消息发送到相应日志文件。
日志文件类别(按重要程度分类)日志文件可以分成八大类,下面按重要性从大到下列出:emerg  emergency ,紧急alert 警报crit critical ,关键errerror ,错误warning  警告notice 通知info  信息debug  调试
简单列一下消息来源
auth
     认证系统,如login su ,即询问用户名和口令
cron
     系统执行定时任务时发出的信息
daemon
    某些系统的守护程序的 syslog ,如由in.ftpd 产生的log
kern
     内核的信息

lpr
      打印机的信息
mail
     处理邮件的守护进程发出的信息
mark
     定时发送消息的时标程序
news
     新闻组的守护进程的信息
user
     本地用户的应用程序的信息
uucp
     uucp 子系统的信息
*
      表示所有可能的信息来源

处理方案
"
 处理方案" 选项可以对日志进行处理。可以把它存入硬盘,转发到另一台机器或显示在管理员的终端上。
处理方案一览:
文件名  写入某个文件,要注意绝对路径。 
@
 主机名 转发给另外一台主机的syslogd 程序。

@IP
 地址 同上,只是用IP 地址标识而已。
/dev/console 
发送到本地机器屏幕上。
* 
发送到所有用户的终端上。 
|
 程序 通过管道转发给某个程序。

例如:
kern.emerg /dev/console(
 一旦发生内核的紧急状况,立刻把信息显示在控制台上) 
说明:
 
如果想修改syslogd 的记录文件,首先你必须杀掉syslogd 进程,在修改完毕后再启动syslogd 。攻击者进入系统后通常立刻修改系统日志,因此作为网管你应该用一台机器专门处理日志信息,其他机器的日志自动转发到它上面,这样日志信息一旦产生就立刻被转移,这样就可以正确记录攻击者的行为。

 



来源:
阅读:2040
日期:2012-09-21

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:SEO的未来在哪里?
下一篇:域名与主机对搜索的影响
  >> 相关文章