荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (我命由我不由天), 信区: Hacker
标  题: TCP WRAPPER
发信站: BBS 荔园晨风站 (Sun May 23 13:55:01 1999), 转信

TCP WRAPPER                     序言:   这里介绍一个监控网络流量的简单工
具.它被成功的用来检测破坏者的活
动并给你的网络带上一个防护罩.并且它对于合法的用户来讲是没有影响的,也不需
要你对于现有的系统软件和配置文件进行修改.这个工具已经安装在世界范围内的
许多unix系统上.1.我们的烦恼     故事发生在两年前。我们的大学受到一个一次
有一次的试图得到root权限
的破坏者的攻击,系统受到严重的破坏,他所做的一切又是那么讨厌:他很熟练的键入
下面的命令:    rm -fr /
        对于那些没有unix经验的用户来说,这个命令,在具有足够的权限时(比如
说拥有root权限),就象是MS-DOS下的"format"命令.正常情况下,这造成的毁坏可以
由平时系统在磁带机的备份来修复,但仍然要浪费大量的工作成果.
        虽然我们对于破坏者的的身份十分了解,但是我们不能揭漏他的名字,而只
能赠他一个外号:"我们的烦恼".2.破坏者在看着我们
        破坏者的毁坏行为使得下一步会出现什么问题很难预料:"rm -fr"删除掉了
所有有效的系统跟踪记录.在一个深夜,我注意到这个破坏者正在网络上窥视着我
们.他是通过经常的通过"finger"来作这件事的.命令返回的就是我们的一些信息,向
这样的一些命令却即不需要非常高的权限,又不会留下什么日志文件信息.
        在此情况下,人们自然而然的反应就是关掉系统的这些服务.但是,我还是避
免这样做,以免打草惊蛇而使我试图发现她来头的工作半途而费了。
3.一个典型的unix tcp/ip的实现   为了解释问题和解决方法我先大概的介绍一下
典型的的unix tcp/ip的实现.
真正的专家们会原谅我对此如此简略的概述的.       几乎每一个tcp/ip程序都是
基于客户/服务器模型的.通常一方运行一个守护
进程来等待客户端来发起连接.当一个连接被建立起来,服务器端会执行相应的任务,
然后又会回去等待新的连接.4."TCP WRAPPER"技术
        回到以前的问题:如何得到那个破坏者的主机名呢?乍一看,好象好改变系统
现有存在的软件,然而,这会有一些问题:
                                            -----
              -----------------   (ftp)-----| i |
        user--| telnet client |---(telnet)--| n |
              -----------------     .       | e |
                                    .       | t |
                                  (finger)--| d |
                                            -----
图1
        inetd守护进程替ftp、telnet等处理监听,然后启动相应的程序,把它交
给ftpd、telnetd等来处理。下图显示一个用户连接在telnet端口上。
               -----------------    -----------------   ---------
        user---| telnet client |----| telnet server |---| login |
               -----------------    -----------------   ---------
               图2
        图二中,inetd进程启动了一个telnet服务,使用户连向login进程,与此同
时,inetd又开始等待其他的连接。
        幸运的是,有一个不需要改变现存软件的简单方法,他能很好的在各种uni
x系统中实现。这个技术是:将网络服务程序放在一边,在此程序所在的位置上安装

个小的程序,无论何时发现有连接进入,这个小程序将记录远程的机器名,然后才
运行原先的服务程序。如下图:
          -----------------   ---------------
    user--| telnet client |---| tcp wrapper |--->logfile
          -----------------   ---------------
                        图3 原来的telnet服务程序被挪到其他地方,tcp wrappe
r      代替了它的位置。tcp wrapper把远程主机的名字记录在文件中.
          -----------------   -----------------   ---------
    user--| telnet client |---| telnet server |---| login |
          -----------------   -----------------   ---------
                        图4 tcp wrapper启动真正的telnet服务进程,然后退出
,用    户感觉不到有什么不同。
        第一个tcp wrapper版本只是简单的几行代码,因为它不和客户和服务进程
交换什么信息,因此可以用在多种网络服务上。虽然我当时只是简单的把它装在系统
上,
可是却立刻显出了成效。          破坏者经常用finger和systat命令来嗅探我们
的信息,从一系列的由tcp wrapper
记录下来的日志文件中可以辨认出那些是破坏者的行为,他是有规律可查的:.他经
常在晚间活动。
.他经常在我们系统的机器中连来连去以试图隐藏他的踪迹,但是,从一些系统中凑
起来 的日志信息可以容易地辨认出他。.除过他,没有别人再利用systat服务。
5.观察破坏者    单单知道破坏者从那里来还不够,我们还要确定是谁从那里来,
他使用的是什么
帐号。在以后的日子里,一旦发现有不寻常的现象发生,我们立即向这些连向我们
机器的
主机发送finger和systat命令,就如同他所使用的手法一样,确定当时谁在那个远
程机器
上,他们分别在干什么。这项功能可以与tcp wrapper放在一块,tcp wrapper来记
录,它来检测可疑连接并获取对方的信息.
        可以预想,作者靠此办法并与其他系统的管理员协同抓住了破坏者。
--



日出东方,唯我不败;
    天上地下,唯我独尊。

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.143]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店