用SRP建立安全的Linux Telnet服务器(二)

ZDNet软件频道 时间:2009-11-05 作者:佚名 | ChinaITLab 我要评论()
本文关键词:Linux Telnet 系统安全 Linux
本文继续向大家介绍如何用SRP建立安全的Linux Telnet服务器。

  (8)PAM认证模块通过PAM库将认证信息提供给应用程序。

  (9)认证完成后,应用程序做出两种选择:

  将所需权限赋予用户,并通知用户。

  认证失败,并通知用户。

  PAM工作流程见图1。

图1 PAM工作流程

  PAM具体使用方法:

  #cd /usr/src/redhat/SOURCES

  /srp-2.1.1/base/pam_eps.

  #install -m 644 pam_eps_auth.

  so pam_eps_passwd.so /lib/security

  上面命令会在/lib/security 目录下安装PAM模块。然后使用命令:"/usr/local/bin/tconf"创建/etc/tpasswd 和 /etc/tpasswd.conf文件。

  2.使用EPS PAM模块进行密码验证

  (1)首先备份 /etc/pam.d/system-auth文件

  (2)修改 /etc/pam.d/system-auth文件如下形式:

  auth required /lib/security/pam_unix.so likeauth

  nullok md5 shadow

  auth sufficient /lib/security/pam_eps_auth.so

  auth required /lib/security/pam_deny.so

  account sufficient /lib/security/pam_unix.so

  account required /lib/security/pam_deny.so

  password required /lib/security/pam_cracklib.so retry=3

  password required /lib/security/pam_eps_passwd.so

  password sufficient /lib/security/pam_unix.so

  nullok use_authtok md5 shadow

  password required /lib/security/pam_deny.so

  session required /lib/security/pam_limits.so

  session required /lib/security/pam_unix.so

  注意上面第一行黑体字表示PAM的eps_auth模块可以满足认证需求。第二行黑体字表示PAM的pam_eps_passwd.so 模块用来进行密码管理。

  (3)将标准密码转换为EPS格式

  (4)/etc/pam.d/system-auth 配置文件的模块pam_eps_passwd.so 将EPS版本的密码验证字符串写入/etc/tpasswd 文件中。 修改 /etc/pam.dpasswd文件如下形式:

  四、启动SRP版本下的Telnet服务器

  (1)进入SRP源代码telnet子目录,分别建立Telnet服务器文件和Telnet客户端文件:

  #cd /usr/src/redhat/SOURCES/srp-2.2.1/telnet

  #make;make install

  2)建立超级访问程序/etc/xinetd.d/srp-telnetd 内容如下:

  # description: The SRP Telnet server

  serves Telnet connections.

  # It uses SRP for authentication.

  service telnet {

  socket_type = stream

  wait = no

  user = root

  server = /usr/local/sbin/telnetd

  log_on_success += DURATION USERID

  log_on_failure += USERID

  nice = 10

  disable = no }

  3)使用命令从新启动xinetd

  #killall -USR1 xinetd

  4)建立/etc/pam.d/telnet 文件,内容如下:

  auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/telnetusers onerr=succeed

  auth required /lib/security/pam_stack.so service=srp-telnet

  auth required /lib/security/pam_shells.so

  account required /lib/security/pam_stack.so service=srp-telnet

  session required /lib/security/pam_stack.so service=srp-telnet

  到此为止现在就建立了一个使用SRP服务的Telnet服务器。首先在本地进行试验。下面是一个典型会话:

  $/usr/local/bin/telnet localhost 23

  Trying 127.0.0.1...

  Connected to localhost.intevo.com (127.0.0.1).

  Escape character is "^]".

  [ Trying SRP ... ]

  SRP Username (root): cao

  [ Using 1024-bit modulus for "cao" ]

  SRP Password:

  [ SRP authentication successful ]

  [ Input is now decrypted with type CAST128_CFB64 ]

  [ Output is now encrypted with type CAST128_CFB64 ]

  Last login: Tue Dec 21 09:30:08 from cao.net

  如果希望在其他Linux计算机使用telnet到SRP服务器,需要安装SRP服务支持和SRP客户机软件。方法是和在SRP服务器端相同的。

  五、在非Linux平台上使用SRP客户机

  SRP同样支持其他流行的操作系统(Unix、BSD、Winodws、MacOS)。只要安装Java插件浏览器即可。详细情况前查看相关网址:http://srp.stanford.edu/demo/。

  总结:

  以上提供了相对OPENSSH更加安全快捷的Telnet远程Linux服务器的方法,基于SRP服务 Telnet应用与其他网络应用一样属于客户机/服务器模型,一旦连通后,客户机可以享有服务器所提供的一切服务。SRP软件包是Telnet的安全软件。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134