发新话题
打印

[转载]监视你的Solaris主机

[转载]监视你的Solaris主机

文章作者:Yiming Gong
信息来源:
http://security.zz.ha.cn

监视你的Solaris主机

随着我国互联网产业不断升温,越来越多的网站为了提高网络性能采用了使用Unix系统的服务器,这其中,Solaris作为商业化程度较高的一种Unix操作系统占据了恐怕半数以上还多的市场,纵观这些网站,防黑大多是借助防火墙之类的外在解决方案,但它们毕竟只能完成一些特定的功能。其实,一个系统管理员可以从软件上做很多安全工作,同时,几乎所有优秀的安全软件都是free的。
对系统管理员来讲,当发现自己的系统有异常时,一般都会先用w或who,last等命令来看当前及近期除了自己之外的活动用户。当然,借助这些命令对管理员有一定的帮助,但管理员应该记住: 当你的系统表现有其它用户侵入迹象时,不要完全相信who,w, last等命令所告诉你的结果!也许此刻管理员用who看到系统中只有他自己,但实际并不一定!入侵者使用诸如zap之类的软件来擦除当前活动用户是易如反掌的。你看不到他,但他存在!
另一方面,一个网络来自内部的攻击是极其难以预防的,当在主机上拥有一个合法账号的用户打算成为一个潜在的黑客时,管理员单纯凭借Solaris所提供的相关命令是无法具体的掌握这个用户的活动细节的。对管理员而言,他所能捕捉到的可疑用户的行为少的可怜。
对付入门级别的入侵者,管理员需要TTYwatcher。

什么是TTYwatcher,它的功能
TTYwatcher本身并不出名,但自从它诞生以来,就做为一个入门级的管理工具一直在亦正亦邪的系统管理员手中流传,这个软件设计的目的是实时观察在管理员的Solaris系统上活动的用户的行为。无论用户是来自本地还是来自远程登录, TTYwatcher都会对他们实时跟踪监测,注意"跟踪"这个概念,它的意思是只要用户从管理员所在主机出发,或只是路过管理员所在主机,无论用户登录到其它任何主机,用户的所有行为都会被跟踪纪录,直到用户中断连接。
目前的TTYwatcher有4项功能。
1:捕捉用户的行为, 捕捉用户在系统上所敲击的每一个键(现1.1b版本尚不能捕捉shift,control等特殊功能键)
2:中断用户连接,TTYwatcher可以强行中断用户的连接。
3:夺取用户控制权及交还用户控制权, TTYwatcher可以打断,交还用户的正常操作
4:向用户发送消息

TTYwatcher的安装
首先我们可以从可信站点下载这个软件,如http://security.zz.ha.cn/soft/ttywatcher-1.2.tar.gz/,目前最高的版本是1.2,下载下来的是个gz格式的压缩包,我们假定系统已安装了gzip,gcc,make等必要工具,(如果系统尚未安装这些必备的编译工具,可在sunfreeware.com下载,这里就不介绍了) 那么如下操作即可:
a:su -root成为超级用户
b:gzip -d ttywatcher-1.1beta1.tar.gz
c:tar xvf ttywatcher-1.1beta1.tar 生成TTYwatcher目录
d:进入TTYwatcher,执行make -f Makefile.Solaris
e:进入TTYwatcher的子目录twtch,执行make -f Makefile.Solaris
f:上一步编译完成后,执行./install_driver,通过这个程序,将tty的驱动安装入系统内核中。至此TTYwatcher安装完毕。
为了顺利执行TTYwatcher,我们还需要设置LD_LIBRARY的路径,假如在c shell 环境下,执行setenv LD_LIBRARY_PATH /usr/openwin/lib即可。如果是在sh下,则分步执行
LD_LIBRARY_PATH=/usr/openwin/lib
export LD_LIBRARY_PATH即可,为方便使用,建议编辑相应。cshrc等变量文件,将上述设置加入。

TTYwatcher的使用
TTYwatcher的使用是很简单的,我们可以先看一看这个软件的执行界面图1。

这个界面很简洁,我们可以很容易的的看到目前有三个用户在自己的主机上,分别是:root, yiming, cys,他们是活动的,在这个界面右角,有一个kill all sessions,点击它可以将所有用户从系统中杀掉,我们现在不需要这个,还是来看看用户yiming在做什么吧,点击用户yiming,会弹出如图2所示界面:

我们一项一项的来说明,占这个界面最大部分的是一个白底的屏幕,从上图很容易的可以看出来,这里面的内容是用户yiming所看到的界面的一个"复制",通过这个界面,管理员可以轻松的看到用户yiming的所有操作,及操作产生的结果,而且屏幕的内容是实时刷新的。我们可以看到这个用户当前正在做df - k 命令。在这个屏幕的下方,可以看到用~符号分隔的命令,它们是被监测用户所执行的命令,在这个例子中,我们可以注意到有如下三个分隔段,telnet secu.Unix.com, yiming, gogogo,相信聪明的读者可以猜出来,用户先是远程登录另外一台主机secu.Unix.com,然后他输入了用户名yiming,紧跟着是这个用户的密码gogogo!,我们得到了这个用户在另外一台主机上的密码!
在命令行之下:我们可以看到user messages:这里是向用户发消息的地方,在这里填写向用户所发的消息,再点击位于界面右侧的send message按钮,用户就会在用户执行命令的当前位置看到来自管理员的消息。
在user messages下,有save session和filename组合,利用它们可以实现对被监视用户所做的纪录,方便日后调用,在filename后输入预保存的文件名,点save session后的yes即可。
除此之外,还用两项功能,在界面右侧的上方Terminate键可以强行终止用户的telnet,把正在工作的用户踢掉。 界面右侧下方的User's TTY的Stolen可以切断系统对用户的命令响应, Normal则可以恢复用户对系统的控制。

以上是对TTYwatcher使用的一个简单介绍,有兴趣的管理员可以做一个尝试,你会发现,它的使用比你想象的简单。J
TTYwatcher也有自身的缺陷,如监视远程用户时,只能监视telnet,无法对远程ftp,rlogin。rsh等监测。而rlogin,rsh等亦是入侵者常用的手段,这时可以借助tcpdump,ethereal之类的网络分析软件了,我们以后接着介绍。

人情如冰六月寒,花做一份艳,为谁笑人间? 如果任何人发现我转载的有图像的文章中图像失效或者文章有问题,请及时短消息通知我。先谢谢。::)) coup de foudre

TOP

发新话题