在Linux系统中安装系统日志服务器
2011-11-30 17:45
483 查看
对管理员来说,日志非常有用,但大量的日志又很麻烦。当一些事件运行错误时,日志可以对故障排除起到至关重要的作用,特别是在安全性相关问题上。但是如果攻击者危害到你的主机,日志将会告诉你,对于主机来说这很有用;你需要给数据中心发信息。保护日志非常重要,一个中央日志服务器会更容易管理、分析和查找它们。针对这一点,我将向你展示如何把多个主机的系统日志集中收集到一个主机上来管理,即Linux上的中央系统日志服务器。
首先,所有集中的系统日志服务器都应该建成一个安全和硬化的主机。在主机上没有一点关于保护和集中化你们日志方面。其次,你怎样能从你的主机上获得日志呢?
让我们开始安装中央系统日志服务器。我将举例说明如果使用rSyslog,实际的标准Linux系统日志。Ubuntu和红帽常使用它,并且通过文件/etc/rsyslog.conf进行管理。文件中包含许多指定的特殊系统日志:有的是控制台方面的,有的是文件方面或其它主机的。
首先,我们需要载入合适的TCP和UDP插件以支持接收系统日志。把下面的代码添加到rsyslog.conf的头部:
$modload imtcp
$modload imudp
$InputTCPServerRun 10514
$UDPServerRun 514
载入的这两个模块能支持监听TCP和UDP的端口,并且指定哪个端口来接受事件,在这种情况下,使用TCP的10514端口和UDP的514端口。你需要确认一下本地防火墙(在你的主机和中央系统日志服务器之间的防火墙)
下面我们需要指定一些规则来告诉rSyslog在哪放输入事件。如果你不添加任何规则,输入事件将按照本地的规则进行处理,并且与本地主机的事件交织在一起。我们需要在上面添加节之后和本地处理系统日志之前来正确的指定这个规则,例如:
if $fromhost-ip isequal '192.168.0.2' then /var/log/192.168.0.2.log
& ~
这里我们说的每一个来自于192.168.0.2的系统日志都应该保存在/var/log/192.168.0.2.log文件中。&~这个符号是非常重要的,因为它告诉rSyslog将停止处理消息。如果你把它忘写了,消息将越过下一个规则,并且继续处理。在这一规则中还有其他的变量。例如:
if $fromhost-ip startswith '192.168.' then /var/log/192.168.log
& ~
这里我们用192.168.*替代了以这个为开始的所有IP地址,写入到/var/log/192.168.log文件中。你还可以看到一些其它的过滤。
你将需要重启这个rsyslog服务来激活我们所做的新的配置:
$ sudo service rsyslog restart
现在,对于发送方的主机,我们还需要对文件rsyslog.conf进行一些更改,在文件的头部,添加下面这行:
*.* @@192.168.0.1:10514
这是发送的所有事件,来自于所有源代码和所有重要级别(用*.*),通过TCP协议传给IP地址为192.168.0.1的10514端口。你可是用你所在环境的地址来替换这个IP地址。要启用此配置,你将需要重启主机上的rSyslog。
你可以通过SSL/TLS更进一步地发送你的系统日志。如果你在互联网上或其它网络间传输系统日志,这也没什么坏处,你可能会发现这个的简单说明。
现在,如果给你的配置管理系统(如果不使用这个,你可以试一试Puppet或Cfengine工具)添加这个配置,然后,您可以用适当的系统日志来有效地配置每台主机,以确保你的日志将被发送到中央系统日志服务器。
首先,所有集中的系统日志服务器都应该建成一个安全和硬化的主机。在主机上没有一点关于保护和集中化你们日志方面。其次,你怎样能从你的主机上获得日志呢?
让我们开始安装中央系统日志服务器。我将举例说明如果使用rSyslog,实际的标准Linux系统日志。Ubuntu和红帽常使用它,并且通过文件/etc/rsyslog.conf进行管理。文件中包含许多指定的特殊系统日志:有的是控制台方面的,有的是文件方面或其它主机的。
首先,我们需要载入合适的TCP和UDP插件以支持接收系统日志。把下面的代码添加到rsyslog.conf的头部:
$modload imtcp
$modload imudp
$InputTCPServerRun 10514
$UDPServerRun 514
载入的这两个模块能支持监听TCP和UDP的端口,并且指定哪个端口来接受事件,在这种情况下,使用TCP的10514端口和UDP的514端口。你需要确认一下本地防火墙(在你的主机和中央系统日志服务器之间的防火墙)
下面我们需要指定一些规则来告诉rSyslog在哪放输入事件。如果你不添加任何规则,输入事件将按照本地的规则进行处理,并且与本地主机的事件交织在一起。我们需要在上面添加节之后和本地处理系统日志之前来正确的指定这个规则,例如:
if $fromhost-ip isequal '192.168.0.2' then /var/log/192.168.0.2.log
& ~
这里我们说的每一个来自于192.168.0.2的系统日志都应该保存在/var/log/192.168.0.2.log文件中。&~这个符号是非常重要的,因为它告诉rSyslog将停止处理消息。如果你把它忘写了,消息将越过下一个规则,并且继续处理。在这一规则中还有其他的变量。例如:
if $fromhost-ip startswith '192.168.' then /var/log/192.168.log
& ~
这里我们用192.168.*替代了以这个为开始的所有IP地址,写入到/var/log/192.168.log文件中。你还可以看到一些其它的过滤。
你将需要重启这个rsyslog服务来激活我们所做的新的配置:
$ sudo service rsyslog restart
现在,对于发送方的主机,我们还需要对文件rsyslog.conf进行一些更改,在文件的头部,添加下面这行:
*.* @@192.168.0.1:10514
这是发送的所有事件,来自于所有源代码和所有重要级别(用*.*),通过TCP协议传给IP地址为192.168.0.1的10514端口。你可是用你所在环境的地址来替换这个IP地址。要启用此配置,你将需要重启主机上的rSyslog。
你可以通过SSL/TLS更进一步地发送你的系统日志。如果你在互联网上或其它网络间传输系统日志,这也没什么坏处,你可能会发现这个的简单说明。
现在,如果给你的配置管理系统(如果不使用这个,你可以试一试Puppet或Cfengine工具)添加这个配置,然后,您可以用适当的系统日志来有效地配置每台主机,以确保你的日志将被发送到中央系统日志服务器。
相关文章推荐
- 腾讯云服务器linux系统下apache php mysql安装
- 【Linux系统和服务管理】MySQL服务器安装与配置(一)
- linux系统之yum服务器的安装配置
- Linux学习日志day1——无人值守系统安装DHCP+TFTP+PXE+Kickstar 推荐
- Linux系统安装rz/sz实现本地和服务器文件上传下载
- 手把手教你Linux服务器集群部署.net网站 - Linux系统安装和设置
- IBM x3650 M3服务器安装Linux系统
- Syslog 配置 &&Linux系统Syslog作为路由器交换机的日志服务器
- linux笔记 第十五天 系统安装详解、DHCP、配置PXE服务器
- 在Linux系统上查看Apache服务器的错误日志
- Linux系统下智能DNS服务器BIND9.7.2安装配置
- Linux日志系统(Logcheck)的安装预配置
- Linux下搭建PXE服务器安装Linux系统
- pxe网络安装系统---------基于windows xp做服务器(dhcp+ftp)安装linux系统
- 阿里云服务器 Linux系统中常见的日志介绍
- 在linux系统的服务器上安装sql
- IBM x3650 M3服务器安装老版Linux系统
- 阿里云服务器Linux系统CentOS搭建安装svn指南
- 在Linux和Windows系统上安装Nginx服务器的教程
- 如何安装'atop'来监视Linux系统进程的日志记录活动