因为unix系统经常承当着关键任务,所以它经常是入侵者攻击的首选目标。于是检测入侵、保护系统安全是管理员的最为重要的任务之一。那么,在没有其它工具帮助的情况下,如何去判断系统当前的安全性?如何去发现入侵呢?下面给大家介绍一些常用到的检查方法 q#_<J1)z
uWDWf5@
以linux和solaris为例: 4`zK`bRcK#
}CGA)yK~3
1、检查系统密码文件 PfjD!=yS=h
H84Zg/ ^
首先从明显的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。 f~P~%
34c+70x7
输入命令 .
ytxe!O
K)N'~jCG
S=_*<[W%4
awk –f:’$3==0 {print $1}’ /etc/passwd -jWXE
kHz?vVE/l
BG^)?_69
Dj9ecV`
来检查一下passwd文件中有哪些特权用户,系统中uid为0的用户都会被显示出来。顺便再检查一下系统里有没有空口令帐户: EV[ BB;eb
%v)+]Ds{
awk –f: ‘length($2)==0 {print $1}’ /etc/shadow Zt
;u8O
Vu5Djx'
2、查看一下进程,看看有没有奇怪的进程 F#KUu3;B
r<OqI*7
重点查看进程:ps –aef | grep inetd。inetd是unix系统的守护进程,正常的inetd的pid都比较靠前,如果你看到输出了一个类似inetd –s /tmp/.xxx之类的进程,着重看inetd –s后面的内容。在正常情况下,linux系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中也仅仅是inetd –s,同样没有用inetd去启动某个特定的文件;如果你使用ps命令看到inetd启动了某个文件,而你自己又没有用inetd启动这个文件,那就说明已经有人入侵了你的系统,并且以root权限起了一个简单的后门。 vn1*D-?
r,Tq";N'
输入ps –aef 查看输出信息,尤其注意有没有以./xxx开头的进程。一旦发现异样的进程,经检查为入侵者留下的后门程序,立即运行kill –9 pid 开杀死该进程,然后再运行ps –aef查看该进程是否被杀死;一旦此类进程出现杀死以后又重新启动的现象,则证明系统被人放置了自动启动程序的脚本。这个时候要进行仔细查找:find / -name 程序名 –print,假设系统真的被入侵者放置了后门,根据找到的程序所在的目录,unix下隐藏进程有的时候通过替换ps文件来做,检测这种方法涉及到检查文件完整性,一会我们再讨论这种方法。接下来根据找到入侵者在服务器上的文件目录,一步一步进行追踪。 h pKrP
<V1y^EW0
3、检查系统守护进程 yF@72tK
/WMJ#IE
检查/etc/inetd.conf文件,输入: V\*J"ZP&
P X>>h}%
G]RFGwGt
cat /etc/inetd.conf | grep –v “^#” -7u_ \XFk
yW@YW_2;4
@S)p{T5G
#3}!Q0
输出的信息就是你这台机器所开启的远程服务。一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。 -'rb+<v
4、检查网络连接和监听端口 t*wV<b
Q5 =
输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。 [PH56f
`N;O6
wZ
输入netstat –rn,查看本机的路由、网关设置是否正确。 }e-D&