如何用rsyslog确保远程Linux日志安全?

日期: 2011-06-29 作者:Sander van Vugt翻译:Mark 来源:TechTarget中国 英文

在最近版本的红帽企业级Linux(RHEL)中用到了rsyslog。虽然这个日志解决方案和传统的BSD日志服务syslogd类似,但它还提供一些功能来保证日志信息到远程日志主机的可靠传输。本文中,你将会看到这些功能。   BSD syslog具有中央日志主机的可配置性。

这在严肃执行日志管理的系统中是个不错的主意。在大型环境中,如果日志文件通过多个主机传播,它们追踪起来非常困难。但是,传统的syslog只提供通过UDP的远程记录,它不追踪连接和没有保证的主机上的日志信息到达。Rsyslog解决方案在三个远程日志解决方案中提供选择:UDP、TCP和最新开发的RELP协议,RELP协议只能用于最新版……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在最近版本的红帽企业级Linux(RHEL)中用到了rsyslog。虽然这个日志解决方案和传统的BSD日志服务syslogd类似,但它还提供一些功能来保证日志信息到远程日志主机的可靠传输。本文中,你将会看到这些功能。

  BSD syslog具有中央日志主机的可配置性。这在严肃执行日志管理的系统中是个不错的主意。在大型环境中,如果日志文件通过多个主机传播,它们追踪起来非常困难。但是,传统的syslog只提供通过UDP的远程记录,它不追踪连接和没有保证的主机上的日志信息到达。Rsyslog解决方案在三个远程日志解决方案中提供选择:UDP、TCP和最新开发的RELP协议,RELP协议只能用于最新版本的rsyslog。

  当发出数据包时,UDP没有建立连接,这意味着这些信息的发出者只能相信该信息会到达其目的地。TCP协议在数据与其它主机交换之前就建立了连接。该解决方案简单且高效:TCP信息的接收者告知已收到,所以发信人在信息到达时会得到确认。由于其广泛的可用性和周密的信息管理,TCP成为更受青睐的选择。RELP协议相对来说还很新且没有普遍应用,这也是现阶段要避免使用的原因。

  要启用UDP或者TCP日志,你需要启用一个特定模块。Rsyslog使用输入模块和输出模块来启用来自特定来源的日志信息接收并发送日志信息到特定输出目的地。要确保该中央日志主机能通过TCP接收日志信息,你需要在它的etc/rsyslogd.conf中包括以下两行:

$ModLoad imtcp
$InputTCPServerRun 514

  这几行的第一行负载输入模块tcp,第二行告诉rsyslog听从端口514上传入的TCP连接。接着,告诉主机必须将信息发送到远程主机。接下来的命令告诉本地主机将所有日志信息发送到一个中央日志主机,它在IP地址192.168.0.1下可用:

*.*       @@192.168.0.1

  在这一行中使用了syslog风格的设施和优先规定:设施*(发送到rsyslog程序的每一个事件)发送所有符合所有优先权的事件到中央日志主机。指示@@清楚指出,该日志主机听从TCP端口上接下来的信息。做为选择,如果你必须通过UDP发送信息,你可以使用@192.168.0.1。

  如果你想运用新的RELP解决方案,你可以在中央日志主机上负载模块,通过在其rsyslogd.conf上囊括以下命令行:

$ModLoad imrelp
$InputRELPServerRun 2514

  想要通过RELP发送信息,你需要在发送主机上添加以下命令:

*.*       :omrelp:192.168.0.1:2514

  注意,想要将它发送到RELP目标主机,需要使用一个无特权的数字,因为没有为RELP协议预留专门端口。

  老式的syslog后台程序只能通过UDP发送日志信息。在新的rsyslog日志后台中,你可以在UDP、TCP和新的RELP协议中做选择。使用TCP或RELP更好地保证了该日志信息会到过目的地,两者中的任一种都比以前使用方法构建的日志环境要更为安全。