AIX V6.1 远程登录会话管理

法规遵从性的自动会话下线防备

法规遵从性要求系统实现会话的自动下线(automatic logoff),以确保环境的安全。基于 UNIX® 的解决方案倾向于广泛使用诸如 FTP、TELNET 和 SSH 之类的实用工具,它们的会话需要进行自动超时配置。本文解释自动下线和各种法规遵从性之间的关系。然后,详细介绍在 AIX V6.1 系统上为 FTP、TELNET 和 SSH 配置自动超时的管理过程。

Bhushan Pradip Jain, 软件工程师, IBM  

/developerworks/i/p-bpjain.jpgBhushan Pradip Jain 是在 IBM India Software Labs 工作的助理软件工程师。他在 alphaWorks 上发布了一种名为 “Policy-Driven File Encryption Explorer Based on OpenPGP” 的技术,当前从事 IBM Unified Scalable Storage。他还参与过开发 Intrusion Detection System 和实现多天线望远镜操作系统的一部分。Bhushan 在 Pune 的 College of Engineering (COEP) 获得了计算机工程学士学位。



2010 年 9 月 06 日

简介

AIX V6.1 具有各种安全特性,这些特性帮助做到不同行业部门(比如政府、财政、医疗保健,等等)的各种法规遵从性。范围涉及确保静止数据的安全,到确保传送中数据的安全,到登录和密码管理。这些特性让 AIX V6.1 成为一个合适的基于 UNIX 的系统,可以为法规遵从性驱动的行业宿主解决方案和应用程序。

基于 UNIX 的系统和解决方案倾向于不仅对管理任务,也对总体解决方案的各种其他方面,广泛使用诸如 FTP、TELNET 和 SSH 之类的远程登录和文件传输技术。此类远程登录会话的适当使用归为各种遵从性的审计范畴。从遵从性角度来说,这些实用工具的远程登录会话有两个主要因素需要考虑:利用安全传输进行的身份验证和远程会话的自动下线。尽管前者可以通过使用 Kerberos (参见 参考资料)和类似的网络安全协议完成,但是后者需要特殊的管理调优。在本文中,我们要将远程会话的自动下线需求对应到各种遵从性,然后再解释在 AIX V6.1 上启用自动下线的管理过程。本文将帮助管理员在 AIX 系统上调优远程实用工具会话,以做到遵从性,并消除与远程会话相关的风险。


何谓自动下线?

自动下线是保护到给定系统(通常但并不必须是远程的)的休眠会话不被恶意利用,帮助降低受到恶意攻击的风险。很多时候,经授权的用户使用登录机制(比如 SSH、TELNET、FTP 等)登录系统,而由于疏忽忘了从会话下线,或者由于处于不活跃状态,使得会话保持休眠状态。在这些情况下,如果恶意用户利用这些会话,用户就会潜在地破换系统。自动下线特性通过对休眠使用推荐的超时值,可以帮助降低此类风险。


法规遵从性和自动下线

针对政府管辖的不同行业部门,有着不同的法规遵从性。大多数遵从性直接影响企业 IT 解决方案的设计、开发和部署,以确保一个安全的、经审计的环境。这些遵从性对应的 IT 系统大多需要自动下线设施来帮助确保它们不受恶意攻击。例如:

  • 美国 Health Insurance Portability and Accountability Act (HIPAA) 对合法实体持有的个人健康信息提供联合保护,并就这些信息给予患者一组权利。题为 Automatic logoff 的 HIPAA Security Rule Section 164.312(a)s(2)(iii) 指出,必须 “在不活跃维持一段预定的时间之后,执行终止电子会话的过程”(参见 参考资料)。
  • 美国俄克拉荷马州有一个特殊的 State of Oklahoma Information Security Policy, Procedures and Guidelines,条款适用于保护本州的信息资产。The State of Oklahoma Information Security Policies 需要自动下线,它规定 “Section 7.4: Access Control 指出,在保持不活跃 15 分钟之后,让会话超时"(参见 参考资料)。
  • 联邦法规 U.S. Food and Drug Administration's (FDA) Code 的 Title 21, Part 11 要求药品制造商、医疗设备制造商、生物工艺公司、生物制剂开发商和其他 FDA 管制的行业(食品制造商除外),对处理很多作为业务操作和产品开发一部分的数据形式时涉及到的软件和系统执行控制 — 包括审计、验证系统和文档。Section 300(d) 指出 “使用事务安全措施防止未经授权使用密码和/或标识码,紧急检测并报告任何未经授权使用系统安全单元的企图,并视情况上报管理部门。”(参见 参考资料)。

规定了类似功能需求的其他遵从性法规有:

  • FERPA: 34 CFR Part 99 [Family Educational Rights and Privacy Act]
  • GLB: 16 CFR Part 314 Standards for Safeguarding Customer Information [section 501(b) of the Gramm-Leach-Bliley Act ("GLB Act")]
  • USA Patriot Act

更多信息请参见 University of Oklahoma 制定的 "Information Technology Security Policy" (参见 参考资料)。

这指出了各种法规遵从性的自动下线防备的重要性。下一节,我将解释使用最流行的远程登录实用工具在 AIX V6.1 系统上启用自动下线的过程。


AIX V6.1(FTP、TELNET、SSH)的自动下线过程

文件传输协议 (FTP)、TELNET 和 SSH (Secure Shell) 是流行的 AIX V6.1 远程登录机制,在给定的解决方案中以各种方式用于达到各种目的。AIX V6.1 提供特殊的管理过程,帮助为这些实用工具配置自动下线特性。下面解释这些过程,并提供一些例子:

带有自动下线特性的 FTP

在 AIX 中,inetd 守护进程为网络提供 Internet 服务管理,并默认在您每次启动系统时启动。FTP 具有一个理想的会话超时特性,但是该特性需要被启用,并且 inetd 守护进程需要被通知:在不活跃维持一段具体的时间之后,连接将被中止。/etc/inetd.conf 文件(inetd 的配置文件)包含关于 FTP 服务应该如何行动的详细信息。如下所示,我们编辑 /etc/inted.conf 文件,将 FTP 会话不活跃的时间间隔设置为 60 秒。通常,这个值取决于业务策略以及法规遵从性准则。

代码 1:配置 FTP 的 inetd 配置文件启用自动下线特性
(0) root @ motu: 61H (0934A_61H) : / # hostname
motu.in.ibm.com

(0) root @ motu: 61H (0934A_61H) : / # vi /etc/inetd.conf
..........................
..........................

ftp     stream  tcp6    nowait  root    /usr/sbin/ftpd  ftpd -t 60

..........................
..........................
:wq

注意,"ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd" 项通常已经在 /etc/inetd.conf 文件中。您只需添加超时值即可,即在后面附加 "-t 60"

现在 FTP 服务需要重新启动,更改才能生效。下面的命令将停止并启动 FTP 服务。

代码 2:重新启动 FTP 子服务器
(0) root @ motu: 61H (0934A_61H) : / # stopsrc -t ftp
0513-127 The ftp subserver was stopped successfully.
(0) root @ motu: 61H (0934A_61H) : / # startsrc -t ftp
0513-124 The ftp subserver has been started.

我们来验证一下刚才设置的自动下线配置。一旦我们成功地连接到 FTP 服务器(通过基本命令进行验证),我们将明确地保持会话休眠 60 秒钟。在其后执行任何命令时,我们都会从服务器收到消息 “421 Timeout (60 seconds): closing connection.”,这表明 FTP 的自动下线已成功配置。

代码 3:验证 FTP 自动下线功能
(0) root @ motu: 61H (0934A_61H) : / # ftp motu.in.ibm.com
Connected to motu.in.ibm.com.
220 motu.in.ibm.com FTP server (Version 4.2 Wed Jun 3 15:43:49 CDT 2009) ready.
Name (motu.in.ibm.com:root): root
331 Password required for root.
Password:
230-Last unsuccessful login: Mon Oct 26 12:20:34 IST 2009 on /dev/pts/0 from 
ssingh11.in.ibm.com

230-Last login: Tue Nov 24 15:36:56 IST 2009 on ftp
230 User root logged in.
ftp> cd
(remote-directory) /
250 CWD command successful.
ftp> lcd
Local directory now /
ftp> cd
(remote-directory) /
421 Timeout (60 seconds): closing connection.
ftp> quit

注意,即使 FTP 服务器已经在保持 60 秒不活动之后自动关闭了连接,但是客户要在超时之后尝试执行命令时才会被通知。

利用自动下线特性确保 TELNET 的安全

AIX V6.1 系统上 TELNET 的自动下线防备是通过 /etc/profile 中的参数控制的。/etc/profile 文件是一个管理员掌管的系统配置文件,用于控制系统范围内所有用户的默认变量。为了防止因用户疏忽离开帐户而导致的潜在安全危害,管理员可以在 /etc/profile 中设置一个叫做 "TMOUT" 的环境变量,它也掌管 TELNET 的自动退出(如下所示)。在下面的例子中,第一个命令 TMOUT=<time interval in seconds> 设置不活跃的时间间隔,此不活跃将导致从会话自动下线。这里,我们将值设置为 60 秒。这个值取决于业务策略以及法规遵从性准则。下一个命令将此环境变量声明为只读,以便没有用户(管理员之外的用户)能够覆盖这个默认值,以让会话打开时间长于不活跃时间间隔设置的时长。在后续的远程登录系统的过程中,环境变量 "TMOUT" 将被设置为只读,并且不活跃值为 60 秒。

代码 4:为自动下线配置 profile 配置文件
(0) root @ motu: 61H (0934A_61H) : / # vi /etc/profile
..........................
..........................

TMOUT=60
readonly TMOUT

..........................
..........................
:wq!

我们来验证一下前面的设置。如下所示,当我们 TELNET 到机器时,命令 "echo $TMOUT" 给出的输出是 60,表示新值设置适当。此外,可以看到,该变量的值不可改变,因为我们已将之设置为只读。随后,如果我们保持 TELNET 会话 60 秒钟不活跃,那么会话被自动下线(如下所示),从而成功地启用 AIX V6.1 系统上 TELNET 的自动会话下线。注意,在下面的代码清单中,我们使用一个 bash shell:

代码 5:验证 TELNET 自动下线功能
(0) root @ motu: 61H (0934A_61H) : / # telnet motu.in.ibm.com
Trying...
Connected to motu.in.ibm.com.
Escape character is '^]'.


telnet (motu.in.ibm.com)

AIX Version 6
Copyright IBM Corporation, 1982, 2009.
login: root
root's Password:
*****************************************************************************
*                                                                           *
*                                                                           *
*  Welcome to AIX Version 6.1!                                              *
*                                                                           *
*                                                                           *
*  Please see the README file in /usr/lpp/bos for information pertinent to  *
*  this release of the AIX Operating System.                                *
*                                                                           *
*                                                                           *
*****************************************************************************
Last unsuccessful login: Mon Oct 26 12:20:34 IST 2009 on /dev/pts/0 from
ssingh11.in.ibm.com

Last login: Tue Nov 24 15:40:50 IST 2009 on /dev/pts/1

(0) root @ motu: 61H (0934A_61H) : / # echo $TMOUT
60
(0) root @ motu: 61H (0934A_61H) : / # echo $SHELL
/usr/bin/bash
(0) root @ motu: 61H (0934A_61H) : / #  export TMOUT=200
-bash: TMOUT: readonly variable
(1) root @ motu: 61H (0934A_61H) : / # timed out waiting for input: auto-logout
Connection closed.
(0) root @ motu: 61H (0934A_61H) : / #

注意,如果系统在提交对 /etc/profile 的更改之后重启,那么超时值将不仅针对远程登录而设置,也针对物理登录而设置。

利用自动下线特性确保 SSH 安全

由于其默认的安全行为,很多解决方案喜欢 SSH 胜过 TELNET。顺便说一句,在 /etc/profile 文件中为 TELNET 的自动下线进行的配置(前面已解释)也适合于 SSH。

所以,我们不使用 TELNET,而使用 SSH 登录机器并测试行为。我们应该使用根用户之外的其他用户,SSH 到机器中(根用户的默认 shell 被设置为 ksh (Korn shell)。一旦登录到系统中,我们就执行一系列类似于前面执行的命令(用于确认环境变量 "TMOUT" 的值确实被设置为 60,并且此变量真的是只读的,值无法更改)。现在,在 60 秒的不活跃之后,我们从远程机器收到一条连接关闭消息,这表示已经为 SSH 成功设置了自动下线。

代码 6:验证 SSH 自动下线功能
(0) root @ motu: 61H (0934A_61H) : / # ssh bhushan@motu.in.ibm.com
bhushan's Password:
1 unsuccessful login attempt since last login.
Last unsuccessful login: Tue Nov 24 18:35:22 IST 2009 on ssh
Last login: Tue Nov 24 18:27:43 IST 2009 on /dev/pts/2
*****************************************************************************
*                                                                           *
*                                                                           *
*  Welcome to AIX Version 6.1!                                              *
*                                                                           *
*                                                                           *
*  Please see the README file in /usr/lpp/bos for information pertinent to  *
*  this release of the AIX Operating System.                                *
*                                                                           *
*                                                                           *
*****************************************************************************
Could not chdir to home directory /home/bhushan: A file or directory in the 
path name does not exist.

$ echo $TMOUT
60
$ echo $SHELL
/usr/bin/ksh
$ export TMOUT=200
ksh: TMOUT: This variable is read only.
$ pwd
/
Shell will time out in 60 seconds.
ksh: Timed out waiting for input.
Connection to motu.in.ibm.com closed.
(1) root @ motu: 61H (0934A_61H) : / #

注意,对于 AIX V6.1,shell 的类型或者用户帐户类型对通过在 /etc/profile 文件中设置 TMOUT 环境变量而启用的自动超时特性的行为没有任何影响。此外,该环境变量还为任何用于登录系统的登录机制,确保在一定时间间隔的不活跃之后自动超时。


结束语

在本文中,我们描述了自动下线的重要性及其与法规遵从性的关系。我们学习了为 AIX V6.1 系统上的 FTP、TELNET 和 SSH 会话设置自动下线的管理过程,AIX V6.1 将有助于法规遵从性和得到安全的环境。

致谢

作者真诚感谢 IBM 公司的 Sandeep R Patil (rsandeep@in.ibm.com) 在本文写作过程中提出的观点、意见和理念,并帮助将此主题传达给社区、客户和从业者。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=516890
ArticleTitle=AIX V6.1 远程登录会话管理
publish-date=09062010