曾聽過有人形容 identd (及 Ident PRotocol RFC1413) 像猴群一樣,
"你抓抓我的背, 我也抓抓你的背, 大家互惠" :-)
像現在網路活動那麼頻繁, 系統管理者 SA 對安全上的重視也來
大. 譬如從七月一日Tanet 開始強迫沒有 reverse DNS 冊的使用者
不能連上系統, 就有部份原因是因為安全上的考量.
假設您是一個 BBS 的管理者, 今天發現有一封廣告信貼在所有的版子,
您想查清楚這封信的來源, 如果發現它是某學校的一臺 PC, 那很好辦,
但是, 如果您發現對方的來源 ip 是一擁有幾萬個 user 的工作站,
say, tpts1.seed.net.tw, 那該怎麼辦?
Identd (及 Ident protocol) 就是針對這個理由設計出來的, 假設現
在有兩主機都 support Ident protocol, 也就是說, 除了雙方都安
裝了 identd 之外, 雙方的 server 程式 (telnetd, sendmail, bbs...)
都啟動 ident 查詢功能. 如果您在主機 A 上要去連主機 B, 主機 B
在接受您的連接 request 時, 會向主機 A 上的 Identd 做身份查詢,
也就是問問 "現在要連上我機器的伙, 在你那兒是什麼身份" , 而
主機 A 就會把你的身份 (username/id) 報給主機 B. 這麼一來, 主
機 B 就有了你的身份紀錄, 要是發生什麼事, 秋後算帳就比較容易了 :-)
比較細節的身份查詢過程, 可以用下圖表示出來
HOST A HOSTB
============================= ==================
1. 使用者 xyz 要telnet到 HOST B
xyz% telnet host-B
2. 假設這個 telnet connection 在
雙方主機上的 port number 是
1027 (A) 和 23 (B)
3. 在收到這個 telnet request
的時候, telnetd (or tcpwrapper
or whatever) 就先連到 HOST
A 的 identd (port 113)
4. HOST B 向 HOST A 說:
"1027, 23"
5. HOST A檢查一下自己機器, 看看
是誰在 port 1027 連到 host B
的 port 23, 結果發現是 xyz
6. HOST A 回覆查詢結果:
"1027, 23 : userid : UNIX : xyz"
7. HOST B 就可以記錄下來:
某年某月某日, xyz@hostA連到我的
機器....
從上面的說明, 或許您會發現, identd 的運作似乎與一般的 telnet/www/bbs
等應用沒有什麼關聯, 如果不用 identd , 似乎也可以活得好好的. 確實
如此, 不過, 基於 "給人方便, 自己方便" 的原則, 如果你有一臺多用戶
工作站, 裝上 identd, 在別人發生意外事件時調查起來比較容易.
重一次, Identd 對你自己的系統安全并沒有任何助益 (事實上, 它有時會
造成效率上的影響, 有些人甚至認為它漏了用戶的隱私性), 但是, 如果您
裝上了 identd, 未來某些時候可能某主機的 SA 會非常感激您, 同樣地,
如果你自己上發生什麼安全事件的話, 您也會很感激那些有裝 Identd 的管
理者.