URN Logo
UNIX Resources » Linux » China Linux Forum » 系统和网络安全 » 6 » [精华] 用专用Linux日志服务器增强系统安全
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
[精华] 用专用Linux日志服务器增强系统安全
Author: zhaoke    Posted: 2005-02-26 22:19    Length: 7,862 byte(s)
[Original] [Print] [Top]
用专用Linux日志服务器增强系统安全

发布日期: 2005-02-26 20:54:23

赵珂
http://zhaoke.net


目录
一. 准备工作
二. 系统安装
三. 系统配置
四. 测试
五. 结论
六. 更多


关键词: Linux日志服务器(Linux Log Server)

为什么要建立专用Linux日志服务器? 首先, 我们简单分析一下入侵的过程.
黑客通过探测和利用漏洞非法进入到一台计算机系统中, 首要的事情就是
隐藏自己的痕迹, 而不会去告诉他人系统已被攻击. 为了完成隐藏任务,
大多数黑客会删除日志文件中所有可疑条目. 因为一旦黑客被捕, 日志文件
将成为最重要的证据. 如果你发现系统被入侵, 你看到的日志文件可能已被
篡改, 那么我们如何才能够保证日志文件是100%完整的呢? 接下来我将向
大家介绍如何在你的网络里建立一台用于收集其它计算机系统日志的专用机器.
这样一来就算黑客入侵了你的系统, 修改了日志, 但你仍有一个完整的日志
备份在专用的Linux日志服务器上.


一. 准备工作

wwwserver: web服务器.
logserver: log服务器, 专门的日志服务器, 用于保护wwwserver的日志.

wwwserver的ip: 210.77.144.2
logserver的ip: 210.77.144.1

本文使用Redhat 9.0来做Linux日志服务器. 请确认web服务器中的
/etc/hosts文件已经建立了logserver条目. 简单操作:

logserver的ip地址为210.77.144.1

[root@wwwserver /]# echo "210.77.144.1 logserver">>/etc/hosts

运行系统: Red Hat 9

wwwserver系统和网络环境:
[zhaoke@wwwserver /]# uname -r
2.4.20-8smp

[zhaoke@wwwserver /]# cat /etc/redhat-release
Red Hat Linux release 9 (Shrike)

[zhaoke@wwwserver /]# /sbin/ifconfig eth0|grep inet
inet addr:210.77.144.2 Bcast:210.77.144.255 Mask:255.255.248.0

logserver系统和网络环境:
[zhaoke@logserver /]# uname -r
2.4.20-8smp

[zhaoke@logserver /]# cat /etc/redhat-release
Red Hat Linux release 9 (Shrike)

[zhaoke@logserver /]# /sbin/ifconfig eth0|grep inet
inet addr:210.77.144.1 Bcast:210.77.144.255 Mask:255.255.248.0


二. 系统安装

大家可以参考下面文章建立Web(含SSL)服务器和防火墙策略:

1). 在Redhat Linux 9上通过DSO方式搭建Apache HTTP服务器.
http://zhaoke.net/articles/general/2005-01-31.shtml

2). 在Redhat Linux 9上通过DSO方式搭建Apache SSL HTTP服务器.
http://zhaoke.net/articles/general/2005-02-07.shtml

3). 为Apache HTTP 1.3.3 Server设定一个简单防火墙策略.
http://zhaoke.net/articles/general/2005-02-01.shtml


三. 系统配置

1. 配置wwwserver的syslog.conf

修改web服务器syslog的配置文件/etc/syslog.conf, 告诉syslogd进程
传输本系统的日志信息到logserver上.

[root@wwwserver /]# vi /etc/syslog.conf

添加下面的代码到syslog.conf中:
*.* @logserver

2. 在wwwserver机器上重启syslogd

完成步骤一后, 重启syslogd以使用新的配置:

[root@wwwserver /]# killall -HUP syslogd
或者
[root@wwwserver /]# /etc/rc.d/init.d/syslog restart

3. 配置wwwserver机器的防火墙

添加允许从wwwserver的514端口传输udp封包到logserver的防火墙策略.

[ root@wwwserver /] /sbin/iptables -A OUTPUT -p udp -i eth0 -s
210.77.144.2 -d 210.77.144.1 --destination-ports:514 -j ACCEPT

[ root@wwwserver /] /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- 210.77.144.2 210.77.144.1
接上行udp dpt:syslog

注: 端口514用于syslog程序.

[root@wwwserver /]# cat /etc/services|grep 514/udp
syslog 514/udp

[root@wwwserver /]# /usr/sbin/lsof -i:514
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
syslogd 18014 root 10u IPv4 131882 UDP *:syslog

4. 配置logserver机器

到现在为止, 我们已经设置了允许web服务器发送日志信息到专用
日志服务器logserver. 接下来设置日志服务器能从Web服务器接受
日志文件信息.

[root@www /]# ps -aux|grep syslogd
root 2612 0.0 0.0 1440 340 ? S Feb03 0:01 syslogd -m 0

从上面可以看到syslogd进程号为1292, 我们需要停止syslogd
进程, 然后配置syslogd和重新启动.

[root@log /]# kill 1292

现在syslog进程已经终止, 我们需要重新启动syslog并启动
syslog的"远程接受(remote reception)"功能.

[root@log /]# /sbin/syslogd -rm 0

5. 确认日志服务器的syslog进程正确配置

检查/var/log/messages日志文件确认syslogd已重启

[root@log /]# tail -f /var/log/messages

在文件的底层你能看见:

Feb 11 14:52:42 log syslogd 1.4.1: restart (remote reception).

这样syslogd已经工作了.

6. 防火墙配置

在你的日志服务器上添加下面防火墙策略, 允许来自web服务器512端口的
udp数据传输到logserver上.

[root@log]# /sbin/iptables -A INPUT -p udp -i eth0 -s
210.77.144.2 -d 210.77.144.1 --sport 514 -j ACCEPT

[root@log root]# /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- 210.77.144.2 210.77.144.1 udp spt:syslog
.....


四. 测试

最后一步我们需要做的是验证所有的配置是否正常工作. 我们可以这样来
做, 首先从wwwserver登出和登陆:

[root@wwwserver /]# logout
Login: root
Password: xxxxxxxxxx

然后检查logserver上的日志文件/var/log/messages或者/var/log/secure)
, 可以看到下面的记录:
Feb 26 20:29:02 wwwserver login[1623]: ROOT LOGIN on `tty2'

从上面可以看出webserver上的root登陆记录到了logserver的日志文件中.
测试完毕.


五. 结论

在我们要建立一台专用的日志服务器时, 请确认日志服务器是足够安全的,
它仅接受来自于信任网络的日志信息. 日志服务器上最好不要运行其它的
应用程序, 如xwindows, web服务器, 数据库mysql或oralce, ftp服务器,
邮件服务器等.


六. 更多

关于作者: 赵珂, 操作系统研究和安全工程师.
zhaoke.net是作者的个人网站. 欢迎技术交流以及链接交换.

原文出处: http://zhaoke.net/articles/general/2005-02-26.shtml

版权声明: 引用或转载, 请注明作者与出处. 并请保留本文的连接.

如有问题或错误请提交到:
http://zhaoke.net/os/forum.php?do=viewtopic&cat=3&topic=11
----
[Original] [Print] [Top]
« Previous thread
哪里可以找到binutils的分析文档!
系统和网络安全
6
Next thread »
[精华] 使用AIDE做文件的完整性检测
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 03:44:59, cost 0.071546792984009 ms.