BSD 的远程登陆( 二 )


写道客户端用户的显屏上 。
关闭连接
当TCP连接的一方关闭连接 , 注重到此关闭事件的客户或者服务器进程应当进行有次
序的关闭程序 , 恢复终端模式 , 在关闭另外一个方向的连接之前通知用户或者进程 。
实现需注重的事项
客户端定义了一个客户转移字符(通常是波浪线“~”) 。只有当它是一行开始的第一个
输入字符时会被非凡处理 。(一行的开始被定义为客户端用户在下列事件后输入的第一个字
符:新行字符[CR或者LF]、取消行字符、继续一个关起的客户端会话或者初始化完成一个
连接) 。
客户端转义字符在被检查完之前不会被传送到服务器端 。假如此字符是已定义好的客户
转义字符序列 , 客户转义字符和之后的字符都不会被传送 。否则 , 客户转义字符和其后的字
符作为普通的用户输入送给服务器 。假如客户端转义字符之是点".",或者是客户端定义的文
件结束字符(通常为control-D) , 连接结束 。服务器端一般认为这是断开连接而不是有序的
注销(logout) 。
其它字符(客户端定义的 , 一般是control-Z和control-Y)用来当主机答应时临时挂起
rlogin客户端 。一个字符挂起远端输入输出;另外一个挂起远端输入 , 但是远端输出继续输
出到本地客户端的终端上 。
很多客户端实现带有启动选项 , 可以使客户端不进行正常的输出处理 , 使客户端接收到
服务器的切换模式通知后仍然保持在"raw"模式下 。
警戒故事
rlogin协议(通常实现)答应用户建立一类信任用户和/或主机 , 他们被答应以自己的
身份登陆而不用输入密码 。尽管十分方便 , 这却表现出一种安全上的薄弱环节 , 在以前
Internet上的攻击中曾经被利用过 。假如有人想利用rlogin的绕过passWord的功能 , 意识到
由此可能造成的威胁是很重要的 。
绕过被信任主机的密码验证开放了所有这样配置的系统 , 而只有一个机器会受到威胁 。
假如所有系统都使用同一个密码会使坏人在你访问过的所有地方畅通无阻 , 类似的 , 在你所
有系统上答应没有密码的登陆会导致坏人在进入了你的任何一个系统后可以在广阔的场地
上恣意 。有一种折衷方法让人觉得在方便与安全性之间达到一个平衡:只从一个工作站到你
用的其它系统上答应省去密码 , 而不上系统间互相省去密码 。通过这种方法 , 你可能把暴露
减少到最小极限了 。
被信任主机的说明通常是主机名 。通过破坏你公司的域名服务器或者网络本身 , 可以让
人把一个不信任的注重伪装成被信任的主机 。用户对于此类攻击无能为力 。幸运的是目前此
类攻击还非常少 , 它会引起网络中断从而很快被注重到 。
当包含被信任登陆的用户列表被不小心变成其它用户可写之后 , 可能会增加一些靠不住
的东西 。
rlogin的安全验证扩展(Kerberos等等)可以大大减少可能造成的损害 , 同时答应省去
密码输入的方便性 。当它们在Internet社区上被广泛配置后 , rlogin的危害会减少 。
安全性考虑
参见上面的 “警戒故事”
作者地址
BrianKantor
UniversityofCaliforniaatSanDiego
NetworkOperationsC-024
LaJolla,CA92093-0214
Phone:(619)534-6865
EMail:brian@UCSD.EDU



推荐阅读