NIST发布使用SSH软件的最佳实践

安全 数据安全
由于人们对于SSH密钥的安全性越来越担忧,所以美国国家标准与技术研究所近期制定了一份长达37页关于SSH密钥管理的最佳实践指导。该草案名为“使用SSH自动访问管理安全须知”,以指导系统管理员该如何做。

目前,上百万的系统管理员都在使用SSH协议和软件套件以实现在远程服务器上登录应用和服务账户,其认证方法有密钥认证、代号认证、数字认证和公开密钥认证。但是,如果管理不当的话,SSH密钥很可能会被攻击者利用,并侵入企业的IT基础设施。

研究机构Ponemon Institute今年年初对全球2000家企业的2100个系统管理员进行的一项调查发现,由于企业对SSH密钥保护性较差,有四分之三的企业的系统非常容易受到根级(root-level)攻击,同时一半以上的企业承认存在SSH密钥相关的兼容性问题。

由于人们对于SSH密钥的安全性越来越担忧,所以美国国家标准与技术研究所(NIST)近期制定了一份长达37页关于SSH密钥管理的最佳实践指导。该草案名为“使用SSH自动访问管理安全须知(Security of Automated Access Management Using Secure Shell (SSH))”,以下是这一草案的要点内容,即指导系统管理员该如何做。

1. NIST指出,在 SSH中有两种密钥认证机制,即基本密钥认证和键盘交互认证。

基本密钥认证就是由SSH协议标准授权的传统认证方式,而键盘交互认证则被用于非常现代的环境中,除了传统密钥认证之外,键盘交互认证还能支持请求-回应认证和一次性密钥口令。NIST建议密钥认证应该被用于自动访问,因为硬编码密钥很容易被攻击者窃取。如果企业使用密钥认证进行自动访问,那么这个密钥需要根据企业的密钥政策频繁轮换。

2. 基于主机的认证使用的是服务器主机密钥,以认证源主机和验证客户端用户身份,服务器主机密钥是客户用来验证服务器身份的。然而,NIST指出,由于基于主机的认证没有配置命令的限制,所以NIST并不推荐自动访问使用基于主机的认证。

3. 许多企业使用Kerberos和Active Directory认证实现在Windows域或Kerberos域中SSH单点登录,NIST也表示,那些广泛应用SSH工具的企业在默认的Active Directory域或Kerberos域中提供单点登录。但是NIST指出,单点登录意味着一旦一个账户利用Kerberos认证获得访问权限,那么它也很可能会登录到另一个有着相同账号的服务器上,同时进入到一个相同的域中而不需要进一步认证。这很容易创建出大量的不必要的隐性信任关系。

此外,当前被广泛应用的SSH工具并不支持Kerberos命令限制。因此基于这些原因,自动访问不推荐使用Kerberos认证。

SSH的公开密钥认证是利用用户密钥或证书来认证一个连接,这需要SSH用户拥有一个用户密钥,该用户密钥被称为“身份密钥”,一般是一个RSA或DSA私人密钥。同时(+本站微信networkworldweixin),服务器还需要为用户账户配置一个被称为“授权密钥”的公开密钥。

NIST指出,任何拥有身份密钥的用户都可以登录服务器,并享受该密钥授权的用户账户和操作执行。这个身份密钥通常被存储在一个智能卡上,或者是一个密码保护文档中。

NIST表示,许多SSH工具支持授权密钥的部署限制,以限制使用该密钥进入服务器上的行为,限制IP地址和密钥的使用。NIST指出,公开密钥认证的优点在于它不会创造出任何隐性信任关系,而是明文规定的信任关系。

允许访问可以通过检测目的主机来决定,因为目的主机非常重要,可以用来审核谁有资格访问哪些系统或账户。基于公开密钥认证的这些优势,NIST推荐使用公开密钥认证来进行SSH自动访问。

目前,NIST起草的这个指导文件(NIST 7966草案)仍在讨论阶段,预计将在本月底完成。该草案还包含了许多关于使用SSH软件进行安全管理的建议,以及厂商(有Fox技术公司、SSH通讯安全公司和Venafi)产品选型指导。

责任编辑:林琳 来源: 网界网
相关推荐

2021-06-29 13:50:19

NIST勒索软件网络安全

2015-04-23 11:10:07

2021-02-05 22:40:39

5G网络安全网络风险

2014-09-30 09:38:35

2023-06-09 19:01:03

软件开发

2011-03-09 10:18:05

2009-07-29 17:52:29

ibmdwJava

2023-06-08 07:12:13

OpenAIGPT代码

2014-04-18 10:58:44

AndroidAPI实践

2015-09-15 16:01:40

混合IT私有云IT架构

2013-03-01 09:53:40

软件开发

2023-09-13 08:00:00

JavaScript循环语句

2011-08-18 11:05:21

jQuery

2023-07-21 01:12:30

Reactfalse​变量

2020-09-17 06:00:21

Git

2016-12-27 08:49:55

API设计策略

2013-04-17 17:15:40

2015-02-28 13:32:21

应用安全移动应用安全

2021-04-14 09:46:41

NIST酒店业网络安全

2012-04-20 10:10:35

点赞
收藏

51CTO技术栈公众号