使用 IBM Verify 进行双因素身份验证的 SSH 示例( 2FA )

您可以使用 IBM® Verify 双因素认证功能来增强 SSH 认证的安全性。

Verify2FA 添加到 Linux® 的 SSH 密钥列表中

以 RHEL 7 上的 SSH 身份验证为例,通过用户 Verify 可用的所有 2FAs 选项,添加 Verify2FA。
此身份验证是本地 UNIX™ 密码登录之外的补充。 请选择您用于登录 2FA 的 Verify 用户名,例如 user@us.ibm.com。 将用户预订到所需的 2FA 进行测试。
注: 订阅流程不在本文档的讨论范围内。
  1. 文件 /etc/pam.d/sshd 控制 SSH 认证。 /etc/pam.d/password-auth它使用了一个通用的包含文件来处理身份验证。
    • 为了避免干扰使用通用包含文件的所有进程,将 /etc/pam.d/passsword-auth 复制为 /etc/pam.d/civ-password-auth,以便可以安全地修改文件。
    • password-authciv-password-auth编辑 /etc/pam.d/sshd 时请包含复制的文件,而不是。
    • 编辑 civ-password-auth 并更改以下行。 更改
      auth        sufficient    pam_unix.so nullok try_first_pass
      
      auth        requisite     pam_unix.so nullok try_first_pass
      auth        sufficient    pam_ibm_auth.so auth_method=choice-then-otp 
  2. 请确保 /etc/pam_ibm_auth.json 已正确配置,以便与服务器 Verify 通信。
  3. 编辑 /etc/ssh/sshd_config。 确保已 “UsePAM yes” 设置,并将 2FA 设置 “ChallengeResponseAuthentication yes” 为允许用户与 PAM 模块进行 Verify 交互。
  4. 选择一个 UNIX 用户来测试 SSH,并将该用户的 GECOS 值修改为您的 Verify 用户名。 参见 usermodchin
  5. 重新启动 sshd 以确保其使用更新后的配置选项。
  6. SSH 登录到测试用户,查看 2FA 是否生效。

为 AIX® 的SSH登录添加集中式密码和 2FA 身份验证。

操作系统用户 pamuser 已映射到 Cloud Directory Verify 租户用户 isvuser ,用于身份验证。 用户 Verify 必须已配置相关的 2FA 方法。 完成以下配置后,使用用户名 pamuser 和密码 isvuser 以及 2FA 通过 SSH 登录到主机。 操作系统用户密码不再用于 SSH 登录。

注意: 在配置和测试此选项时,请确保您拥有另一种登录 AIX 主机的方法,因为配置错误可能会导致 SSH 登录失效。 为便于恢复,您还可以在重启 sshd 服务器时保留现有的 SSH 登录会话。
需要修改以下文件。
  1. 编辑 /etc/passwd (或使用 chfn )并为所有将使用 SSH 的账户设置 GECOS 值,用于将操作系统用户映射到 Verify SSH 用户:
    pamuser:x:1000:1000:Pam User:/home/pamuser:/bin/bash
    pamuser:x:1000:1000:Pam User,isvuser:/home/pamuser:/bin/bash
  2. 编辑 /etc/pam_ibm_auth.json 以确保为操作系统用户到 Verify 用户的映射配置了正确的 GECOS 值布局:
    "pam-ibm-auth": {
    	"additional-args": [
    		...
    		“auth_method=password-then-choice-then-otp”,
    		"gecos_field=2”,
    		“gecos_separator=,”,
    		...
    	]
     }
    
    
  3. 编辑该 /etc/pam.conf 文件,并添加以下几行。
    # Authentication
    sshd    auth    required        pam_ibm_auth
    
    # Account Management
    sshd    account required        pam_aix
    
    # Password Management
    sshd    password  required      pam_aix
    
    # Session Management
    sshd    session required        pam_aix
    
  4. 编辑 /etc/ssh/sshd_config 并确保这些行已存在且包含指定的值;如果不存在,请添加它们。
    ChallengeResponseAuthentication yes
    UsePAM yes
    
  5. 编辑 /etc/security/login.cfg 并修改以下行。
    auth_type = STD_AUTH
    auth_type = PAM_AUTH
  6. pam_ibm_auth module可选: 编辑 /etc/syslog.conf 并添加以下语句,将所有信息及这些更改映射到文件中 /var/log/messages ,以记录从.中记录的错误。
    *.info /var/log/messages rotate size 1m files 8 compress
  7. 可选: 重启 syslogd 以使更改生效。
    # stopsrc -s syslogd; startsrc -s syslogd
  8. 重启 sshd 以使更改生效
    # stopsrc -s sshd; startsrc -s sshd