Linux环境下发现并阻止系统攻击( 三 )


时运行程序 。当然,现在有很多功能完善的文本模式或图形模式的log文件分析器,自动发现危险的攻击
迹象,然后象管理者发送信件 。在http://www.freshmeat.net/ tucows等可以找到很多这样的工具 。

从攻击者的观点而言,他们对你的你服务器上的安全文件最感兴趣 。若你关闭外部网络对你的服务器
的访问 。你可能会遇到这样的情况:


[root@linux /]#grep refused /var/log/secure*

Sep 12 07:52:42 netgate in.rlogind[7138]: refused
connect from 2??.?.5?.?42
Sep 12 07:52:52 netgate in.rshd[7139]: refused
connect from 2??.?.5?.?42
Sep 12 07:52:55 netgate in.rexecd[7144]: refused
connect from 2??.?.5?.?42
Sep 12 07:52:59 netgate imapd[7146]: refused connect
from 2??.?.5?.42
Sep 12 07:52:59 netgate in.fingerd[7142]: refused
connect from 2??.?.5?.?42
Sep 12 07:53:00 netgate ipop3d[7143]: refused
connect from 2??.?.5?.?42
Sep 12 07:53:07 netgate in.ftpd[7147]: refused
connect from 2??.?.5?.?42
Sep 12 07:53:10 netgate gn[7145]: refused connect
from 2??.?.5?.?42
Sep 12 07:53:22 netgate in.telnetd[7149]: refused
connect from 2??.?.5?.?42
Sep 12 07:56:34 netgate imapd[7150]: refused connect
from 2??.?.5?.?42


正如你看到的那样,攻击者已经试图连接服务器上的若干个端口 。但是由于服务器关闭了inetd启动的
所有服务,所以LOG系统记录下了这些访问拒绝 。若在你的机器中没有发现这样的服务拒绝并不能说明你的机
器没有被攻击 。maillog文件将保存那些通过服务器被转发的email信息 。xferlog保存ftp的log信息等等 。

若你希望查看wtmp,你可以使用last命令

# last | more fishduck ttyp6 nexus Tue Sep 28 16:03 still logged in birdrat ttyp5 speedy Tue Sep 28 15:57 still logged in root tty1 Tue Sep 28 12:54 still logged in 将显示谁什么时候登陆进来,登陆了多长时间等信息 。通过查看你可以发现非法登陆者信息 。你也可以查看以前的wtmp文件如wtmp.1,你可以用命令: # last -f /var/log/wtmp.1 | more 但是你还需要注意你的log文件的状态信息,如果它特别小 或者大小为0 则说明可能有攻击者进入系统,并 且修改了这个文件 。为了防止任何用户修改某些文件,如对log文件只允许添加,而不允许删除操作等等: 可以通过使用Linux Intrusion Detection System可以防止攻击者修改LOG文件password 文件等 。该工具 可以在启动lilo时来决定是否允许对某些特定文件的修改 。该工具的详细信息可以通过访问 www.soaring-bird.com.cn/oss_proj/lids/index.html获得 。系统的所有进程的祖父进程被成称为"init",其进程ID号是1 。你可以通过下面的命令,看到init进程信息 。# ps ax | grep init 1 ? S 6:03 init 系统在启动时的init进程将会启动"inetd"进程,正如前面提到的该进程实现监听网络请求,监听是通过网 络端口号来实现的 。例如你telnet到你的linux服务器上时,实际上你上请求inetd进程启动进程in.telnetd进 程在23端口来处理你的访问请求实现通信 。随后,in.telnetd进程启动一个询问你的用户名和密码的进程,然后你 就登陆到机器了 。inetd同时监听很多端口来等待访问请求,然后激活完成相关服务的程序 。你可 以通过查看文件/etc/services来看哪个服务使用哪个端口 。从节省资源角度来说,利用一个进程而不是每 种服务对应一个进程是有意义的 。当一个攻击者第一次访问你的站点时,他们往往使用成为端口扫描仪的工具,通过该工具攻击者来查看 你开放了那些系统服务 。LInux上比较出名的一个端口扫描仪是nmap. 可以从http://www.insecure.org/nmap/index.html下载得到该软件,最新的版本甚至有一个图形化 界面nmapfe 。下面我们就运行nmap看可以得到什么结果: 选项"-sS",指使用TCP SYN, 也就是半连接half-pen扫描, "-O",只同时探测被扫描系统的操作系统o 。(利用OS指纹的技术,可以参见http://www.isbase.com/book/showQueryL.asp?libID=271)攻击者知道了 对方使用的何种操作系统就可以有针对性的寻找该操作系统的常见漏洞

推荐阅读