如何设定一个安全的log服务器
在网上越来越多的黑客的出现,越来越多的高手出现的情况下.如何才能确保自己可以保存一份完整的log呢?稍微有点概念的黑客都知道,进入系统后的第一见事情就是去清理 log,而发现入侵的最简单最直接的方法就是去看系统纪录文件.现在我们来说说如何设定一个安全的log服务器。
环境 RedHat 7.3
想想看,如果入侵者无法连结您的log服务器,又如何能改您的log呢?现在我们来学习如何设定一个无ip的log服务器。
现在,来介绍一下如何用Snort来做三件事情∶
Stealth sniffer
stealth NIDS porbe
stealth logger
这一切都是用在一台没有ip的服务器上面的。NIDS是Network Intrusion Dectection Server的简称,也就是说入侵检测服务器。
为什么要 stealth 呢?
在internet中运行任何一种服务,都是有一定的危险的。不管是http也好,ftp也好,telnet也好,总之都会有机会被黑客入侵。stealth logger的独特性可以让我们在接收资料的同时,不发送任何的资料。这样外界的电脑(被黑客入侵的电脑)就根本无法去更改loger server所收到的信息.也就是说保证了我们信息的完整性,以及原始性。为了确保log服务器的安全,最好不要将log服务器连接在网路中。也就是说,当您需要检查logger服务器上得东西的时侯,您需要到电脑前,打开屏幕。而不是远端login进来。但是,如果说您一定要连接网路的话的话,那么请用两个的介面来做。也就是说两片网卡,并且注意,第一,IP forwarding一定要关闭。第二就是,用来做stealth logger的介面是没有 ip的一张网卡,这张网卡必须不能跟另外一个有 ip 的网卡在同一网路下面。
设定:
首先当然是确定您的网卡安装无误,并且可以被 kernel 抓到.然后把网卡所需要的 module 写到 /etc/modules.conf 文件中。
现在我们来设定一个没有 ip 的网卡介面。
编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=
BROADCAST=
NETWORK=
NETMASK=
IPADDR=
存档后,用 ifconfig 来 active 我们的 eth0 介面。
初试 stealth
这里我们用到了 snort 这个程式.如果您的电脑中没有这个程式,可以到 www.snort.org 下载.
现在我们运行
snort -dvi eth0
这里 -d 的选项告诉 snort 对资料进行 decode (解码)
-v 告诉 snort 将结果显示在屏幕上面
-i 则是指定所需要的 interface
可以用 -C 选项告诉 snort 只显示 ASCII 部份. 忽略 hexadecimal 资料.
?$snort -dviC eth0
Log directory= /var/log/snort
Initializing Network Interface eth0
kernel filter, protocol ALL, TURBO mode
(63 frames), raw packet socket
--== Initializing Snort ==--
Decoding Ethernet on interface eth0
--== Initialization Complate ==--
-*> Snort! <*-
Version 1.8.4 (Build 99)
By Martin Roesch (roesch@sourcefire.com,
www.snort.org)
......
......
......
NIDS(入侵侦测) 入侵检测本身是一件很复杂的事情。snort 本身也提供了强大的入侵检测的功能。这里我只做一个简单的介绍,好让大家有一个概念.如果真正实体去做一个 NIDS 的话.需要些更复杂的动作.例如设定更完善的 rules, 定时更新 snort.conf 中所定义的 rules (当新的攻击方式出现以后,要及时更新)