文件系统安全表明su是一个SUID程序。 Unix系统安全的一种典型攻击就是创建一个SUID是root的shell拷贝,然后把他隐藏。通过调用后门,攻击者就获得了root的权利。例如,某个系统管理员忘了关闭某个root的 Shell,一个坏人经过运行如下命令: cp /bin/bash /home/badman/.bash; chmod 4777 /home/badman/.bash badman现在就有了一个bash的SUID root拷贝任其处理。他就有完整的root权限了。因此,系统管理员应该定期察看系统中有哪些SUID和SGID文件。用下面的命令可以实现: find / -type f ( -perm -4000 -o -perm -2000 ) -ls 当然,攻击者可以通过修改find命令来逃避检测,所以要运行专门的检测软件(如Tripwire)来进行检查。 4.加密与验证 Tripwire工具提出了使用密码校验和来确定文件是否经过了未认证的修改,加密技术可 以用来保护机密文件甚至整个文件系统。加密是通过密钥将明文转化为一堆乱码的密文,从而起到保护文件内容的作用。Unix常用的加密算法有crypt(最早的加密工具)、DES(目前最常用的)、IDEA(国际数据加密算法)、RC4、Blowfish(简单高效的DES)、RSA等等。 具体的加密算法这里不再阐明,需要了解请阅读Bruce Schneier的《应用密码学》一书。注意单向hash函数,他处理任意长度的信息并返回一个固定长度的hash值(128位)。常用的有MD5、SHA、HAVAL、Snefru等等。单向hash函数经常和公开密钥算法一起来创建数字签名,提供身份证明。与传统的签名相比,数字签名还可以指出文件是否被修改过。 PGP是unix下用来保护信息特别是电子邮件的工具。他使用IDEA算法为数据加密,使用RSA算法来进行密钥管理和数字签名,使用MD5来作为一个单向hash函数。其特点在于安全:不仅内容被伪装,连发送者的签名也加密。PGP还可以用来加密本地文件。现在常用的Linux下的PGP工具为:pgpe(加密)、pgps(签名)、pgpv(确认/解密)、pgpk(管理密钥)。请参考相应的帮助来使用。 "特洛伊木马"的故事不知道大家听说过没有。古希腊人久攻特洛伊城不下,于是假装 求和,送了一个巨大的木马作为礼物,向城主Minerva表示和解。特洛伊人将木马拉入城内,到了夜晚,藏在木马中的希腊士兵钻出来,里应外合,攻破特洛伊城。在计算机安全领域,这种欺骗技巧成为攻击计算机安全的一种标准方式。他藏在你的计算机里,随时可能爆发,如果攻击者需要的话。因此,一旦一个系统被装了特洛伊木马,他就不能在信任了,必须从新安装。怎么避免呢,要养成良好的习惯,例如:限制下载,只从有声望的站点下载东西; 检验下载的文件;避免运行已编译好的二进制代码,从源代码开始编译;不执行不信任的电子邮件发送的程序;不执行从非信任的Web站点得到的Java applets和Java Script。 MD5校验和有时与软件一起发行,用户可以用他来检验一个软件包。用户可以运行Red Hat Linux中包含的md5sum工具,例如: md5sum cops.1.04.tar.gz 结果: lfa416872934e5bee99068f9989cb8b0 cops.1.04.tar.gz 和软件包自带的校验和文件比较,如果不符,则说明文件在传输过程中出了问题,最好从新下载,本文件不可靠。md5sum还可以用来检验系统文件,在第一次安装系统之后对重要的lilo系统二进制文件进行一下校验:md5sum lilo,其结果应该一直保持不变,除非升级。 5.完整性检查 完整性是安全系统的核心属性。用户需要知道昨天写的文件和今天打开的文件没有被改 动。攻击者可以用很多方法破坏文件系统,从依靠错误配置的权限获益到放置特洛伊木马和病毒。Linux中用cksum命令对一个特定文件执行16位校验和的计算,上面的md5sum也是一个检验的命令。 RPM(Red Hat Package manager)是由Red Hat Software开发并包含在其Linux产品之中的多功能软件安装管理器。他可以用来建立、安装、查询、检验、升级和卸载独立的软件包。 一个RPM包包括了一个压缩文件和包信息。当使用RPM安装软件时,RPM为每个被安装文件向数据库中添加信息,包括:MD5校验和、文件大小、文件类型、拥有者、组和权限模式。当RPM以"--verify"标志运行时,他把初始文件的值与当前安装的文件进行比较并报告差异。例如,下面检验当前的Tripwire文件: rpm -verify Tripwire-1.30-1 结果: S.5….T /usr/local/bin/tw/siggen S.5….T /usr/local/bin/tw/tripwire S.5….T /usr/local/bin/tw/tw.config ……..T /var/tripwire/tw.db_TEST 说明几个Tripwire文件已经被改动。RPM签名检查命令的常见形式为:rpm -checksig +,他检查包含在软件包内的PGP签名以保证完整性和软件包的原装性。 6.加密文件系统 加密文件系统是文件系统安全的一个更引人注目的方法。他根据一个简单的推断:如果 一个系统保存机密数据,那么就应该以加密形式保存。加密文件系统(CFS)的核心思想是: CFS为目录和文件提供一个透明的接口,并自动使用用户的密钥加密。一条单独的命令把一个密钥和一个目录关联起来,从这时起,目录的内容在写时自动加密,在打开时自动解密。Red Hat的CFS可以从下面的地址下载: http://www.replay.com/redhat/cfs.html 一个由意大利人开发的透明加密文件系统(TCFS),用户甚至不知道他们的文件倍加密了。从下面的地址下载: http://tcfs.dia.unisa.it/ 备份的重要性我想不需要多说了,那么备份有那些策略呢?常见的有:系统初装时的备 份、定期备份、增量式备份(只备份改动的)、特别备份(为某些文件备份)等等。Linux系统提供了以下备份工具: 上一篇:用SYN包特性增强网络安全 下一篇:帐号安全 更多相关文章
|
推荐文章
精彩文章
|