当前位置导航:炫浪网>>网络学院>>操作系统>>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文件如下形式:
  auth required /lib/security/pam_stack.so
  service=system-auth
  account required /lib/security/pam_stack.so
  service=system-auth
  password required /lib/security/pam_stack.so
  service=system-auth
  
  四、启动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的安全软件。
相关内容
赞助商链接