扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一、AIDE简介
AIDE即Advanced Intrusion Detection Environment,直译为高级入侵检测环境,AIDE,是一个文件完整性检测工具,AIDE 能够构造 一个指定文件的数据库,它使用aide.conf作为其配置文件。AIDE生成的数据库能够保存文件的各种属性,包括:权限(permission)、索 引节点序号(inodenumber)、所属用户(user)、所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间 (ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还能够使用下列算法:sha1、md5、rmd160、tiger,以密文 形式建立每个文件的校验码或散列。
一旦一台计算机系统被攻击,所有的信息都将暴露在攻击者的视野中.如果攻击者能很好的隐藏痕迹, 那么入侵的事实是一下很难被发现的,随着时间的推移攻击者将会发现越来越多的有用信息。管理员在系统安装完毕,连接到网络上之前,可以通过该程序建立新系 统的AIDE数据库。这个AIDE数据库是系统的一个快照和以后系统升级的准绳。数据库应该至少包含这些信息:关键的系统二进制可执行程序、动态连接库、 头文件以及其它总是保持不变的文件。(当然也可以用一些变通的策略,例如/dev 下很多终端设备只是permisson变动,所以只要检查时去掉权限检查,就不会被报警淹没。)
一旦发现系统被侵入,系统管理员会使用ls、lsof、 ps、netstat、last以及who等系统工具对系统进行检查,但是所有这些系统工具都可能被rootkit 程序代替了。可以想象被修改的ls 程序、ps 也不会显示任何入侵进程的信息,甚至本身就是一个肩负backdoor任务的程序。即使系统管理员恐怕永远也无法通过简单的文件属性来获知它们是否被修改 过了,因为文件日期、大小等信息是非常容易改变的,如利用touch。系统管理员需要安装入侵检测工具才能更好的提高信息的安全性.AIDE, 高级入侵检测环境, 是一个文件完整性检测工具, 一种类型的入侵检测程序.使用AIDE, 系统中的重要文件和文件相关的属性如权限, inode号, 用户, 用户组和链接数,也包括创建每一个文件的加密校验都会被创建到一个数据库中。
二、AIDE的工作流程
图1 AIDE的工作流程
AIDE的工作流程包括如下步骤:
(1)设定aide.conf
(2)依据aide.conf建立数据库文件
(3)执行文件审核确认完整性,文件系统是否有发生异常
(4)回报异常
(5)检查异常是否属于正常
(6) 重设aide.conf,更新数据库文件或者采取安全的补救措施。
三、下载安装AIDE
1.下载安装mhash,扩展库
Mhash扩展库支持12种混编算法,可以知道,它支持下面的混编算法:
CRC32 HAVAL160 MD5
CRC32B HAVAL192 RIPEMD160
GOST HAVAL224 SHA1
HAVAL128 HAVAL256 TIGER
#wget ftp://ftp.sunfreeware.com/pub/fr ... -sol10-x86-local.gz
#gunzip mhash-0.9.9-sol10-x86-local
#pkgadd –d mhash-0.9.9-sol10-x86-local
2. 下载安装libiconv库
libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。由于历史原因,国际化的文字常常由 于语言或者国家的原因使用不同的编码。随着互联网时代的到来,通过互联网进行文字交流也逐渐增多:浏览外国的网站,这个时候字符编码的转换变得尤为重要。 这带来了一个问题,就是许多字符在某一种编码方式中没有。为了解决这种混乱,Unicode的编码方式被建立。Unicode是一种超级编码包含了所有这 些编码的字符集,因此一些新的文本格式像XML的默认编码方式就是Unicode.
但是很多老式的计算机还在使用当地的传统的字符编码方式。 而一些程序,例如邮件程序和浏览器必须能在这些不同的用户编码之间作转换。其他的一些程序则内置支持Unicode,以顺利支持国际化的处理,但是仍然有 在Unicode和其他的传统编码之间转换的需求。GNU的libiconv就是为这两种应用设计的编码转换库。
#wget http://mirrors.easynews.com/sunf ... ol10-intel-local.gz #gunzip libiconv-1.8-sol10-intel-local.gz #pkgadd –d libiconv-1.8-sol10-intel-local |
3下载安装libgcc
Libgcc是编译器内部的函数库,是用来实现目标平台没有直接实现的语言元素。举个例子,C 语言的模运算符 ("%")在某个平台上可能无法映射到一条汇编指令。可能用一个函数调用实现比让编译器为其生成内嵌代码更受欢迎(特别是对一些内存受限的计算机来说,比 如微控制器)。很多其它的基本运算,包括除法、乘法、字符串处理(比如 memory copy)一般都会在这类函数库中实现。
#wget ftp://ftp.sunfreeware.com/pub/fr ... -sol10-x86-local.gz #gunzip libgcc-3.4.6-sol10-x86-local.gz #pkgadd –d libgcc-3.4.6-sol10-x86-local |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。