|
通过综合采用用户级别的top、ps等系统工具以及Linux内核防护技术,我们可以从用户/内核两个层次全方位地保护Linux系统中重要系统进程以及用户进程的安全性。
经典的信息保密性安全模型Bell-LaPadula模型指出,进程是整个计算机系统的一个主体,它需要通过一定的安全等级来对客体发生作用。进程在一定条件下可以对诸如文件、数据库等客体进行操作。如果进程用作其他不法用途,将给系统带来重大危害。在现实生活当中,许多网络黑客都是通过种植“木马”的办法来达到破坏计算机系统和入侵的目的,而这些“木马”程序无一例外的是需要通过进程这一方式在机器上运行才能发挥作用的。另外,许多破坏程序和攻击手段都需要通过破坏目标计算机系统的合法进程尤其是重要系统进程,使得系统不能完成正常的工作甚至无法工作,从而达到摧毁目标计算机系统的目的。作为服务器中占绝大多数市场份额的Linux系统,要切实保证计算机系统的安全,我们必须对其进程进行监控和保护。
用户级进程监控工具
Linux系统提供了who、w、ps和top等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保Linux系统的安全。它们是目前在Linux下最常见的进程状况查看工具,它们是随Linux套件发行的,安装好系统之后,用户就可以使用。
1、who命令:该命令主要用于查看当前在线上的用户情况。系统管理员可以使用who命令监视每个登录的用户此时此刻的所作所为。
2、w命令:该命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,w命令是who命令的一个增强版。
3、ps命令:该命令是最基本同时也是非常强大的进程查看命令。利用它可以确定有哪些进程正在运行及运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。ps命令可以监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,如果需要检测其情况,可以使用ps命令。
4、top命令:top命令和ps命令的基本作用是相同的,显示系统当前的进程及其状态,但是top是一个动态显示过程,可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确地说,top命令提供了实时的对系统处理器的状态监视。它可以显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用和执行时间对任务进行排序,而且它的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
需重点监控的一些进程
由上面的介绍可知,Linux提供的这些命令都能提供关于进程的一些信息,可以通过它们查看系统当前的进程状况,也可以找出那些占用了过多系统资源的进程并结束该进程。它们的优点在于速度快,透明性好,直观明了。下表给出了Linux系统中较为常见的重要的进程(没有完全列出,用户可以参考相应的资料),用户可以采用上述工具来实时的监测这些重要进程的情况,并采取相应的防护措施。
系统调用存在缺点
我们上述所介绍的进程监控方法和工具都是基于调用操作系统给我们提供的相应的API接口函数或者系统调用来实现的。我们所得到的只是接口函数处理后的结果,不能够主动地从操作系统内核的进程数据结构当中获取我们需要的信息。因而,它们具有如下缺点:
1、传统的进程监控方法运行效率比较低,同时反应时间也比较长,实时性能差。
2、不能够实时、高效地向用户报告当前系统运行的安全状况,就算系统中有不法进程在运行,系统也不能识别出来。
3、不能给用户捕捉不法进程的行为提供证据和进程的活动轨迹。当一个不法进程运行并对系统产生破坏时,用户即使通过察看进程列表找到了不合法的进程,也不清楚到底从进程开始运行直到捕捉到这样一个不法进程这样一段时间内,进程都对系统造成了哪些破坏,比如说,访问、修改了哪些重要的系统文件,占用了哪些系统资源等等。这些都给以后的恢复和处理工作带来了很大的问题。 |
|
【收藏】【打印】【进入论坛】 |
|
|
|
|
|
|
|