搭建集中式系统日志服务器系统指南(1)


早在1997年本人担任Linux管理员时,搭建集中式系统日志服务器是最先要完成的真正的系统管理任务之一。我当时的上司想获取来自众多硬件设备的日志文件,要求我使用正则表达式regexp),搜索日志文件寻找某些关键词。当年Linux还处于初期阶段,而我在空闲时一直在捣鼓Linux。于是,我不失时机地把Linux引入到了当时效力的那家公司。Linux行不行?当然行!本文要介绍的不仅仅是如何搭建集中式syslog-ng下一代系统日志工具)服务器,还要介绍为什么你要着手搭建这样一台服务器。

那么,系统日志是什么东西?系统日志在Linux中用于将系统消息记入日志。下一代系统日志工具在1998年开发而成,只是对早期的系统日志工具作了改写。截至2010年,下一代系统日志工具仍由BalaBit IT Security公司在积极开发,拥有的功能特性要多得多,其中包括更好的TCP处理、对消息采取TLS加密以及将消息发送到数据库等等。一些Linux发行版允许你安装系统日志工具、rsyslog或者下一代系统日志工具。本文重点介绍下一代系统日志工具,因为这个工具更新颖;如果读者愿意,可以在之后选择拥有下一代系统日志工具软件的公司的企业版,以获得“支持”。

刚才简要介绍了下一代系统日志工具,接下来谈谈你为何要用集中式下一代系统日志工具服务器。我就说说两个主要的理由。第一个是出于安全目的。如果你的路由器、防火墙、交换机、Linux服务器及/或其他硬件指向一台安全可靠的集中式下一代系统日志工具服务器,要是有人的确企图攻击上述的其中一个设备,可以把日志文件安全地存放到让人放心的异地位置。如果系统日志文件存放在设备上,这无异于让攻击者能够抹掉痕迹。诚然,攻击者能够禁用将日志文件发送到外部下一代系统日志工具服务器的功能,但是在此之前的所有连接都将位于集中式系统日志服务器上。另一个理由是为了方便起见。比如说,如果你有一台服务器崩溃了,毫无反应,你就可以检查集中式系统日志服务器上的内核错误日志。如果你想检查在一段较长时间内不同日期之间的系统日志模式,只要使用正则表达式,搜索来自集中式系统日志服务器的日志文件。

那么,我平时怎么做的呢?实际上,这两种方法我在家里都用。我的设备和服务器不但把它们的所有系统日志文件转发到某个集中式位置,而且这个位置严加保护起来。所说的那台机器是一个虚拟机,只有1个端口开着系统日志端口),只能从本地机器来访问,系统日志文件而放在外部驱动器上。这么做是不是过于小心谨慎?也许有点吧。但我的确知道,在我家这个环境中,如果外部驱动器装满了太多的系统日志文件,它不会导致虚拟机崩溃。要是虚拟机果真出现了什么岔子,主机操作系统也不会受到影响。如果有人果真可以访问我的其中一个设备,他也没有办法访问我的系统日志服务器。没错,要是我的主机操作系统遇到了什么问题,那么访客虚拟机就会有问题;但是我们总是无法做到事事都能防备。我得承认,这么做太过小心谨慎了;对大多数人来说,这么做可能有些过了。

开始入手之前,有必要先声明一下。首先,与我之前写的所有文章一样,这里的所有测试是用Debian来完成的。本文中,我针对Debian 6.0.1设置了虚拟机,因而你的情况可能不一样。另外,我不会深入探讨如何合理保护你的服务器、把系统日志文件放在哪里最合适,或者如何设置除下一代系统日志工具之外的一切。本文就介绍集中式下一代系统日志工具服务器的基本方面。


相关内容