Finger:User Information Protocol
查找器(Finger)用户信息协议,提供了一个与远程用户信息程序(RUIP)交互的接口。 Finger 是一种基于传输控制协议(TCP),使用 TCP
端口 79 交换用户信息的协议。本地主机通过远程主机的 Finger 端口建立一个 TCP 连接,连接另一端的 RUIP 开始处理请求。本机发送给 RUIP 一个基于 Finger 查询规范的一行查询,并等待 RUIP 的响应。 RUIP 接收并处理这些查询信息,返回答复以及结束连接信号;本机收到回复和结束连接信号后,继而关闭自己一端的连接。
Finger 显示了用户信息,且这些信息可能是敏感信息。关于是否运行 Finger 以及响应中该出现哪些信息等方面,安全管理员应该作出明确的决定。一种现有的措施是提供用户最后登录的时间、他最后阅读邮件的时间,是否有未读邮件以及最近的邮件来自于谁等信息。这使得跟踪进行中的会话及查看某人的注意焦点成为可能。如果对有多少信息可能泄漏没有明确了解,有这方面安全考虑的站点不应该运行 Finger 服务。
Finger 服务的实施应该先进行测试以应对各种形式的网络攻击。特别地, RUIP 应该保护自己不受异常输入的影响。提供带有 Finger 服务的操作系统或网络软件的供应商,应该在实施前进行穿透测试。 Finger 是一可直接穿透的渠道。就像 TELNET、FTP 和 SMTP , Finger 也是主机安全考虑范围内的一种协议。因此,此系统的可靠性是极为重要的。在设计、实施和测试过程中,这一系统需要进行与 TELNET 、FTP 和 SMTP 同样多的安全检查。
任何在两台 Finger 主机上传输的数据都必须是 ASCII 形式,没有奇偶,并以 CRLF 结束(ASCII 10 在 ASCII13 之后)。这不包括字符格式如 EBCDIC 等。这也意味着位于 ASCII 128 与 ASCII 255 之间的任意字符必须是国际化的数据,不是校验的7位 ASCII。
Finger查询规格定义为:
- {Q1}::= [{W}|{W}{S}{U}]{C}
- {Q2}::= [{W}{S}][{U}]{H}{C}
- {U}::= username
- {H}::= @hostname | @hostname{H}
- {W}::= /W
- {S}::= <SP> | <SP>{S}
- {C}::= <CRLF>
Finger 由 IETF 在 RFC1288 中定义 |