AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 667295
Accepted
jouell
jouell
Asked: 2015-02-13 21:18:24 +0800 CST2015-02-13 21:18:24 +0800 CST 2015-02-13 21:18:24 +0800 CST

为什么 sshd 仍然在使用 PAM?

  • 772

背景/行为是:如果您 ssh 到 box via 并且 GSSAPI/Kerberos 成功并且您在/etc/passwd中有一个本地用户,那么您可以按照以下 PAM 配置正常登录。那里一切都好。

但是,如果您在/etc/passwd中没有本地用户,但您可以获得主机/XXXXXX 服务票证(GSSAPI 有效),sshd 登录失败并且永远不会收到 SecurID 提示(我们的 pam 半径指向 SecurID)。我明白那个。由于服务器对用户进行了“身份验证”,并且 pam_unix知道该用户不在 /etc/passwd 中,因此无需使用任何其他身份验证方法。

但是,我的问题是,如果我第一次运行 kdestroy(故意让 GSSAPI 失败),(并且 /etc/passwd 中仍然不存在),为什么我会突然得到一个 Securid 提示(即 PAM 已启用)?

使用调试运行 sshd 显示:为无效用户“用户”推迟键盘交互。首先,为什么它不会简单地失败?二、为什么要拖延?pam_radius 是“必需的”,而不是“必需的”。

我希望也能简单地失败,因为即使我没有进行身份验证,我也永远不会通过 pam_unix。

文件:

/etc/ssh/sshd_config

....  
ChallengeResponseAuthentication yes  
GSSAPIAuthentication            yes  
HostbasedAuthentication         no  
KerberosAuthentication          no  
PasswordAuthentication          no  
PubkeyAuthentication            yes  
RhostsRSAAuthentication         no  
RSAAuthentication               yes  
UsePAM                          yes      
....

/etc/pam.d/sshd

auth       requisite        pam_radius_auth.so conf=pam_radius_auth.conf debug retry=3  
auth       required     pam_nologin.so  
auth     required     pam_krb5.so.1  
account  sufficient      pam_radius_auth.so conf=pam_radius_auth.conf  
account    required     pam_stack.so service=system-auth  
password   required     pam_stack.so service=system-auth  
session    required     pam_stack.so service=system-auth  
session    required     pam_limits.so  
session    optional     pam_console.so  

/etc/pam.d/system-auth

auth        required      pam_env.so  
auth        sufficient    pam_krb5.so.1  
auth        sufficient    pam_unix.so  
auth        required      pam_deny.so  
account     required      pam_unix.so  
password    required      pam_cracklib.so retry=3  
password    sufficient    pam_unix.so use_authtok md5 shadow  
password    required      pam_deny.so  
session     required      pam_limits.so  
session     required      pam_unix.so  
linux
  • 1 1 个回答
  • 3024 Views

1 个回答

  • Voted
  1. Best Answer
    Matthew Ife
    2015-02-14T01:20:51+08:002015-02-14T01:20:51+08:00

    PAM 不处理 GSSAPI 身份验证。kerberos 的 PAM 模块用于对用户进行密码认证,使用 kerberos 协议获取有效票据。

    GSSAPI 认证有 3 个结果。

    1. 身份验证失败,因为已发送凭据但凭据无效。
    2. 使用提供的凭据成功进行身份验证。
    3. 身份验证被忽略,因为没有提供凭据。

    如果结果为 1,则请求被彻底拒绝,因为令牌已发送但失败。SSHD 不会尝试其他身份验证方法。

    如果结果为 3,sshd接下来将尝试其他身份验证方法,其中包括 PAMauth部分。

    我不熟悉,pam_radius但我认为无论出于安全原因用户是否存在,它都会请求身份验证令牌。让它立即失败会向用户/攻击者表明这样的用户不存在,因此您可以从消除过程中枚举用户。

    至于“必备”选项,在堆栈设置中给出“必备”和“必备”具有相同的影响。pam_krb无论如何都无法在没有有效用户的情况下请求票证,因此最终会立即失败。

    对于给定的配置pam_unix不是用于身份验证而是用于授权,这是在身份验证之后发生的一个步骤。澄清; 身份验证涉及证明您是您所说的人,而授权涉及您拥有正确的权限来做您想做的事情(在这种情况下是登录)。

    • 4

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve