首页 > 代码库 > 网络安全系列之十六 Linux日志管理2

网络安全系列之十六 Linux日志管理2

  1. 管理日志服务

RHEL系统中的内核及系统日志功能主要由rsyslogd服务提供,该服务的配置文件为"/etc/rsyslog.conf"。

rsyslogd服务默认已经安装并自动运行,/etc/rsyslog.conf配置文件则可以对日志进行设置,它可以指定那些信息需要记录,以及记录在哪里。

例:查看/etc/rsyslog.conf配置文件中的主要内容。

/etc/rsyslog.conf文件中的每一行代表一条设置值,每一条设置值的语法如下:

        消息类型   执行动作

其中的"消息类型"指定哪些消息需要记录,"执行动作"则告诉系统日志服务该如何处理这些消息。

"消息类型"必须以下列的格式指定消息的种类:

        消息来源.优先级

"消息来源"表示消息是从哪个子系统传送过来的,来源主要有以下这些:

  • authpriv:与用户安全、验证有关的消息;

  • cron:与计划任务有关的消息;

  • daemon:与一般服务有关的消息;

  • kern:来自系统内核的消息;

  • mail:来自邮件系统的消息;

  • localN:保留

"优先级"则用来指出消息的优先等级,即消息的重要程度。其优先级别如下(数字等级越小,优先级越高,消息越重要):

  • 0 EMERG(紧急):会导致主机系统不可用的情况。

  • 1 ALERT(警告):必须马上采取措施解决的问题。

  • 2 CRIT(严重):比较严重的情况。

  • 3 ERR(错误):运行出现错误。

  • 4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

  • 5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。

  • 6 INFO(信息):一般信息。

  • 7 DEBUG(调试):程序或系统调试信息等。

除此之外,"消息来源"与"优先级"可以使用星号(*)代表所有,因此*.*就表示来自所有子系统的所有级别的消息。

而"执行动作"字段则用来定义如何处理接收到的消息,可以指定如下几项内容:

  • /PATH/FILENAME:将消息存储到指定的文件中,文件必须以斜线(/)开头的绝对路径命名;

  • USERNAME:将消息发送给指定的已经登录的用户;

  • @HOSTNAME:将消息转发到指定的日志服务器;

  • *:将消息发送给所有已经登录的用户。

因而文件中的设置值:

    authpriv.*   /var/log/secure

它所代表的含义为:将与用户安全、验证有关的所有级别的消息都存储到指定的文件/var/log/secure中。

在对“消息类型”进行设置时,有以下三种方法:

l  .”:代表“比后面还要高的优先级(含该优先级)都被记录下来”的意思,例如:mail.info代表只要是mail的消息,而且该消息优先级高于info(含info本身)时,就会被记录下来。

l  .=”:代表所需要的优先级就是后面的优先级而已,其他的不要。

l  .!”:代表不等于,也就是除了该优先级外的其他优先级都记录。

比如下面的设置项:

        mail.info  /var/log/maillog_info

表示mail服务产生的大于等于info优先级的信息,都记录到/var/log/maillog_info文件中。

另外,如果需要对不同类型的消息,采用同一种“执行动作”,syslog.conf允许使用分号连接多个消息,例如设置值:

        *.info;mail.none;authpriv.none;cron.none          /var/log/messages

它表示的含义是:将所有的info级别以上的消息(不包括来自邮件系统的、与用户安全、验证有关的、与计划任务有关的消息),都存储到指定的文件/var/log/messages中。

本文出自 “一壶浊酒” 博客,转载请与作者联系!

网络安全系列之十六 Linux日志管理2