UNIX安全管理(一)

日期: 2008-01-10 作者:IBM 来源:TechTarget中国

  前段时间闹得沸沸扬扬的Blaster冲击波病毒,给许多人的日常工作带来了诸多影响,也使人们对于计算机病毒的防范再次敲响了警钟。一谈到计算机病毒,其实从更广义角度上来说,其本质上就是计算机安全性的问题,下面我们就UNIX操作系统的安全性做一讨论。

  当然任何操作系统都有这样或那样的技术漏洞,但是在一般情况下利用这些技术漏洞获得超级用户权利的前提是拥有本机的Shell,如果没有一个可以操作的Shell,黑客是无法运用诸如缓冲区溢出、sendmail bug等程序来获得超级用户的权限的。对于那些对操作系统十分熟悉的黑客来说,即使没有Shell帐户,他仍然可能入侵到这台机器里,比如利用IP欺骗和一些特定操作系统的技术漏洞。而且黑客如果只是想让某台机器瘫痪而不是盗取信息,他多半会用DOS攻击(拒绝服务),就是让主机一直处理无用的信息使之不能正常工作。对于敏感网络建立放火墙应当和建立网络环境一样重要,就目前的情况来看只要防火墙设置合适,局域网的安全还是有保障的。然而系统管理员需要有一定的安全意识,对于机器的故障情况能够判断出是技术故障还是被人攻击了。

   本文即介绍从管理的角度来保障系统的安全。从管理上能防止大多数一般黑客的攻击,但是并不是说安全能够完全通过管理来实现。

  系统安全控制

  安全控制对于一个UNIX系统来说非常重要,我们将从系统管理员和系统用户两个角度,讨论有关系统安全的几个常见问题。

  安全管理概要

     系统的安全管理主要分为四个方面:

     (1)防止未授权存取:这是计算机安全最重要的问题,即未被授权使用系统的人进入系统。用户意识、良好的口令管理(由系统管理员和用户双方配合)、登录活动记录和报告、用户和网络活动的周期检查、这些都是防止未授权存取的关键。

     (2)防止泄密:这也是计算机安全的一个重要问题。防止已授权或未授权的用户存取相互的重要信息。文件系统查帐,su登录和报告,用户意识,加密都是防止泄密的关键。

     (3)防止用户拒绝系统的管理:这一方面的安全应由操作系统来完成。一个系统不应被一个有意试图使用过多资源的用户损害。不幸的是,UNIX不能很好地限制用户对资源的使用,一个用户能够使用文件系统的整个磁盘空间,而UNIX基本不能阻止用户这样做。系统管理员最好用PS命令,记帐程序df和du 周期地检查系统。查出过多占用CUP的进程和大量占用磁盘的文件。

     (4)防止丢失系统的完整性:这一安全方面与一个好系统管理员的实际工作(例如:周期地备份文件系统,系统崩溃后运行fsck检查,修复文件系统,当有新用户时,检测该用户是否可能使系统崩溃的软件)和保持一个可靠的操作系统有关(即用户不能经常性地使系统崩溃)。

  安全检查

  像find这样的程序称为检查程序,它们搜索文件系统,寻找出SUID/ SGID文件,设备文件,任何人可写的系统文件,设有口令的登录用户,具有相同UID /GID的用户等等。

  记帐

     UNIX记帐软件包可用作安全检查工具,除最后登录时间的记录外,记帐系统还能保存全天运行的所有进程的完整记录,对于一个进程所存贮的信息包括UID,命令名,进程开始执行与结束的时间,CPU时间和实际消耗的时间,该进程是否是root进程,这将有助于系统管理员了解系统中的用户在干什么。

  acctcom 命令可以列出一天的帐目表。系统中有多个记帐数据文件,记帐信息保存在文件pacct*中,pacct是当前记录文件,/usr/adm/pacctn 是以前的记帐文件(n为整型数)。若有若干个记帐文件要查看,可在acctcom命令中指定文件名。pacct 要检查的其中一个问题是:在acctcom的输出中查找一个用户过多的登录过程,若有,则说明可能有人一遍遍地尝试登录,猜测口令,企图非法进入系统。此外,还应查看root进程,除了系统管理员用su命令从终端进入root,系统启动,系统停止时间,以及由init(通常init只启动getty,login,登录shell),cron启动的进程和具有root SUID许可的命令外,不应当有任何root进程。由记帐系统也可获得有关每个用户的CPU利用率,运行的进程数等统计数据。

  其它检查命令

     *du:报告在层次目录结构(当前工作目录或指定目录起)中各目录占用的磁盘块数,可用于检查用户对文件系统的使用情况。

     *df:报告整个文件系统当前的空间使用情况,可用于合理调整磁盘空间的使用和管理。

     *ps:检查当前系统中正在运行的所有进程。对于用了大量CPU时间的进程,同时运行了许多进程的用户,运行了很长时间但用了很少CPU时间的用户进程应当深入检查。还可以查出运行了一个无限制循环的后台进程的用户,未注销户头就关终端的用户(一般发生在直接连线的终端)。

     *who:可以告诉系统管理员系统中工作的进展情况等等许多信息,检查用户的登录时间,登录终端。

     *su:每当用户试图使用su命令进入系统用户时,命令将在sulog文件中写一条信息,若该文件记录了大量试图用su进入root的无效操作信息,则表明了可能有人企图破译root口令。

     *login:在一些系统中,login程序记录了无效的登录企图。每天总有少量的无效登录,若无效登录的次数突然增加了两倍,则表明可能有人企图通过猜测登录名和口令,非法进入系统。

  这里最重要的一点是:系统管理员越熟悉自己的用户和用户的工作习惯,就越能快速发现系统中任何不寻常的事件,而不寻常的事件很可能意味着系统已被人窃密。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

IBM
IBM

相关推荐