快捷搜索:   nginx

Debian GNU/Linux下的入侵检测系统(1)

摘要:

今天,许多信息都是存储在计算机系统中,因此很容易通过计算机网络远程访问他们并获取数据,无论是财政,行政,军事,工业还是金融信息。不幸的是,这些数据很容易被一些恶意的人获取并摧毁,因为他们不知道什么叫道德。

关于道德方面,我们无能为力,在本文中我将谈谈在Debian GNU/Linux系统使用一些工具来发现和跟踪入侵者。

介绍
当我们选择了Linux系统之后,我们得考虑在那么多个发行版中到底使用哪个版本,他们许多都是基于RedHat,例如Conectiva (巴西), Hispa source(西班牙), Mandrake (法国), SuSE (德国), Caldera和其他的版本都使用RPM 包管理器,而Slackware更象传统的Unix尽量使用.tgz包,他们几乎都是商业公司开发的,但Debian例外。 Debian提供了一个叫DPKG的包管理器帮助我们自动在Internet上查找和升级软件,检查信任关系,这样使系统管理更加简单并且可以及时的打上安全补丁。

为什么使用Debian GNU/Linux ?
Debian也有一些很重要的功能:

1) 他不包含商业意图并且不按照市场规则运作。
2) 他有一个非常优秀的漏洞跟踪系统,问题将在48小时内得到解决。
3) 他从一开始就是想开发一个完善和可信的操作系统。
4) 他是由全球的志愿者一起开发的。

每个新的版本都对一些新的硬件体系提供支, 现在他支持Alpha, ARM, HP PA-RISC, Intel x86, Intel IA-64, Motorola 680x0, MIPS, MIPS (DEC), Power PC, IBM S/390, Sparc并且可以工作在Sun UltraSparc和Hitachi SuperH。他是Linux系统中支持硬件体系最多的平台。

在现有的Debian发行版中,有很多实时入侵检测工具可以帮助我们检测到恶意的连接。他有两种类型,一个是监视整个网络的(NIDS),另外一类是监视单个主机的(HIDS)。

主机工具
我们使用PortSentry来发现端口扫描,TripWire来检测系统完整性和使用LogSentry做日志分析。第一个和最后一个工具都是Psionic Technologies的TriSentry套件。

端口扫描检测
PortSentry监视我们系统的端口,当他发现一个非正常的连接请求的时候,他可以采取一些行动(一般是阻拦)。

他的主页在http://www.psionic.com/products/portsentry.html 同时PortSentry也支持Solaris, BSD, AIX, SCO, Digital Unix, HP-UX, and Linux系统.

在Debian中,输入下面的命令就可以把他装上了:

apt-get install portsentry

有三种不同的模式可供选择:基本模式,隐蔽模式和高级模式。他的配置文件在/usr/local/psionic/portsentry/portsentry.conf file

他的主要参数如下:

TCP_PORTS,这里你定义在基本模式或者隐蔽模式下需要控制的端口,作者按照不同的控制级别提供了三个端口列表,最大的端口数量是64个。

UDP_PORTS,和上面的相似,不同的只是UDP端口

ADVANCED_PORTS_TCP, ADVANCED_PORTS_UDP, 在高级模式中可能会用到高端口检测,最大可以定义到65535,但是建议不要超过1024,以免误报。

ADVANCED_EXCLUDE_TCP, ADVANCED_EXCLUDE_UDP,提供了一个排除列表,在高级模式中,里面的端口将不会被监视。在这里,你可以写上你提供特殊服务的端口,但不要是真正的服务,例如: ident

IGNORE_FILE, 在这里我们可以写上需要忽略IP的文件的位置,在这里可以找到回环地址,你同样可以在这里添加一个本地地址。

KILL_ROUTE,在这里我们可以添加一个命令来阻拦恶意的主机,例如: iptables -I INPUT -s $TARGET$ -j DROP,$TARGET$指的是恶意主机.

KILL_RUN_CMD, 在阻拦恶意主机之前执行的命令.

SCAN_TRIGGER, 定义超过多少次攻击才启动报警.

PORT_BANNER, 在端口被连接之后显示的banner信息

在配置完之后,你最好使用下面的参数执行其中的一中模式:TCP是使用-tcp (基本模式), -stcp (隐蔽模式)和-atcp (高级模式);UDP就相应的改为 -udp, -sudp, -audp.

完整性检查
可以使用TripWire进行系统完整性检查,他的主页在http://www.tripwire.org他的linux版本是免费的而Windows NT, Solaris, AIX and HP-UX的版本则是商业化的.

在Debian中,我们使用下面的命令安装他:

apt-get install tripwire

保存信息需要两个密钥: 第一个是"site key",他是用来加密策略和配置文件的,另外一个是"local key"是用来加密检测的信息的。

一个准备好的配置文件在/etc/tripwire/twpol.txt ,你可以使用下面的命令初始化他:

twadmin -m P /etc/tripwire/twpol.txt

我们使用下面的命令创建一个当前文件系统初始的数据库:

tripwire -m i 2

检测系统完整性就使用下面的命令:

tripwire -m c

使用下面的命令删除配置文件,以免被入侵者发现了你改动了什么文件:

rm /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt

如果你需要重新创建配置文件,你可以使用下面的命令:

twadmin -m p > /etc/tripwire/twpol1.txt twadmin -m f > /etc/tripwire/twcfg.txt

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论