⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何追踪入侵者.txt

📁 当今
💻 TXT
📖 第 1 页 / 共 2 页
字号:
发信人: aeroboy (为人民服务), 信区: security 

标  题: 如何追踪入侵者 

发信站: 北大 (Tue Mar 28 23:35:40 2000), 转信 

  

作者:黄力尧 

  入侵者的追踪(Intruder Tracing) 

  在区域网路上可能你听过所谓「广播模式」的资料发送方法,此种方 

法不指定收信站,只要和此网路连结的所有网路设备皆为收信对象。但是 

这仅仅在区域网路上能够实行,因为区域网路上的机器不多(和Internet比 

起来)。如果想是Internet上有数千万的主机,根本就不可能实施资料广播( 

至於IP Multicast算是一种限定式广播Restricted Broadcast,唯有被指 

定的机器会收到,Internet上其他电脑还是不会收到)。假设Internet上可 

以实施非限定广播,那随便一个人发出广播讯息,全世界的电脑皆受其影 

响,岂不世界大乱?因此,任何区域网路内的路由器或是类似网路设备都 

不会将自己区域网路内的广播讯息转送出去。万一在WAN Port收到广播讯 

息,也不会转进自己的LAN Port中。 

  而既然网路皆有发信站与收信站,用以标示资讯发送者与资讯接收者, 

除非对方使用一些特殊的封包封装方式或是使用防火墙对外连线,那麽只 

要有人和你的主机进行通讯(寄信或是telnet、ftp过来都算)你就应该会知 

道对方的位址,如果对方用了防火墙来和你通讯,你最少也能够知道防火 

墙的位址。也正因为只要有人和你连线,你就能知道对方的位址,那麽要 

不要知道对方位址只是要做不做的问题而已。如果对方是透过一台UNIX主 

机和你连线,则你更可以透过ident查到是谁和你连线的(ident在元月号专 

栏已经有作过讲解,不再赘述)。 

  在实行TCP/IP通讯协定的电脑上,通常可以用netstat指令来看到目前 

连线的状况。(各位读者可以在win95、Novell以及UNIX试试看(注一)),在 

下面的连线状况中,netstat指令是在win95上实行的,可以看到目前自己 

机器(Local Address处)的telnetport有一台主机workstation.variox.int 

由远端(Foreign Address处)连线进来并且配到1029号tcpport.而ccunix1 

主机也以ftpport连到workstation.variox.int去。所有的连线状况看得一 

清二楚。(如A、B)A.在UNIX主机(ccunix1.variox.int)看netstatB.另一端 

在Windows 95(workstation.variox.int)看netstat虽然是不同的作业系统, 

但netstat是不是长得很像呢? 

   

  通信过程的纪录设定 

  当然,如果你想要把网路连线纪录给记录下来,你可以用crontable定 

时去跑: 

  netstat>>filename 

  但是UNIX系统早已考虑到这一个需求,因此在系统中有一个专职记录 

系统事件的Daemon:syslogd,应该有很多读者都知道在UNIX系统的/var/adm 

下面有两个系统纪录档案:syslog与messages,一个是一般系统的纪录, 

一个是核心的纪录。但是这两个档案是从哪边来的,又要如何设定呢?系 

统的纪录基本上都是由syslogd(SystemKernelLogDaemon)来产生,而syslogd 

的控制是由/etc/syslog.conf来做的。syslog.conf以两个栏位来决定要记 

录哪些东西,以及记录到哪边去。下面是一个Linux系统所附上的syslog.conf 

档案,这也是一个最标准的syslog.conf写法: 

  格式就是这样子,第一栏写「在什麽情况下」以及「什麽程度」。然 

後用TAB键跳下一栏继续写「符合条件以後要做什麽」。这个syslog.conf 

档案的作者很诚实,告诉你只能用TAB来作各栏位之间的分隔(虽然看来好 

像他也不知道为什麽)。 

  第一栏包含了何种情况与程度,中间小数点分隔。另外,星号就代表 

了某一细项中的所有选项。详细的设定方式如下: 

  1.在什麽情况:各种不同的情况以下面的字串来决定。 

   

  auth    关於系统安全与使用者认证方面 

  cron    关於系统自动排程执行(CronTable)方面 

  daemon    关於背景执行程式方面 

  kern    关於系统核心方面 

  lpr    关於印表机方面 

  mail    关於电子邮件方面 

  news    关於新闻讨论区方面 

  syslog    关於系统纪录本身方面 

  user    关於使用者方面 

  uucp    关於UNIX互拷(UUCP)方面 

  上面是大部份的UNIX系统都会有的情况,而有些UNIX系统可能会再分 

出不同的项目出来。 

  2.什麽程度才记录:下面是各种不同的系统状况程度,依照轻重缓急 

排列。 

  none    不要记录这一项 

  debug    程式或系统本身除错讯息 

  info    一般性资讯 

  notice    提醒注意性 

  err    发生错误 

  warning    警告性 

  crit    较严重的警告 

  alert    再严重一点的警告 

  emerg    已经非常严重了 

  同样地,各种UNIX系统可能会有不同的程度表示方式。有些系统是不 

另外区分crit与alert的差别,也有的系统会有更多种类的程度变化。在记 

录时,syslogd会自动将你所设定程度以及其上的都一并记录下来。例如若 

你要系统去记录info等级的事件,则notice、err.warning、crit、alert、emerg 

等在info等级以上的也会一并被记录下来。把上面所写的1、2项以小数点 

组合起来就是完整的「要记录哪些东西」的写法。例如mail.info表示关於 

电子邮件传送系统的一般性讯息。auth.emerg就是关於系统安全方面相当 

严重的讯息。lpr.none表示不要记录关於列表机的讯息(通常用在有多个纪 

录条件时组合使用)。另外有叁种特殊的符号可供应用: 

  1.星号(*) 

  星号代表某一细项中所有项目。例如mail.*表示只要有关mail的,不 

管什麽程度都要记录下来。而*.info会把所有程度为info的事件给记录下 

来。 

  2.等号(=) 

  等号表示只记录目前这一等级,其上的等级不要记录。例如刚刚的例 

子,平常写下info等级时,也会把位於info等级上面的notice、err.warning、crit、a 

lert、emerg 

等其他等级也记录下来。但若你写=info则就只有记录info这一等级了。 

  3.惊叹号(!) 

  惊叹号表示不要记录目前这一等级以及其上的等级。 

   

  记录到哪边去 

  一般的syslogd都提供下列的管道以供您记录系统发生的什麽事: 

  1.一般档案 

  这是最普遍的方式。你可以指定好档案路径与档案名称,但是必须以 

目录符号「/」开始,系统才会知道这是一个档案。例如/var/adm/maillog 

表示要记录到/var/adm下面一个称为maillog的档案。如果之前没有这个档 

案,系统会自动产生一个。 

   

  2.指定的终端机或其他设备 

  你也可以将系统纪录写到一个终端机或是设备上。若将系统纪录写到 

终端机,则目前正在使用该终端机的使用者就会直接在萤幕上看到系统讯 

息(例如/dev/console或是/dev/tty1.你可以拿一个萤幕专门来显示系统讯 

息)。若将系统纪录写到印表机,则你会有一长条印满系统纪录的纸(例如/dev/lp0) 

   

  3.指定的使用者 

  你也可以在这边列出一串使用者名称,则这些使用者如果正好上线的 

话,就会在他的终端机上看到系统讯息(例如root,注意写的时候在使用者 

名称前面不要再加上其他的字)。 

   

  4.指定的远端主机 

  这种写法不将系统讯息记录在连接本地机器上,而记录在其他主机上 

。有些情况系统碰到的是硬碟错误,或是万一有人把主机推倒,硬碟摔坏 

了,那你要到哪边去拿系统纪录来看呢?而网路卡只要你不把它折断,应 

该是比硬碟机耐摔得多了。因此,如果你觉得某些情况下可能纪录没办法 

存进硬碟里,你可以把系统纪录丢到其他的主机上。如果你要这样做,你 

可以写下主机名称,然後在主机名称前面加上「@」符号(例如@ccunix1.variox.int, 

但被你指定的主机上必须要有syslogd)。在以上各种纪录方式中,都没有 

电子邮件这项。因为电子信件要等收件者去收信才看得到,有些情况可能 

是很紧急的,没办法等你去拿信来看(BSD的Manual Page写着「when you got 

mail,it’s already too late...」:-P)。以上就是syslog各项纪录程度 

以及纪录方式的写法,各位读者可以依照自己的需求记录下自己所需要的 

内容。但是这些纪录都是一直堆上去的,除非您将档案自行删除掉,否则 

这些档案就会越来越大。有的人可能会在syslogd.conf里面写:*.*/var/log/everythi 

ng 

  要是这样的话,当然所有的情况都被你记录下来了。但是如果真的系 

统出事了,你可能要从好几十MB甚至几百MB的文字中找出到底是哪边出问 

题,这样可能对你一点帮助都没有。因此,以下两点可以帮助你快速找到 

重要的纪录内容: 

  1.定期检查纪录 

  养成每周(或是更短的时间,如果你有空的话)看一次纪录档的习惯。 

如果有需要将旧的纪录档备份,可以cploglog.1,cploglog.2...或是cploglog.971013, 

cploglog.980101... 

等,将过期的纪录档依照流水号或是日期存起来,未来考察时也比较容易 

  2.只记录有用的东西 

  千万不要像前面的例子一样,记录下*.*然後放在一个档案中。这样的 

结果会导致档案太大,要找资料时根本无法马上找出来。有人在记录网路 

通讯时,连谁去ping他的主机都记录。除非是系统已经遭到很大的威胁, 

没事就有人喜欢尝试进入你的系统,否则这种鸡毛蒜皮的小事可以不用记 

录。可以提升些许系统效率以及降低磁碟用量(当然也节省你的时间)。 

   

  地理位置的追踪 

  地理位置的追踪如何查出入侵者的地理位置?光看IP Address可能看 

不出来,但是你常看的话,会发现140.xxx的很多都是台湾学术网路的主机, 

而168.95.xxx.xxx的一定是HiNet的主机(168.95.0为HiNet Class B网路) 

。在固接式的网路环境中,入侵者一定和网路提供单位有着密切的关系。 

因为假设是区域网路,那麽距离绝对不出几公里。就算是拨接好了,也很 

少人会花大笔钱去拨外县市甚至国外的拨接伺服器。因此,只要查出连线 

的单位,入侵者必然离连线单位不远。 

  拨接式的网路就比较令人头疼了。以前笔者申请HiNet的hntp2.hinet.net 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -