Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

文件系统安全

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  表明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/

7.备份

  备份的重要性我想不需要多说了,那么备份有那些策略呢?常见的有:系统初装时的备 份、定期备份、增量式备份(只备份改动的)、特别备份(为某些文件备份)等等。Linux系统提供了以下备份工具: 

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:用SYN包特性增强网络安全   下一篇:帐号安全

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号