怎样在CentOS上配置基于主机的入侵检测系统?

所属分类: 网络安全 / 黑客入侵 阅读数: 126
收藏 0 赞 0 分享

任何系统管理员想要在其生产服务器上最先部署的安全措施之一就是检测文件篡改的机制――不法分子篡改的不仅仅是文件内容,还有文件属性。

AIDE(全称“高级入侵检测环境”)是一种基于主机的开源入侵检测系统。AIDE通过检查许多文件属性的不一致性来检查系统二进制文件和基本配置文件的完整性,这些文件属性包括权限、文件类型、索引节点(inode)、链接数量、链接名称、用户、用户组、文件大小、块计数、修改时间、访问时间、创建时间、访问控制列表(acl)、SELinux安全上下文、xattrs以及md5/sha校验和。

AIDE通过扫描一台(未被篡改)的Linux服务器的文件系统来构建文件属性数据库。然后,它对照该数据库,检查服务器的文件属性,然后在服务器运行时,一旦索引文件出现任何更改,就发出警告。正是由于这个原因,每当由于正当原因而更新系统或更改配置文件后,AIDE必须重新为受保护的文件编制索引。

对某些客户而言,他们的安全策略可能要求在服务器上安装某种入侵检测系统(IDS)。但无论客户是不是要求IDS,系统管理员部署IDS都是个好的做法。

在CentOS或RHEL上安装AIDE

AIDE的初始安装(以及首次运行)最好是在刚安装操作系统的系统上进行,没有任何服务暴露在互联网、甚至暴露在局域网面前。在这个早期阶段,我们可以将来自外部的一切闯入和篡改行为这种风险降到最低限度。事实上,这也是确保系统在AIDE构建其初始数据库时很干净的唯一途径。

由于这个原因,我们在使用# yum install aide这个命令安装AIDE后,需要将我们的机器从网络断开,并执行一些基本的配置任务,如下所述。

配置AIDE

默认配置文件位于/etc/aide.conf。该文件提供了几个示例保护规则(比如FIPSR、NORMAL、DIR和DATAONLY),每个规则后面跟着一个等号以及要检查的文件属性列表,或者任何预定义规则(用+分隔)。你也可以使用这种格式定义任何自定义规则。

FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256

NORMAL = FIPSR+sha512

比如说,上述例子意味着,NORMAL规则将检查下列属性方面的不一致性:权限(p)、索引节点(i)、链接数量(n)、用户(u)、用户组(g)、大小(s)、修改时间(m)、创建时间(c)、访问控制列表(acl)、SELinux(selinux)、xattrs(xattr)以及SHA256/SHA512校验和(sha256和sha512)。

定义的规则可以灵活地用于不同的目录和文件(用正则表达式表示)。

条目前面的感叹号(!)告诉AIDE忽略子目录(或目录里面的文件),可针对子目录定义另一个规则。

在上面这个例子中,PERMS是面向/etc及其子目录和文件的默认规则。然而,没有规则会应用于/etc中的备份文件(即/etc/.*~),也不会应用于/etc/mtab文件。对于/etc中一些选择性的子目录或文件而言,而是应用NORMAL规则,替代默认规则PERMS。

定义合适的规则,并将其应用到系统中的合适位置,这是使用AIDE过程中最困难的部分,但运用良好的判断力是个好的开端。一个经验法则是,别检查不必要的属性。比如说,检查/var/log或/var/spool里面的文件的修改时间肯定会导致大量误报,因为有许多应用程序和守护进程常常将内容写入到这些位置。此外,检查多个校验和可能会加强安全性,不过代价是AIDE运行时间延长了。

另外,如果你使用MAILTO变量来指定电子邮件地址,可以将检查结果发送到你的邮箱。将下面这一行放入到/etc/aide.conf中的任何位置。

MAILTO=root@localhost

首次运行AIDE

运行下列命令对AIDE数据库进行初始化:

# aide --init

根据/etc/aide.conf生成的/var/lib/aide/aide.db.new.gz文件需要重命名为/var/lib/aide/aide.db.gz,以便让AIDE能读取它:

# mv /var/lib/aide/aide.db.new.gz /var/lib/aide.db.gz

现在,是时候对照数据库,执行我们的第一次系统检查了。为此,只要运行:

# aide

没有选项调用时,AIDE假设使用--check。

如果数据库创建后没有做过任何变更,AIDE在结束检查后会返回OK信息。

在生产环境中管理AIDE

构建初始AIDE数据库后,你常常需要由于各种正当的原因更新受保护的服务器,这是日常系统管理活动的一部分。每次服务器经过更新后,你必须重新构建AIDE数据库,以便将变更内容添加到数据库。为此,使用这个命令:

# aide --update

为了使用AIDE保护生产系统,可能最好安排一个计划任务,以便定期使用AIDE检查任何不一致性。比如说,安排AIDE每天运行一次,并将结果发送到电子邮件地址:

# crontab -e

0 0 * * * /usr/sbin/aide --check | /usr/bin/mail -s "AIDE run for $HOSTNAME" your@email.com

测试AIDE检查文件篡改的功能

下列测试场景将演示AIDE如何检查文件的完整性。

测试场景1

我们不妨添加一个新文件(比如/etc/fake)。

# cat /dev/null > /etc/fake

测试场景 2

我们不妨变更文件权限,看看它能否被检测到。

# chmod 644 /etc/aide.conf

测试场景 3

最后,我们不妨更改文件内容(比如添加一个注释行到/etc/aide.conf)。

echo "#This is a comment" >> /etc/aide.conf

在上面的屏幕截图中,第一列显示了文件属性,第二列显示了AIDE数据库中的值,第三列显示了那些属性的更新后值。第三列中的空白部分表示该属性没有更改(该例子中的ACL)。

结束语

要是你果真觉得自己处于这种情形:有充分的理由认为系统已遭到了篡改,可是乍一看又无法查明什么有可能遭到了更改,像AIDE这样的基于主机的入侵检测系统就大有帮助,因为它可以帮助你尽快查明什么遭到了更改,而不是胡加猜测、浪费宝贵的时间。

更多精彩内容其他人还在看

黑客技术讲解 网吧入侵方法大搜罗

首先,我们了解被破坏网吧的客观环境,要了解网吧人员的实地监测等。尤其要注意看有没有闭路电视监控。如果网吧人员对你的个人资料相当熟悉,就住手免的惹麻烦了。部分网吧要出示身份证也不要破坏了,免的惹麻烦。以下破坏方法不分先后,请量力灵活运用若干破坏组合。具体
收藏 0 赞 0 分享

通过Asp入侵Webserver

通过asp入侵web server,窃取文件毁坏系统,这决非耸人听闻... iis的安全性问题 1.iis3/pws的漏洞 我实验过,win98 pws上运行ASP程序,只须在浏览器地址栏内多加一个小数点ASP程序就会被下载下来。IIS3听说也有同样的问题,
收藏 0 赞 0 分享

详尽的IPC$入侵

一 唠叨一下: 网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄. 不过话虽这样说,但我个人认为这些文章讲解的并不详细,对于第一次接触ipc$的菜鸟来说,简单的罗列步
收藏 0 赞 0 分享

如何入侵ADSL

这是一位所谓的"黑客"的口述,你不妨看一下,也许你看完后对他的技术性做法不是完全明白,但是你肯定会感到一身冷汗,因为我们现在使用ADSL已经日益广泛,但我们的安全意识还不是很强.听完他的口述希望大家在日后能加强安全防范! 口述: 也许看烂了网上已有的
收藏 0 赞 0 分享

看我来入侵复旦大学(图)

一、师出有名 某日十分无聊,就和X论坛的超级版主wyzhack瞎吹牛,东年西扯的。后来不知道怎么的扯到复旦去了,他提议说不如我们黑掉复旦吧。正好当时也比较清闲,就答应一起看看了,嘿嘿。这次跑去黑复旦纯粹是为了练习技术。 二、战略部署 这次要拿的
收藏 0 赞 0 分享

领土之争——入侵某视讯服务器回忆录

老早就打算写这样一篇文章:能够细致地反映出入侵中攻防的具体内容,我想这比单纯的技术文章有趣的多。有鉴于此,我将尽力完整描述入侵过程中的思考方式。 1.石榴裙下的kk 说实话,就第一次拿到权限而言,没有多少技术含量。我花了N久时间收集KK网络的各种信息,最终
收藏 0 赞 0 分享

黑客攻防实战之对有防火墙网站入侵过程

前几天群里的兄弟给了一个网站,问我可不可以入侵。   一、踩点   ping www.111.com 发现超时,可以是有防火墙或做了策略。再用superscan扫一下,发现开放的端口有很多个,初步估计是软件防火墙。   二、注入   从源文件里搜索关键字asp
收藏 0 赞 0 分享

看看黑客都在偷窥什么!入侵个人电脑揭密(图)

前几天看《南国早报》说一位女孩个人电脑被黑客入侵控制,把裸照发到网上威胁女孩的事。联想到最近网上这样的事挺多的,就想给大家说说怎么防范。 其实现在的网络真的不安全~只要你的电脑连接上网络就存在一定的风险。黑客并不是万能的,他们入侵的电脑都是存在比较严重
收藏 0 赞 0 分享

XSS Phishing - 新式跨站脚本攻击方式(图)

最近跨站脚本漏洞好像比较火,国内的一些比较出名的WEB程序都陆续暴出了跨站脚本漏洞,但是一提到跨站脚本漏洞的攻击方式大家都哑火了,因为在常规的概念中这种漏洞最多是挂网页木马,获取COOKIE之类,属于典型的鸡肋漏洞! 跨站脚本攻击最大的魅力是通过HTML注
收藏 0 赞 0 分享

PHP数据库安全之SQL注入

$offset = $argv[0]; // 注意,没有输入验证!   $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";   $resu
收藏 0 赞 0 分享
查看更多