日志也应该是用户注意的地方。不要低估日志文件对网络安全的重要作用,因为日志文件能够详细记录系统每天发生的各种各样的事件,用户可以通过日志文件检查错误产生的原因,或者在受到***、被***时追踪***者的踪迹。日志的两个比较重要的作用是审核和监测
  日志也应该是用户注意的地方。不要低估日志文件对网络安全的重要作用,因为日志文件能够详细记录系统每天发生的各种各样的事件, 用户可以通过日志文件检查错误产生的原因,或者在受到***、被***时追踪***者的踪迹。日志的两个比较重要的作用是审核和监测。配置好的Linux的日志 非常强大。对于Linux系统而言,所有的日志文件在/var/log下。默认情况下,Linux的日志文件没有记录FTP的活动。用户可以通过修改 /etc/ftpacess让系统记录FTP的一切活动。
  /etc/syslog.conf的格式
  Linux系统的日志文件是可以配置的,在前面的章节中已经介绍了如何定制Apache、wu-ftpd、Sendmail的日志文件。 Linux系统的日志文件是由/etc/syslog.conf决定的,用户有必要花时间仔细配置一下/etc/syslog.conf。下面是/etc /syslog.conf的范例:
 
# Log all kernel messages to the kernlog.
# Logging much else clutters up the screen.
kern.* /var/log/kernlog
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;news.none;authpriv.none;cron.none
/var/log/messages
*.warning /var/log/syslog
# 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, plus log them on another
# machine.
*.emerg
# Save mail and news errors of level err and higher in a
# special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
# INN
news.=crit /var/log/news/news.crit
news.=err /var/log/news/news.err
news.notice /var/log/news/news.notice
 
 
  可以看出,该配置文件的每一行的第一个字段列出要被记录的信息种类,第二个字段则列出被记录的位置。第一个字段使用下面的格式:facility.level[;facility.level…]
  此处的faciity是产生信息的系统应用程序或工具,level则是这个信息的重要程度。level的重要程度由低到高依次是:debug(调试消 息)、info(一般消息)、notice(值得注意的消息)、warning(警告)、err(一般性错误)、crit(严重错误)、alert(或 emerg,紧急情况)。facility包含有:auth(认证系统,如login或su,即询问用户名和口令)、cron(系统执行定时任务时发出的 信息)、daemon(某些系统的守护程序的syslog,如由in.ftpd产生的log)、kern(内核的信息)、lpr(打印机的信息)、 mail(处理邮件的守护进程发出的信息)、mark(定时发送消息的时标程序)、news(新闻组的守护进程的信息)、user(本地用户的应用程序的 信息)、uucp(uucp子系统的信息)和“*”(表示所有可能的facility)。
  将日志文件记录到远程主机
  如果有另一个Linux或UNIX系统,那么可以配置日志文件,让其把消息发到另外一个系统并记录下来。这也是为什么上面的所有日志文件都记录 了主机名的原因。要实现这个功能,在该配置文件中,指定一个记录动作,后面接一个由“@”开头的远程系统的主机名,如下 例:*.warn;authpriv.notice;auth.notice @bright.hacker.com.cn
  同时,还要将接受消息的目的系统设置为允许这种操作。此例主机bright.hacker.com.cn的syslogd守护进程要用-r参数 启动。如果不使用-r参数,则目标主机的syslogd将丢弃这个消息以避免DoS***使硬盘塞满虚假消息。并且确保目标主机的/etc/service 文件必须设置syslog服务所使用的UDP端口514(这也是RedHat Linux默认的设置)。如果syslogd守护进程用了-r和-h参数,那么,参数-h将允许转发消息。也就是说,如果系统B的syslogd用了-h 参数,这样,当系统A把消息转发到系统B后,系统B就把来自系统A和它自己的消息转发到系统C。
  将警告信息发送到控制台
  syslogd可以将任何从内核发出的重要程度为emerg或alert的信息发送到控制台。控制台是指虚拟控制台或启动时加-C参数的 xterm。要实现这一功能,在/etc/syslog.conf文件中加上下面一行:kern.emerg /dev/console
  这样,当系统内核发生错误而发出消息时,用户能够马上知道并且进行处理。如果用了“*”,就是一旦内核发生错误,就将消息发送给所有在线用户, 但只有这个用户正在登录的时候才能看到。修改了/etc/syslog.conf文件后,必须重新启动syslogd守护进程以使配置更改生效,请执行下 面的命令:#/etc/rc.d/init.d/syslog restart
 
本人使用OS:Centos 4.4 final(Centos是一款redhat advanced server兼容的免费发行版本)
------------------------------------------
日志的作用:日志文件用来记录系统的状态,帮助管理员确定、检修故障
常用日志存放目录:/var/log/,默认日志都放在这个位置
相关命令:last命令,显示最近登陆系统的用户
相关守护进程:SYSLOGD(system log daemon,你可以通过ps -aux | grep syslog查看到,该守护进程
处于运行状态),配置文件位于/etc/syslog.conf
SYSLOGD相关概念:
Levels(等级) =从调试到紧急(0~7)
0 = log_debug调试 调试程序时使用
1 = log_info信息 
2 = log_notice注意 没有错误,但是可能有设置不当,需要处理
3 = log_warning警告
4 = log_error错误 
5 = log_critical严重 
6 = log_alert警报 应该马上被改正的问题
7 = log_emergency紧急
Facilities(设备) = 设备/服务类型 内核/应用程序类型
Log_kernel 内核产生的信息
Log_user 用户产生的信息
Log_mail 电子邮件信息
Log_daemon 守护进程信息
Log_auth 认证系统信息 login,logout,su等
Log_lpr 系统打印机spooling信息
Log_local0 - Log_local7 本地使用保留
例1 facility = Cisco Firewall
levels = 0~7
例2 facility = sendmail
levels = 0~7
/etc/syslog.conf 结构--分为两列
facility.level destination(log目的地)
例1 kern.* /dev/console
例2 *.info;mail.none;cron.none;authpriv.none /var/log/messages
例3 mail.* /var/log/maillog
以上例1,例3中的*表示所有level都记录,例2表示除非了mail,cron,authpriv以外的所有log等级大于等于info都记录下来
SyslogD生成的log文件包含4个纵列
日期 时间 主机名 应用程序信息/设备信息
例如:Dec 25 22:49:40 mushroom sshd(pam_unix)[4298]: session opened for user root by root(uid=0)
你可以用编辑器打开/var/log/下的任意一个日志,都是这种结构
SyslogD的参数开关位于/etc/sysconfig/syslog文件内,以下是该文件内容
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
# once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-x"
注意:修改了系统日志的配置文件后,需要重起syslog服务才能生效
/sbin/service syslog restart即可
------------------------------------------
redhat系统为了便于维护,提供了一个非常强大的GUI log查看工具 system-logviewer(早期版本的
redhat系统例如redhat 9是redhat-logviewer),通过此工具可以非常方便的查看、管理系统日志。

system-logviewer工具的配置文件处于/etc/sysconfig/下的system-logviewer(早期版本的redhat系统 例如redhat 9是redhat-logviewer),用vi打开/etc/sysconfig/system-logviewer可以打开和修改相关配置信息。
以下是本人系统中该文件的内容
---------------------------------------------------------------------------------------------------
# Configuration File for Red Hat Log Viewer
# Copyright (c) 2001-2003 Red Hat, Inc. all rights reserved.
# Copyright (c) 2001-2003 Tammy Fox <tfox@redhat.com>
# Log file names
SYSLOG=/var/log/messages
SECURELOG=/var/log/secure
MAILLOG=/var/log/maillog
CRONLOG=/var/log/cron
NEWSLOG=/var/log/spooler
BOOTLOG=/var/log/boot.log
CIPELOG=/var/log/cipe.log
DMESGLOG=/var/log/dmesg
HTTPDACCESSLOG=/var/log/httpd/access_log
HTTPDERRORLOG=/var/log/httpd/error_log
MYSQLLOG=/var/log/mysqld.log
RPMLOG=/var/log/rpmpkgs
TUXLOG=/var/log/tux
UP2DATELOG=/var/log/up2date
FTPLOG=/var/log/vsftpd.log
XFREE86LOG=/var/log/XFree86.0.log
XORGLOG=/var/log/Xorg.0.log
# How often to refresh messages, in seconds
# If set below 30 seconds, it defaults to 30 seconds
REFRESHRATE=30
## Words to show alert icon for
## Comma-delimited list, not case-sensitive
ALERTWORDS=fail,denied,rejected,oops,segfault,segmentation
## Words to show warning icon for
## Comma-delimited list, not case-sensitive
WARNINGWORDS=warn
-