配置rhel6syslog

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

配置rhel6.4(64位)安装使用syslog-ng3.5Linux保存了系统中所发生事件的详细记录,这些记录称作日志文件或消息文件。可以查阅日志文件来确定系统当前状态,观察入侵者踪迹,寻找某特定程序(或事件)相关的数据。syslogd与klogd(监控linux内核提交的消息)守护进程负责记录,发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf。当系统内核或工具产生信息时,通过调用相关函数将信息发送到syslogd或klogd守护进程。syslogd与klogd守护进程会根据/etc/syslog.conf中的配置信息,对消息的去向作出处理。syslog协议的详细描述在RFC3164中。logrotate工具用来定期重命名、压缩、邮递系统日志文件,它可以保证日志文件不会占用太大的磁盘空间。1、配置文件/etc/syslog.conf:syslog.conf是syslogd进程的配置文件,将在程序启动时读取,默认位置是/etc/syslog.conf。这个配置文件中的空白行和以#开头的行将被忽略。facility.level部分也被称为选择符(seletor)。seletor和action之间使用一个或多个空白分隔。它指定了一系列日志记录规则。规则的格式如下:facility.levelaction选择符(seletor)由facility和level两部分组成,之间用一个句点(.)连接。(1)facility:指定了产生日志的设备,可以是下面的关键字之一:关键字值解释kern0内核信息,首先通过klogd传递user1由用户程序生成的信息mail2与电子邮件有关的信息daemon3与inetd守护进程有关的信息auth4由pam_pwdb报告的认证活动syslog5由syslog生成的信息lpr6与打印服务有关的信息news7来自新闻服务器的信息uucp8由uucp生成的信息(uucp=unixtounixcopy)cron9与cron和at有关的信息authpriv10包括私有信息(如用户名)在内的认证活动ftp11与FTP有关的信息12-15系统保留local0~local716-23由自定义程序使用,例如使用local5做为ssh功能marksyslog内部功能,用于生成时间戳*通配符代表除了mark以外的所有功能在大多数情况下,任何程序都可以通过任何facility发送日志消息,但是一般都遵守约定俗成的规则。比如,只有内核才能使用kernfacility。注意syslog保留从“local0”到“local7”这几个设备号来接受从远程服务器和网络设备上发送过来的日志信息。路由器,交换机,防火墙和负载均衡器都很容易给它们各自配置一个独立的日志文件。(2)level:指定了消息的优先级,可以是下面的关键字之一(降序排列,严重性越来越低):关键字值解释emerg0系统不可用alert1需要立即被修改的条件crit2(临界)阻止某些工具或子系统功能实现的错误条件err3阻止工具或某些子系统部分功能实现的错误条件warning4预警信息notice5具有重要性的普通条件info6提供信息的消息debug7不包含函数条件或问题的其他信息none(屏蔽所有来自指定设备的消息)没有优先级,通常用于排错*除了none之外的所有级别facility部分可以是用逗号(,)分隔的多个设备,而多个seletor之间也可以通过分号(;)组合在一起。注意多个组合在一起的选择符,后面的会覆盖前面的,这样就允许从模式中排除一些优先级。默认将对指定级别以及更严重级别的消息进行操作,但是可以通过2个操作符进行修改。等于操作符(=)表示仅对这个级别的消息进行操作,不等操作符(!)表示忽略这个级别以及更严重级别的消息。这两个操作符可以同时使用,不过!必须出现在=的前面。(3)动作action:动作确定了syslogd与klogd守护进程将日志消息发送到什么地方去。有以下几种选择:普通文件:使用文件的绝对路径来指明日志文件所在的位置,例如:/var/log/cron。终端设备:终端可以是/dev/tty0~/dev/tty6,也可以为/dev/console。用户列表:例如动作为“roothackbutter”,将消息写入到用户root与hackbutter的计算机屏幕上。远程主机:将信息发往网络中的其他主机的syslogd守护进程,格式为“@hostname”。(4)配置文件的语法说明:*用作设备或优先级时,可以匹配所有的设备或优先级。*用作动作时,将消息发送给所有的登录用户。多个选择器可在同一行中,并使用分号分隔开,且后面的会覆盖前面的。如uucp,news.crit。关键字none用作优先级时,会屏蔽所有来自指定设备的消息。通过使用相同的选择器和不同的动作,同一消息可以记录到多个位置。syslog.conf文件中后面的配置行不会覆盖前面的配置行,每一行指定的动作都独立的运作。(5)我的Ubuntu中默认的/etc/syslog.conf内容:[python]viewplaincopyprint?1.#/etc/syslog.confsyslogd的配置文件2.#更多信息参考syslog.conf(5)3.#4.#首先是一些标准的日志文件,消息由相应设备发送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.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或更高级别的消息发送到mail.info,warn更高级别的消息发送到mail.warn,27.#err或更高级别的消息发送到mail.err28.mail.info-/var/log/mail.info29.mail.warn-/var/log/mail.warn30.mail.err/var/log/mail.err31.#INN新闻系统的日志记录:来自新闻服务器的消息32.#33.news.crit/var/log/news/news.crit34.news.err/var/log/news/news.err35.news.notice-/var/log/news/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.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.=notice;/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/xconsole#/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的所有消息发送到daemon.logdaemon.*-/var/log/daemon.lo#内核的所有消息(如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/mysql,/var/log/samba等。修改完/etc/syslog.conf后,可用servicesyslogrestart重启syslog服务,Debian/Ubuntu中则用sudo/etc/init.d/sysklogdrestart。查看日志文件里最新的记录可用tail-f/var/log/messages。2、将日志信息记录到远程Linux服务器上:将你的系统信息记录到远程服务器上将是一个很好的安全措施。如果把公司所有的服务器的日志信息都记录到一个集中的syslog服务器上,这将会方便你管理各个服务器中发生的相关事件。这也会使得掩盖错误和恶意攻击变得更困难,因为对各个日志文件的恶意删除在日志服务器上不能同时发生,特别是当你限制用户访问日志服务器时。配置Syslog服务器:在默认情况下,syslog并不会接受远程客户端的信息,要激活它,RedHat/Fedora中需要修改/etc/sysconfig/syslog文件,在SYSLOGD_OPTIONS参数中增加-r选项,以允许记录远程机器的信息。Debian/Ubuntu中则是修改/etc/default/syslogd文件中的SYSLOGD参数,也可直接编辑syslog启动脚本/etc/init.d/sysklogd,将SYSLOGD的参

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功