当前位置:Linux教程 - Linux - 侦测系统入侵事项

侦测系统入侵事项



        
    这篇文章提供对系统入侵检测的建议做法,以下共分十点:

    1. 检视连线记录档中是否有不寻常的来源位置或不寻常的操作动作。例如, 检查你最後
    的登录时间, 程序的执行记录以及syslog所做的记录。除非你的记录档写在只能新
    增资料(append-only)的边上, 不然这些动作不可忽略。许多的入侵者会修改记录档
    来隐藏他们的行踪。

    2.找出系统中所有setuid及setgid的档案(特别是setuid成root的档案)。入侵者经常喜欢留
    下setuid root的/bin/sh或/bin/time, 如此当他以後再登入时便能轻易拥有root的权
    限。在
    UNIX系统中, find这个指令可以帮我们找出setuid及setgid的档案。你可以使用以下命
    令来找出整个档案系统中所有setuid root和setgid kmem的档案
    find / -user root -perm -4000 -print
    find / -group kmem -perm -2000 -print

    上列的例子会搜寻整个档案系统, 包括NFS及AFS。有些find命令支援一个”-xdev”的参
    数,可用来避免搜寻非本机的档案系统, 如下所示:
    find / -user root -perm -4000 -print -xdev
    另外我们也可以用ncheck找出某一磁碟分割区中所有setuid的档案。例如我们可以使用
    下列的命令, 找出分割区/dev/rsd0g中所有的setuid档案:
    ncheck -s /dev/rsd0g

    3.检查你系统的执行档看看它们是否被修改了。入侵者会修改UNIX系统的程式, 如login、
    su、telnet、netstat、ifconfig、ls、find、du、df、libc、sync、任何在
    /etc/inet.conf
    记载的程式及其它重要的网路及系统程式和分享资源的程式库。用未经修改的备份来和你
    目前的系统做比较, 例如你可以用系统安装片里的资料来比较。要特别小心挑选你拿来做
    比较的备份,不注意的话它可能本身就含有木马程式。

    4.检查你系统中是否有正在执行网路监听程式(sniffer)。入侵者可能透过监听程式取得使
    用者帐号及密码。相关的讯息请参阅CERT advisory CA-94:01,网址:
    http://www.cert.org/advisories/CA-94.01.ongoing.network.monitoring.attacks.html

    5.检查系统中所有由”cron”和”at”所执行的程式。入侵者可能会留下後门并由”cron”

    ”at”来执行它。即使你後来在别的程式做了连线位置的限定, 入侵者依旧可以透过这个
    後门回到系统中。另外, 我们也要检查那些被”cron”或”at”执行的程式属性, 要避免

    何人都能写入修改它们。

    6.检查/etc/inetd.conf的资料,注意是否有被更动,尤其是更动成执行shell程式(如
    /bin/sh,/bin/csh), 并检查各服务的对应程式是否正确,已避免被改换成木马程式。
    并检查/etc/inetd.conf的各种服务是否有原本不提供的服务被开启。另外你也须检
    查那些正常,但已被你关掉的服务,因为入侵者可能会打开原本你先前关掉的服务,或
    者是用木马程式换掉inetd程式。

    7.检查系统/etc/passwd的内容及档案属性的更动。基本上, 察看内容是否有管理者不知道
    的新帐号、没有密码的帐号或uid与其它使用者相同(特别是uid 0, root) 的帐号。

    8.检查你的系统与网路设定档。基本上,检查/etc/hosts.equiv,/etc/hosts.lpd,和所有
    .rhosts档案, 看看是否有”+”(加号)或不应存在的host存在档案中。并且不可让任何人
    都可以写入这些档案。再者,确定这些档案不是被入侵者所创造的。

    9.找出系统不寻常或隐藏的档案(档名以”.”开头或是只用”ls”看不到的档案),这些有可

    是用来隐藏工具或资料用的。要在使用者目录底下放一个隐藏目录, 通常使用较奇特的档
    名, 如”…” 或”.. “(点、点、空白)或者”..^G”(^G是control-G). 要如何找出这
    些档
    呢? 我们可以再使用”find”来帮我们找出这些档案, 如下:
    find / -name ".. " -print -xdev
    find / -name ".*" -print -xdev | cat -v

    10.当你要检查机器是否被入侵, 你必须检查所有区域网路上的机器。大部分的情形是, 假
    如一台机器被入侵了,很可能同一网段的其它机器也被入侵了。特别是当你使用NIS或
    是使用了/etc/hosts.equiv或.rhosts这些设定档。
    发布人:netbull 来自:永远的Unix