Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.4. 根据用户身份验证的方式限制对服务和主机的访问

IdM 支持的身份验证机制在身份验证强度上有所不同。例如,使用一次性密码(OTP)和标准密码进行身份验证被视为比仅使用标准密码进行身份验证更安全。本节介绍如何根据用户身份验证方式限制对服务和主机的访问。
例如,您可以配置:
  • 对安全性至关重要的服务,如 VPN,需要强大的身份验证方法
  • 非关键服务(如本地登录)以允许使用较弱但更为方便的身份验证方法进行身份验证

图 22.8. 使用不同方法验证示例

使用不同方法验证示例

身份验证标识符

对服务和主机的访问通过 身份验证指示器 定义:
  • 服务或主机条目中包含的指标决定了用户可用于访问该服务或主机的身份验证方法。
  • 用户票证(TGT)中包含的指标显示了用于获取票据的验证方法。
如果主体中的指示符与 TGT 中的指示符不匹配,则会拒绝用户访问。

22.4.1. 配置主机或服务以需要特定的身份验证方法

使用以下命令配置主机或服务:

Web UI:配置主机或服务以需要特定的身份验证方法

  1. 选择 IdentityHostsIdentityServices
  2. 单击所需主机或服务的名称。
  3. Authentication indicators 下,选择所需的验证方法。
    • 例如,选择 OTP 可确保只有使用带有密码的有效 OTP 代码的用户才能访问主机或服务。
    • 如果您选择 OTPRADIUS,则 OTP 或 RADIUS 都足以允许访问。
  4. 点页面顶部的 Save

命令行:配置主机或服务以需要特定的身份验证方法

  1. 可选。使用 ipa host-findipa service-find 命令来识别主机或服务。
  2. 使用带有 --auth-ind 选项的 ipa host-modipa service-mod 命令来添加所需的身份验证指标。有关 --auth-ind 接受的值列表,请查看 ipa host-mod --helpipa service-mod --help 命令的输出。
    例如,--auth-ind=otp 确保只有使用有效 OTP 代码的用户才被允许访问主机或服务:
    $ ipa host-mod server.example.com --auth-ind=otp
    ---------------------------------------------------------
    Modified host "server.example.com"
    ---------------------------------------------------------
      Host name: server.example.com
      ...
      Authentication Indicators: otp
      ...
    如果您同时为 OTP 和 RADIUS 添加指示器,OTP 或 RADIUS 将足以允许访问。

22.4.2. 更改 Kerberos 身份验证标识符

默认情况下,身份管理(IdM)使用 pkinit 指示器来使用 PKINIT 预身份验证插件进行 Kerberos 身份验证的证书映射。如果您需要更改身份验证供应商,Kerberos 分发中心(KDC)插入到票据授予票据(TGT)中,请修改提供 PKINIT 功能的所有 IdM master 上的配置,如下所示:
  1. /var/kerberos/krb5kdc/kdc.conf 文件中,将 pkinit_indicator 参数添加到 [kdcdefaults] 部分:
    # pkinit_indicator = indicator
    您可以设置指示符以下值:
    • OTP 用于两个因素身份验证
    • RADIUS 用于基于 RADIUS 的身份验证
    • PKINIT 用于智能卡验证
  2. 重启 krb5kdc 服务:
    # systemctl restart krb5kdc