配置rhel6syslog_第1页
配置rhel6syslog_第2页
配置rhel6syslog_第3页
配置rhel6syslog_第4页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、配置 rhel 6.4(64 位) 安装使用 syslog-ng 3.5Linux 保存了系统中所发生事件的详细记录,这些记录称作日志文件或消息文件。可以查阅日志文件来确定系统当前状态,观察入侵者踪迹,寻找某特定程序(或事件 )相关的数据。syslogd与 klogd(监控 linux 内核提交的消息)守护进程负责记录, 发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf 。当系统内核或工具产生信息时,通过调用相关函数将信息发送到syslogd 或 klogd 守护进程。 syslogd与 klogd 守护进程会根据/etc/syslog.conf 中的配置信息,对消

2、息的去向作出处理。syslog协议的详细描述在RFC3164 中。logrotate 工具用来定期重命名、 压缩、 邮递系统日志文件, 它可以保证日志文件不会占用太大的磁盘空间。1、配置文件 /etc/syslog.conf : syslog.conf 是 syslogd进程的配置文件,将在程序启动时读取,默认位置是/etc/syslog.conf 。这个配置文件中的空白行和以"#" 开头的行将被忽略。"facility.level" 部分也被称为选择符(seletor)。 seletor 和 action 之间使用一个或多个空白分隔。它指定了一系列日志

3、记录规则。规则的格式如下:facility.levelaction选择符 (seletor)由 facility 和 level 两部分组成,之间用一个句点(.)连接。( 1) facility:指定了产生日志的设备,可以是下面的关键字之一:关键字值解释kern0内核信息,首先通过 klogd 传递user1由用户程序生成的信息mail2与电子邮件有关的信息daemon3与 inetd 守护进程有关的信息auth4由 pam_pwdb 报告的认证活动syslog5由 syslog生成的信息lpr6与打印服务有关的信息news7来自新闻服务器的信息uucp8由 uucp 生成的信息 (uucp

4、= unix to unix copy)cron9与 cron 和 at 有关的信息authpriv10包括私有信息 (如用户名 )在内的认证活动ftp11与 FTP 有关的信息12-15系统保留local0 local7 16-23由自定义程序使用,例如使用local5 做为 ssh功能可编辑范本marksyslog内部功能,用于生成时间戳*通配符代表除了mark 以外的所有功能在大多数情况下,任何程序都可以通过任何facility 发送日志消息,但是一般都遵守约定俗成的规则。 比如,只有内核才能使用"kern"facility 。注意 syslog保留从“ local0

5、 ”到“ local7 ”这几个设备号来接受从远程服务器和网络设备上发送过来的日志信息。路由器, 交换机, 防火墙和负载均衡器都很容易给它们各自配置一个独立的日志文件。( 2)level:指定了消息的优先级,可以是下面的关键字之一(降序排列, 严重性越来越低 ):关键字值解释emerg0系统不可用alert1需要立即被修改的条件crit2(临界 )阻止某些工具或子系统功能实现的错误条件err3阻止工具或某些子系统部分功能实现的错误条件warning4预警信息notice5具有重要性的普通条件info6提供信息的消息debug7不包含函数条件或问题的其他信息none(屏蔽所有来自指定设备的消息)

6、没有优先级,通常用于排错*除了 none 之外的所有级别facility 部分可以是用逗号(,)分隔的多个设备, 而多个 seletor 之间也可以通过分号 (;)组合在一起。 注意多个组合在一起的选择符,后面的会覆盖前面的,这样就允许从模式中排除一些优先级。 默认将对指定级别以及更严重级别的消息进行操作,但是可以通过 2 个操作符进行修改。等于操作符(=)表示仅对这个级别的消息进行操作,不等操作符(!)表示忽略这个级别以及更严重级别的消息。这两个操作符可以同时使用,不过"!" 必须出现在 "=" 的前面。( 3)动作 action:动作确定了 sysl

7、ogd 与 klogd 守护进程将日志消息发送到什么地方去。有以下几种选择:普通文件:使用文件的绝对路径来指明日志文件所在的位置,例如:/var/log/cron。终端设备:终端可以是/dev/tty0/dev/tty6,也可以为 /dev/console 。用户列表:例如动作为“root hackbutter”,将消息写入到root用户与 hackbutter 的计算机屏幕上。远程主机:将信息发往网络中的其他主机的syslogd守护进程,格式为“hostname ”。( 4)配置文件的语法说明:*用作设备或优先级时,可以匹配所有的设备或优先级。*用作动作时,将消息发送给所有的登录用户。多个选

8、择器可在同一行中,并使用分号分隔开, 且后面的会覆盖前面的。如 uucp,news.crit。关键字 none 用作优先级时,会屏蔽所有来自指定设备的消息。可编辑范本通过使用相同的选择器和不同的动作,同一消息可以记录到多个位置。syslog.conf 文件中后面的配置行不会覆盖前面的配置行,每一行指定的动作都独立的运作。( 5)我的 Ubuntu 中默认的 /etc/syslog.conf 内容:python view plaincopyprint?1. # /etc/syslog.conf syslogd 的配置文件2. # 更多信息参考 syslog.conf(5)3. #4. # 首先是

9、一些标准的日志文件,消息由相应设备发送5. #6.# 认证活动 auth,authpriv 的日志消息发送到auth.log 中7.auth,authpriv.*/var/log/auth.log8.# 除 auth 和 authpriv 之外的所有设备的所有消息都要发送到syslog中9.*.*;auth,authpriv.none -/var/log/syslog10.# cron 及 at 的消息发送到 cron.log11.#cron.*/var/log/cron.log12.# inetd 的所有消息发送到 daemon.log13.daemon.*-/var/log/daemon.

10、log14. # 内核的所有消息(如 klogd 的消息)发送到 kernlog15.kern.*-/var/log/kern.log16. # 打印服务的所有消息发送到 lpr.log17.lpr.*-/var/log/lpr.log18. # 邮件的所有消息发送到 mail.log19.mail.*-/var/log/mail.log20. # 用户程序的所有消息发送到 user.log21.user.*-/var/log/user.log22. #23. # 邮件系统的日志记录。分割成不同的文件,以便能够比较容易地写脚本来24. # 解析这些文件25. #26.# 邮件的 info 或更

11、高级别的消息发送到,warn 更高级别的消息发送到mail.warn,27.# err 或更高级别的消息发送到 -/var/log/29.mail.warn-/var/log/mail.warn30.mail.err/var/log/mail.err可编辑范本31. # INN 新闻系统的日志记录:来自新闻服务器的消息32. #33. news.crit/var/log/news/news.crit34.news.err/var/log/news/news.err35.news.notice-/var/log/news

12、/news.notice36. #37. # 一些捕捉用的日志文件38. #39.# 除 auth,authpriv,news,mail之外的所有设备的debug 级别消息都要发送到debug 中40. *.=debug;/41. auth,authpriv.none;/42. news.none;mail.none -/var/log/debug43.# 除 auth,authpriv,cron,daemon,mail,news之外的所有设备的 info,notice,44.# warn 级别消息都要发送到 messages中45. *.=info;*.=notice;*.=warn;/46

13、. auth,authpriv.none;/47. cron,daemon.none;/48. mail,news.none -/var/log/messages49. #50. # 所有设备的 emerg 级别消息(系统无法使用)会发送给所有登录的用户51. #52.*.emerg*53. #54. # 希望一些消息显示在控制台, 但只在虚拟控制台上: daemon,mail 的任何消息; news的危险、55. # 错误、通知消息;任何设备的调试、信息、通知、预警消息56. #57. #daemon,mail.*;/58. # news.=crit;news.=err;news.=noti

14、ce;/59. # *.=debug;*.=info;/60. # *.=notice;*.=warn /dev/tty861. # 命名管道 /dev/xconsole 用于 xconsloe 工具。为了使用它,你必须带 -file 选项来调用 xconsole62. # $ xconsole -file /dev/xconsole .63. # 注意:调整下面的列表,否则如果你有一个相当繁忙的站点,你将变得发狂64. daemon.*;mail.*;/65. news.err;/可编辑范本66. *.=debug;*.=info;/67. *.=notice;*.=warn |/dev/x

15、console# /etc/syslog.confsyslogd 的配置文件# 更多信息参考 syslog.conf(5)# 首先是一些标准的日志文件,消息由相应设备发送# 认证活动 auth,authpriv 的日志消息发送到 auth.log 中auth,authpriv.*/var/log/auth.log# 除auth 和authpriv 之外的所有设备的所有消息都要发送到 sy*.*;auth,authpriv.none-/var/log/syslog# cron 及at 的消息发送到 cron.log#cron.*/var/log/cron.log# inetd 的所有消息发送到

16、daemon.log-/var/log/daemon.lodaemon.*# 内核的所有消息(如 klogd 的消息)发送到 kernlogkern.*-/var/log/kern.log# 打印服务的所有消息发送到 lpr.loglpr.*-/var/log/lpr.log# 邮件的所有消息发送到 mail.log某些应用软件也会将自己的运行状况记录到特定的日志文件上,它不受syslog.conf文件的控制。如文件/var/log/apache2/access.log ,目录 /var/log/apache2, /var/log/cups,/var/log/gdm, /var/log/mys

17、ql, /var/log/samba等。修改完 /etc/syslog.conf 后,可用 service syslog restart重启 syslog服务, Debian/Ubuntu 中则用 sudo /etc/init.d/sysklogd restart 。查看日志文件里最新的记录可用tail -f /var/log/messages 。2、将日志信息记录到远程Linux 服务器上:将你的系统信息记录到远程服务器上将是一个很好的安全措施。如果把公司所有的服务器的日志信息都记录到一个集中的syslog服务器上,这将会方便你管理各个服务器中发生的相关事件。这也会使得掩盖错误和恶意攻击变得

18、更困难, 因为对各个日志文件的恶意删除在日志服务器上不能同时发生,特别是当你限制用户访问日志服务器时。配置 Syslog服务器:在默认情况下,syslog并不会接受远程客户端的信息,要激活它,RedHat/Fedora 中需要修改 /etc/sysconfig/syslog文件,在 SYSLOGD_OPTIONS参数中增加 -r选项,以允许记录远程机器的信息。Debian/Ubuntu中则是修改 /etc/default/syslogd文件中的SYSLOGD 参数,也可直接编辑syslog启动脚本 /etc/init.d/sysklogd,将 SYSLOGD 的参数定义为“ -r ”。修改完后

19、要重启syslog服务。配置客户端:syslog服务器现在可以接受syslog信息了。你还要设置好远程linux 客户端以向服务器发送信息。假设客户端主机名为smallfry,可通过编辑/etc/hosts 文件来实现。( 1)确定远程服务器的IP 地址和有效的域名。( 2)在客户端班机的/etc/hosts 文件中加入远程服务器的描述:IP 地址完整域名服务器名“别名”,例如 ,这样为服务器主机bigboy设置了一个别名loghost。( 3)编辑客户端的 /etc/syslog.conf 文件,使得 syslog信息能发送到你新设置的日志服务器 loghost 上。*.debug logh

20、ost可编辑范本*.debug /var/log/messages重启 syslog服务,现在你的机器将会将所有“调试”级别及以上级别的信息同时发送到服务器 bigboy 和本地文件 /var/log/messeges 上。你可以做个简单测试看看syslog服务器是否在接受你的信息了。比如重启一下lpd 打印机守护进程,看看能否在服务器上看到相关日志消息。3、配置文件 /etc/logrotate.conf : 它是 logrotate 的一般性配置文件。你可以通过它设置哪个日志文件被循环重用以及多久重用一次。可以设定的循环参数有每周(weekly)或每天(daily)。 rotate 参数定

21、义保留多少份日志文件备份,create参数指定在每轮循环后就新建空的日志文件。我的Ubuntu 中默认的 /etc/logrotate.conf内容为:python view plaincopyprint?1. # 更多细节参考 "man logrotate"2. # 每周循环更新日志文件3. weekly4.# 保留 4 份日志文件的备份,若日志文件为logfile,则其备份5. # 分别为 logfile.0logfile36. rotate 47. # 在每轮循环后创建新的空白日志文件8. create9. # 如果你想压缩日志文件,则取消下面注释10. #compr

22、ess11. # 一些使用 syslog的软件包会把日志轮转信息放在这个目录下,因此要包含进来12. include /etc/logrotate.d13. # 没有软件包拥有 wtmp 或 btmp,我们将在这里轮转14. /var/log/wtmp 15.missingok# 如果日志文件丢失,使用下一个并且不发送任何错误消息16.monthly# 轮转周期为每月17.create 0664 root utmp # 创建新日志文件时,权限为0664,属主为 root ,组为 utmp18. rotate 119. 20. /var/log/btmp 21. missingok22. mon

23、thly23. create 0664 root utmp24. rotate 125. 可编辑范本26. # 特定于系统的日志可以在这里配置# 更多细节参考 "man logrotate"# 每周循环更新日志文件weekly# 保留4份日志文件的备份,若日志文件为 logfile ,则其备份# 分别为 logfile.0logfile3rotate 4# 在每轮循环后创建新的空白日志文件 create# 如果你想压缩日志文件,则取消下面注释#compress# 一些使用 syslog 的软件包会把日志轮转信息放在这个目录下,include /etc/logrotate.d

24、# 没有软件包拥有 wtmp或btmp,我们将在这里轮转/var/log/wtmp missingok#如果日志文件丢失,使用下一个并且monthly#轮转周期为每月create 0664 root utmp #创建新日志文件时,权限为rotate 1注意在 Debian/Ubuntu 系统中,脚本将读取 /etc/syslog.conf 文件,并根据它轮转所有设定的日志文件。 所以,对于一般的系统日志, 你不必再在 /etc/logrotate.d文件夹中重复设定了。因为在 /etc/cron.daily 文件夹中它没 24 小时便运行一次。在 Fedora/Redhat 系统中,这个脚本被

25、 /etc/cron.daily/logrotate 取代,而且它不读取 syslog配置文件。所以,你必须在 /etc/logrotate.d 设置好。对 logrotate 的设置只有在你使用 logrotate -f 命令时才会生效。 如果你想让 logrotate 只读取特定的配置文件而不是所有,把配置文件名作为logrotate 的参数运行即可,如logrotate -f/etc/logrotate.d/syslog 。如果你的网页访问量比较高,那么日志文件将变得异常大。你可以通过编辑logrotate.conf 文件加入压缩选项compress 来实现对日志文件的压缩。这些日志文件

26、将用 gzip 来压缩, 所有的文件将会有一个.gz 的扩展名。 查看这些文件的内容依然很容易,因为你可以用zcat 命令快速的将它们的内容显示在屏幕上。Syslog服务器的一个缺点是没有把不良来源的消息过滤掉。因此,当你的的服务器位于一个不安全的网络时,使用TCP wrappers 软件或防火墙来限制可以接受的消息来源是一个明智的举措。 这将有助于限制拒绝服务攻击的成效,这种拒绝服务攻击的目的是填塞你的服务器的硬盘或加重其他系统资源负担,它有可能最终导致服务器崩溃。现在使用越来越广泛的syslog-ng程序结合了logrotate 和 syslog的特性,它能给用户提供更多的自定义功能,从功

27、能上也更加丰富了。如果你想使用它,可到上去下载安装,其配置文件为/etc/syslog-ng/syslog-ng.conf 。对应的 CentOS 6.x也就可能使用!下载地址:第一步:安装可编辑范本wgetwget./configure -prefix=/usr/local/services/eventlogmakemake installcd .export PKG_CONFIG_PATH=/usr/local/services/eventlog/lib/pkgconfig./configure -prefix=/usr/local/services/syslog-ng# 如果提示 no

28、package 'glib-2.0' found centos# 那么就用 yum install libgnomeui-devel makemake install第二步:添加服务配置可编辑范本将 syslog-ng添加为系统服务 ,vim /etc/init.d/syslog-ng# 内容如下#!/bin/bash# chkconfig: - 60 27# description: syslog-ng SysV script. /etc/rc.d/init.d/functionssyslog_ng=/usr/local/services/syslog-ng/sbin/sys

29、log-ngprog=syslog-ngpidfile=/usr/local/services/syslog-ng/var/syslog-ng.pidlockfile=/usr/local/services/syslog-ng/var/syslog-ng.lockRETVAL=0STOP_TIMEOUT=$STOP_TIMEOUT-10start() echo -n $"Starting $prog: "daemon -pidfile=$pidfile $syslog_ng $OPTIONSRETVAL=$?echo可编辑范本 $RETVAL = 0 &&

30、touch $lockfilereturn $RETVALstop() echo -n $"Stopping $prog: "killproc -p $pidfile -d $STOP_TIMEOUT $syslog_ngRETVAL=$?echo $RETVAL = 0 && rm -f $lockfile $pidfilecase "$1" instart)start;stop)stop;status)status -p $pidfile $syslog_ngRETVAL=$?可编辑范本;restart)stopstart;*)ech

31、o $"Usage: $prog start|stop|restart|status"RETVAL=2esacexit $RETVAL# 启动服务chmod a+x /etc/init.d/syslog-ngkillall syslogdchkconfig -add syslog-ngchkconfig syslog-ng onservice syslog-ng start第三步:实际配置命令 vi /usr/local/services/syslog-ng/etc/syslog-ng.conf#可编辑范本# Default syslog-ng.conf file whic

32、h collects all local logs into a# single file called /var/log/messages.#version: 3.5include "scl.conf"options create_dirs(yes);dir_perm(0755);use_dns(no);perm(0644);chain_hostnames(off);stats_freq(30);source s_local system();internal();source s_network ;可编辑范本destination d_local file("

33、/var/log/messages");log source(s_local);# uncomment this line to open port 514 to receive messages #source(s_network);destination(d_local);filter f_cgioss program("CGI") and level(crit); ;destination d_cgioss file("/usr/local/services/lzlog/cgioss/$YEAR$MONTH/$YEAR$MONTH$DAY-$ HO

34、UR.oss" template(t_onlymsg); ;log source(s_network); filter(f_cgioss); destination(d_cgioss); flags(final);# CGI ERR #filter f_cgierr program("CGI") and level(err); ; destination d_cgierr file("/usr/local/services/lzlog/cgierr/$YEAR$MONTH/$YEAR$MONTH$DAY-$ HOUR.err" template(t_onlymsgip); ;log source(s_network);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论