網路防禦系列

如何利用UNIX 系統追蹤黑客(INTRUDER TRACING)

標籤: ,

  黑客的入侵會造成數據的丟失﹐系統的損壞﹐以及經濟的損失等等。同時﹐跟蹤黑客使你能對信息的流失採取適當的方法彌補。那麼﹐如何追蹤黑客呢﹖只要有人和你的主機進行通訊(寄信或是telnet﹐ftp) 你就會知道對方的位址。如果對方是通過UNIX主機和你連線,可以透過「ident」命令查到是誰和你連線的。在實行TCP/IP通訊協定的電腦上,通常可以用「netstat」命令來看到目前連線的狀況。

**記錄系統的網路活動。

  UNIX 系統的/var/adm下面有兩個系統記錄檔案:syslog與messages,一個是一般系統的記錄,一個是核心的記錄。

  系統的記錄基本上都是由syslogd (System Kernel LogDaemon)來產生,而syslogd的控制是由 /etc/syslog.conf來做的。syslog.conf以兩個欄位來決定要記錄哪些東西,以及記錄到哪邊去。第一欄寫「在什麼情況下」以及「什麼程度」。然後用TAB鍵跳下一欄繼續寫「符合條件後要做什麼」。第一欄包含了何種情況與程度,中間 小數點分隔。另外,星號就代表了某一細項中的所有選項。

A) 設定「在什麼情況下」以及「什麼程度」下記錄。

  (1) 各種不同的情況以下面的字串來決定。

   auth 關於系統安全與使用者認證方面
   cron 關於系統自動排程執行(CronTable)方面
   daemon 關於背景執行程式方面
   kern 關於系統核心方面
   lpr 關於印表機方面
   mail 關於電子郵件方面
   news 關於新聞討論區方面
   syslog 關於系統記錄本身方面
   user 關於使用者方面
   uucp 關於UNIX互拷(UUCP)方面

  (2) 各種不同的系統狀況程度,依照輕重緩急排列。

   none 不要記錄這一項
   debug 程式或系統本身除錯訊息
   info 一般性資訊
   notice 提醒注意性
   err 發生錯誤
   warning 警告性
   crit 較嚴重的警告
   alert 再嚴重一點的警告
   emerg 已經非常嚴重了
  

  例如要記錄 info等級的事件,則notice﹐ err.warning﹐crit﹐alert﹐emerg等在info等級以上的也會一並被記錄下來。把上面所寫的1﹐2項以小數點組合起來就是完整的 「要記錄哪些東西」的寫法。例如mail.info表示關於電子郵件傳送系統的一般性訊息。auth.emerg就是關於系統安全方面相當嚴重的訊息。lpr.none表示不要記錄關於打印機的訊息等等。

B) 有三種特殊的符號可供應用:
  
  (1) 星號(*) 星號代表某一細項中所有項目。例如mail.*表示只要有關mail的,不管什麼程度都要記錄下來。而*.info會把所有程度為info的事件給記錄下來。

  (2) 等號(=) 等號表示只記錄目前這一等級,其上的等級不要記錄。例如上面的例子,平常寫下info等級時,也會把位於info等級上面的notice﹐ err.warning﹐crit﹐alert﹐emerg等其他等級也記錄下來。但若你寫=info則就只有記錄info這一等級了。

  (3) 驚嘆號(!) 驚嘆號表示不要記錄目前這一等級以及其上的等級。

C) 一般的syslogd都提供下列的管道以供您記錄系統發生的什麼事:

  (1) 一般檔案。指定好檔案路徑與檔案名稱,但必須以目錄符號「/」開始,系統才會知道這是一個檔案。例如﹐ /var/adm/maillog表示要記錄到/var/adm下面一個稱為maillog的檔案。如果之前沒有這個檔案 ,系統會自動產生一個。

  (2) 指定的終端機或其他設備。你也可以將系統記錄寫到一個終端機或是設備上。若將系統記錄寫到終端機,則目前正在使用該終端機的使 用者就會直接在螢幕上看到系統訊息(例如 /dev/console或是/dev/tty1.你可以拿一個螢幕專門來顯示系統訊息 )。若將系統記錄寫到打印機,則你會有一長條印滿系統記錄的紙 (例如/dev/lp0)。

  (3) 指定的使用者。你也可以在這邊列出一串使用者名稱,則這些使用者如果正好上線的話,就會在他的終端機上看到系統訊息( 例如root,注意寫的時候在使用者名稱前面不要再加上其他的字)。

  (4) 指定的遠端主機。這種寫法不將系統訊息記錄在連接本地機器上,而記錄在其他主機上。如果你覺得某些情況下可能記錄沒辦法存進硬碟里,你可以把系統記錄寫到其他的主機上。如果你要這樣做,你可以寫下主機名稱,然後在主機名稱前面加上「@」符號(例如 @ccunix1.variox.int,但被你指定的主機上必須要有syslogd)。

  注意﹐在以上各種記錄方式中,都沒有電子郵件這項。因為電子信件要等收件者去收信才看得到, 有些情況可能是很緊急的, 沒辦法等你去拿信來看。

D) 快速找到重要的記錄內容:  

  (1) 定期檢查記錄。如果有需要將舊的記錄檔備份,可以將過期的記錄檔依照流水號或是日期存起來,未來考察時也比較容易。
 
  (2) 只記錄有用的東西

**利用IP地址或Domain Name找出入侵者位置

A) IP地址的登記

  IP地址的使用必須向InterNIC登記,而Domain Name要向當地直屬的網路管理中心登記。 在Internet上的網路管理中心共有三個層級(單位性質一定為NET):

  (1) 國際等級。國際等級只有InterNIC一個,全球各國的NIC以及洲際NIC均由其管理。

  (2) 洲際等級。InterNIC並不直接管理整個Internet,其下的網路資源會再做分區。例如台灣、日本、香港等亞太地區國家,由亞太洲際網路管理中心(Asian-PacificNIC,APNIC,位於日本)來管理。

  (3) 國家等級。Domain Name後面不掛國碼的或是由InterNIC管理﹐或是由洲際的NIC管理。掛國碼的由當地國家之NIC管理,慣例是兩位國碼加上NIC就是該國NIC之名稱。例如中國的國碼為CN,則中國網路管理中心為CNNIC。但由於InterNIC位於美國,因此美國的DomainName由InterNIC直轄。另外﹐特別的例外是挂.mil的美國軍方網路的資料是由 ddn.mil(美國軍事防衛網路)來管理,不由InterNIC管理。

B) 查找IP的來源

  當您得到某個Domain Name或是IP地址後,可以使用「whois」來查出資料,語法如下:

  whois -h<whois服務器><查詢對象>

  例如﹐查詢hp.com,需輸入: whois -h whois.internic.nethp.com whois

  也可能使用下列語法:

  whois <查詢對象>@<whois伺服器>

  例如﹐查詢ntu.edu.tw﹐需輸入: whois ntu.edu.tw@whois.twnic.net

C) Domain Name命名的三種情況

  雖然同樣是 Domain Name,可能你會遇到三種命名的不同情況。在許多國家*.edu.*是由NIC以外的單位所管理,而屬性也不一定是三個字母,甚至沒有屬性。在判斷單位性質時讀者宜多加注意,以免找不到資料。

  (1) 標准國碼+三碼屬性碼(或沒有國碼,僅有屬性碼)

  普遍使用於歐洲,美洲國家以及部份東南亞國家。如台灣常見*.edu.tw、*.com.tw,美國的*.com、*.edu。

  (2) 標准國碼+二碼屬性碼

  以日本為例,公司屬性為co,社團屬性為or,和三碼定義的com﹐org略有不同。如日本万代公司之Homepage 為www.bandai.co.jp,如果讀者要使用公司名稱拼湊出完整主機名稱時,需注意日本為僅有兩碼屬性碼之地區,否則若猜測其 就會發生錯誤。
 
  (3) 僅有標准國碼,未有任何屬性碼

  如澳洲的主機均為僅有*.au之主機名稱,未有任何其他的com、co、或任何單位屬性碼後面直接接上單位名稱 。

D) 由Domain Name查出連線單位資料

  由Domain Name查出連線單位資料在Internet上慣例由whois服務來查詢連線單位的登記資料。慣例是whois+NIC名稱+net。例如亞太地區網路管理中心whois server為whois.apnic.net,台灣網路中心 whois server為whois.twnic.net,網路中心whois server是whois.cnnic.net。當你知道某台主機 的Domain Name以後,可以依照下面順序查出連線單位的電話住址等資料。

  (1) 先看有沒有國碼。沒有國碼的,向whois.internic.net問;有國碼的,向whois.國碼nic.net問 (象whois.twnic.net)。另外,如果你要查美國軍事單位的聯絡明細﹐則你需要向 nic.ddn.mil查詢。查詢時需注意: 由 DomainName查出資料, 如您能從nslookup查出某一IP地址之FQDN,則可以直接向當地NIC查出入侵者網路之資料:

E) 只有IP地址的查法
  
  若你只知道IP地址﹐而不知道這是哪里的網路,而這個IP地址也沒有Domain Name的話,則須先將IP地址分等級,再向InterNIC查詢。 

  例如 15.4.75.2﹐此IP地址是15開頭,為一個Class A網路,故向InterNIC查詢15.0。

  例如 140.111.32.53﹐此IP地址為Class B,需查詢兩次。先向InterNIC查詢140.111.0:查出為那國所有。再用 whois.XXnic.net查詢140.111.32.0。

  例如﹐203.66.35.1﹐這是Class C IP,因此必須查詢至少二次,一般是三次。順序為國際->洲際->所屬國家。先查203.0:出來一大堆,怎麼辦?有的情況只好再追ClassB。由於InterNIC將部份ClassC交給洲際管理機构來負責配給,因此有些ClassC的資料會在洲際管理機构,此時先向 InterNIC查出所屬洲際管理機构(用ClassB問)。問到 203.66為亞太地區洲際網路,於是向whois.apnic.net詢問 203.66.35.0:查了三次以後,終於查到203.66.35.0 為在一堆資料中查到203.66.35.1。

**在WINDOWS操作。

  下面是Windows95的「hosts」檔案:當您沒有DNS的時候,可以拿這個來將DomainName<->IP地址的對應工作做好。寫法就和UNIX樣。

  注:幾乎所有使用TCP/IP通訊協定的機器都會有hosts﹐network等檔案。這是所有TCP/IP系統的共通習慣(但只有Microsoft的軟件會有lmhosts來配合Microsoft自己的wins域名解譯系統)。如果讀者有注意到的話,可以發現 Novell Netware服務器也有一個etc目錄,還有hosts等檔案!

大紀元版權所有,轉載請注明出處。(http://www.dajiyuan.com)

相關新聞
黃仁勳:想要做有價值的事就必須更勇於冒險
迎接夏至 6月21日將現「草莓月亮」
美FTC將TikTok兒童隱私案件移交司法部
超大質量黑洞從休眠中咆哮甦醒 科學家首見
如果您有新聞線索或資料給大紀元,請進入安全投稿爆料平台
評論