第 1 章 系统身份验证简介
建立安全网络环境的的基石之一是确保访问权限仅限于授权用户。允许访问时,用户可以向系统进行身份验证,验证其身份。
在任何 Red Hat Enterprise Linux 系统上,提供了各种创建和管理用户身份的服务。这包括本地系统文件、连接到 Kerberos 或 Samba 等大型身份域的服务,或者创建这些域的工具。
1.1. 确认用户身份
身份验证是确认身份的过程。对于网络交互,身份验证涉及一方对另一方的身份验证。有许多可以通过网络使用身份验证的方式,如简单密码、证书、无密码方法、一次性密码(OTP)令牌或生物特征扫描。
授权定义了允许经过身份验证的一方做什么或访问什么。
身份验证要求用户出示一些凭证来验证其身份。所需的凭证类型由正在使用的身份验证机制定义。对于系统上的本地用户有几种身份验证:
- 基于密码的身份验证
- 几乎所有软件都允许用户通过提供可识别的用户名和密码来进行身份验证。这也被称为简单身份验证。
- 基于证书的身份验证
- 基于证书的客户端身份验证是安全套接字层(SSL)协议的一部分。客户端对随机生成的数据进行数字签名,并通过网络发送证书和签名的数据。服务器验证签名,并确认证书的有效性。
- Kerberos 身份验证
- Kerberos 建立一个短期凭证系统,称为票据授予票据(TGT)。用户出示凭证,即用户名和密码,其识别用户,并向系统指明用户可以发布票据。然后,TGT 可以被反复使,来请求对其他服务(如网站和电子邮件)的访问票据。使用 Kerberos 的身份验证可允许用户以这种方式只进行一次身份验证过程。
- 基于智能卡的身份验证
这是基于证书的身份验证的变体。智能卡(或令牌)存储用户证书 ; 当用户将令牌插入到系统时,系统读取证书并授予访问权限。使用智能卡的单点登录需要经过三个步骤:
- 用户将智能卡插入到读卡器中。Red Hat Enterprise Linux 上的可插拔验证模块(PAM)检测插入的智能卡。
- 系统将证书映射到用户条目,然后将智能卡上提供的证书(其使用私钥进行了加密,如基于证书的身份验证中所述)与用户条目中存储的证书进行比较。
- 如果证书针对密钥分发中心(KDC)成功进行了验证,则允许用户登录。
基于智能卡的身份验证构建在 Kerberos 构建的简单身份验证层上,方法是将证书添加为额外的识别机制,以及添加物理访问要求。如需更多信息,请参阅 管理智能卡身份验证。
- 一次性密码身份验证
- 一次性密码可为您的身份验证安全性增加一步。身份验证将您的密码与自动生成的一次性密码结合使用。如需更多信息,请参阅 身份管理中的一次性密码(OTP)身份验证。
- Passkey 身份验证
- passkey 是一个 FIDO2 身份验证设备,由 libfido2 库支持,如 Yubikey 5 和 Nitrokey。它允许无密码和多因素身份验证。如果您的系统已注册并连接到 IdM 环境,则这个验证方法会自动发布一个 Kerberos 票据,该票据为身份管理(IdM)用户启用单点登录(SSO)。如需更多信息,请参阅 在 IdM 环境中启用 passkey 身份验证。
- 外部身份提供者
- 您可以将用户与支持 OAuth 2 设备授权流的外部身份提供者(IdP)关联。当这些用户使用 RHEL 9.1 或更高版本中提供的 SSSD 版本进行身份验证时,它们在外部 IdP 执行身份验证和授权后接收带有 Kerberos 票据的 RHEL 身份管理(IdM)单点登录功能。如需更多信息,请参阅 使用外部身份提供者向 IdM 进行身份验证。