四 使用Yassp工具包安装安全的Solaris系统

11、安装完整性检测工具:如Tripwire
应该经常对系统中文件的完整性进行检查,以确保他们没有被恶意的改变 。Solaris提供了

"pkgchk -n"命令将安装的文件大小、权限及校验与package数据库进行比较 。但是检验是可以会

欺骗的,数据库也可能会被更改 。因此,真正需要的是采用安全的hashing算法的文件完整性检查

工具 。
Yassp将在/secure/tripwire中安装tripwire 。它采用多种hashing算法 。
系统安装到这个阶段,我们建议对新配置的系统及文件创建快照(snapshot),初始化tripwire的

数据库,定期进行检查变动情况 。如果有可能的话,将主数据库单独保存 。
文件完整性检查的可选功能
* Tripwire:有免费和商业两种版本
* 建议在中心服务器上使用商业版本,更加稳定,在其它主机上使用免费的版本 。
* PGP可用,PGP can also be used,by signing files to be protected(creating lots of

signature files),then writing a script to check the validity of signatures.This will

not catch permission,link,inode or modify date changes though.
* MD5 signatures(单向hash算法)可能同样使用,但是MD5签名列表不要保存在被监视的主机上,

除非已经加密或者PGP signed 。

使用免费Tripwirer例子:
* Yassp安装/secure/tripwire/tripwire及缺少的配置tw.config,也可以获得源代码后自行编译


* 如果需要,编辑/secure/tripwire/tw.config,符合自己要求 。
* 接下来,做系统的初始状态 。
cd /secure/tripwire; ./tripwire -i 2 -initialise -c tw.config建立一个新的文件数据库

。可能会有一些文件无法找到的报错信息,忽略它们 。把新产生的数据库(在

/secure/tripwire/database)复制到软盘上 。在将来如果怀疑系统遭受攻击或者改动时,可以使

用此文件 。
* 可以在cron中设置每天进行检查,也可以手工进行
./tripwire -i 2 -c tw.config
* 告诉tripwire,文件及目录的改变正常
tripwire -update [/file1 /file2 /patch3.....]
* improvements:
* tripwire数据库如果保存在同一主机上,应压缩并加密,或者用强加密工具(如PGP)对其进行

sign 。
* 从一台信任主机上检查其它系统,复制tripwire及其数据库,通过SSH远程运行它,检查完后,

删除数据库文件 。
* 这样使得攻击者难于觉察系统采用了tripwire进行监控 。
* 阅读脚本trip_host.sh,过滤掉“无文件及目录”报错 。它必须从‘master"主机上运行,对目

标机有SSH信任关系 。

第一次运行
/secure/tripwire/trip_host.sh -init HOST
以后每次运行
/sevure/tripwire/trip_host.sh -check HOST

将database文件妥善保存 。

12、安装、测试、加固应用程序
特定的应用,如FTP、DNS、Email等将在其它文章中论述 。

13、开始使用
准备使用
1.如果不再需要使用CD-ROM,在/etc/yassp.conf中关闭volume manager 。如果在今后需要安装

CD,手工启动vold进行新设备的检测:
drvconfig;disks;vold &df -k
2.如果在安装调试的过程当中,必须将/opt及/usr分区安装成为read-write,那么此时,将它们

mount成为read-only 。
3.重新做tripwire的初始化 。
4.将系统备份到两盘磁带上,one offsite 。
5.使用扫描器扫描系统,确保只有需要的服务开启 。
6. 请其他人做测试,避免遗漏 。
7. 详细检查-什么在工作?什么被禁止?检查控制台/log的内容,系统是否如希望那样工作?经

常检查日志记录 。

日常维护
* 使用Sun的Patchdiag进行补丁的检查,需要就进行升级 。对于内核的补丁,要在别的机器上先

进行测试 。
* 检查所有的错误日志及异常行为:syslog(/var/adm/messages或

推荐阅读