简单介绍几款Linux下的IDS入侵检测工具 psad、Apparmor、SELinuxu等.在之前的文章里也曾对入侵检测系统简介进行过介绍 。我们可以先去了解一下入侵检测系统原理和实践。
如果你只有一台电脑,那么对你而言花费大量的工夫仔细审查系统的弱点和问题是完全可能的。可能你并不真得希望这样,但却有此可能。不过,在现实世界中,我们需要一些好的工具来帮助我们监视系统,并向我们发出警告,告诉我们哪里可能出现问题,因此我们可以经常地轻松一下。入侵检测可能是一种令我们操心的问题之一。不过,事情总有两方面,幸好Linux的管理员们拥有可供选择的强大工具。最佳的策略是采用分层的方法,即将“老当益壮”的程序,如 Snort、iptables等老前辈与psad、Apparmor、SELinuxu等一些新生力量结合起来,借助强大的分析工具,我们就可以始终站在技术的前沿。
在现代,机器上的任何用户账户都有可能被用来作恶。笔者认为,将全部的重点都放在保护root上,就好像其它用户账户不重要一样,这是Linux和Unix安全中一个长期存在的、慢性的弱点问题。一次简单的重装可以替换受损的系统文件,不过数据文件怎么办?任何入侵都拥有造成大量破坏的潜力。事实上,要散布垃圾邮件、复制敏感文件、提供虚假的音乐或电影文件、对其它系统发动攻击,根本就不需要获得对root的访问。
IDS新宠:PSAD
Psad是端口扫描攻击检测程序的简称,它作为一个新工具,可以与iptables和Snort等紧密合作,向我们展示所有试图进入网络的恶意企图。这是笔者首选的Linux入侵检测系统。它使用了许多snort工具,它可以与fwsnort和iptables的日志结合使用,意味着你甚至可以深入到应用层并执行一些内容分析。它可以像Nmap一样执行数据包头部的分析,向用户发出警告,甚至可以对其进行配置以便于自动阻止可疑的IP地址。
事实上,任何入侵检测系统的一个关键方面是捕获并分析大量的数据。如果不这样做,那只能是盲目乱来,并不能真正有效地调整IDS。我们可以将PSAD的数据导出到AfterGlow 和 Gnuplot中,从而可以知道到底是谁正在攻击防火墙,而且是以一种很友好的界面展示。
老当益壮:Snort
正如一位可信任的老人,随着年龄的增长,Snort也愈发成熟。它是一款轻量级且易于使用的工具,可以独立运行,也可以与psad和iptables一起使用。我们可以从Linux的发行版本的程序库中找到并安装它,比起过去的源代码安装这应该是一个很大的进步。至于保持其规则的更新问题,也是同样的简单,因为作为Snort的规则更新程序和管理程序,oinkmaster也在Linux发行版本的程序库中。 Snort易于管理,虽然它有一些配置上的要求。要开始使用它,默认的配置对大多数网络系统并不适用,因为它将所有不需要的规则也包括在其中。所以我们要做的第一件事情是清除所有不需要的规则,否则就会损害性能,并会生成一些虚假的警告。
另外一个重要的策略是要以秘密模式运行Snort,也就是说要监听一个没有IP地址的网络接口。在没有为它分配IP地址的接口上,如ifconfig eth0 up,以-i选项来运行Snort,如snort –i eth0。还有可能发生这样的事情:如果你的网络管理程序正运行在系统中,那它就会“有助于”展现出还没有配置的端口,因此建议还是清除网络管理程序。
Snort可以收集大量的数据,因此需要添加BASE(基本分析和安全引擎),以便于获得一个友好的可视化的分析工具,它以较老的ACID(入侵数据库分析控制台)为基础。
简洁方便:chkrootkit和rootkit
Rootkit检测程序chkrootkit和rootkit Hunter也算是老牌的rootkit检测程序了。很明显,在从一个不可写的外部设备运行时,它们是更可信任的工具,如从一个CD或写保护的USB驱动器上运行时就是这样。笔者喜欢SD卡,就是因为那个写保护的的开关。这两个程序可以搜索已知的rooktkit、后门和本地的漏洞利用程序,并且可以发现有限的一些可疑活动。我们需要运行这些工具的理由在于,它们可以查看文件系统上的/proc、ps和其它的一些重要的活动。虽然它们不是用于网络的,但却可以快速扫描个人计算机。
多面手:Tripwire
Tripwire是一款入侵检测和数据完整性产品,它允许用户构建一个表现最优设置的基本服务器状态。它并不能阻止损害事件的发生,但它能够将目前的状态与理想的状态相比较,以决定是否发生了任何意外的或故意的改变。如果检测到了任何变化,就会被降到运行障碍最少的状态。
如果你需要控制对Linux或UNIX服务器的改变,可以有三个选择:开源的Tripwire、服务器版Tripwire、企业版Tripwire。虽然这三个产品有一些共同点,但却拥有大量的不同方面,使得这款产品可以满足不同IT环境的要求。
如开源的Tripwire对于监视少量的服务器是合适的,因为这种情形并不需要集中化的控制和报告;服务器版Tripwire对于那些仅在Linux/UNIX/Windows平台上要求服务器监视并提供详细报告和最优化集中服务器管理的IT组织是一个理想的方案;而企业版Tripwire对于需要在Linux/UNIX/Windows服务器、数据库、网络设备、桌面和目录服务器之间安全地审核配置的IT组织而言是最佳选择。