曾听过有人形容 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 的管
理者.