问题标签 [mit-kerberos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2016 浏览

hadoop - Hadoop 安全

场景: - 用户登录到他的计算机通过 Kerberos 身份验证进行身份验证并提交地图缩减作业

我正在尝试学习“如何在 Hadoop 中实现 Kerberos?” 我浏览了这个文档 https://issues.apache.org/jira/browse/HADOOP-4487 我也浏览了基本的 Kerberos 东西(https://www.youtube.com/watch?v=KD2Q-2ToloE

从这些资源中学习后,我得出了一个我通过图表表示的结论。场景: - 用户登录到他的计算机通过 Kerberos 身份验证并提交地图缩减作业(请阅读图表的描述,它几乎不需要 5 分钟的时间)我想解释图表并提出与少数相关的问题步骤(粗体) 黄色背景的数字代表整个流程(数字 1 到 19) DT(红色背景)代表委托令牌 BAT(绿色背景)代表块访问令牌 JT(棕色背景)代表作业令牌

步骤 1、2、3 和 4 表示:- 请求 TGT(授予票证)请求名称节点的服务票证。 Question1) KDC应该在哪里?它可以在我的名称节点或作业跟踪器所在的机器上吗?

步骤 5、6、7、8 和 9 代表:- 向名称节点显示服务票证,获得确认。名称节点将发出委托令牌(红色)用户将告知令牌更新者(在这种情况下是 Job Tracker)

问题 2) 用户将此委托令牌连同作业一起提交给 Job Tracker。委托令牌会与任务跟踪器共享吗?

步骤 10、11、12、13 和 14 代表:- 请求 Job tracker 的服务票证,从 KDC 获取服务票证 将此票证显示给 Job Tracker 并从 JobTracker 获得 ACK 提交 Job + Delegation Token 到 JobTracker。

步骤 15,16 和 17 表示:- 生成块访问令牌并传播到所有数据节点。将 blockID 和 Block Access Token 发送到 Job Tracker,Job Tracker 会将其传递给 TaskTracker

问题 3) 谁会向 Name Node 索要 BlockAccessToken 和 Block ID?JobTracker 或 TaskTracker

抱歉,我不小心错过了 18 号。Step19 表示:- Job Tracker 生成 Job Token(棕色)并将其传递给 TaskTrackers。

问题 4)我是否可以得出结论,每个用户将有一个委托令牌,它将分布在整个集群中,并且每个作业将有一个作业令牌?所以一个用户将只有一个Delegation Token和许多Job Tokens(等于他提交的作业数量)。

请告诉我我是否遗漏了什么,或者我在解释中的某个地方有错误。

0 投票
2 回答
9221 浏览

python - 如何在 Python 中获得 Kerberos 票证

如果您知道用户名/密码,有没有办法在 Python 中创建 Kerberos 票证?

我有 MIT Kerberos,我可以通过 KINIT 以交互方式执行此操作,但想从 Python 执行此操作。

0 投票
1 回答
785 浏览

php - PHP Kerberos:检查有效票证/访问票证

我们有一个使用 Kerberos 通过 Active Directory 进行网站身份验证的 apache2 服务器。在网站上,我使用 Drupal 框架和不受支持的“Kerberos 身份验证”模块(https://www.drupal.org/project/kerberos_authentication)。

当用户想要访问网站时,她/他必须执行以下操作:

  1. 打开浏览器并导航到网站
  2. 将出现一个弹出窗口,询问 Kerberos/AD 凭据。( 在此处输入图像描述)
  3. 输入 AD 凭据
  4. 被允许继续访问 drupal 网站。
  5. 访问网站

问题出在第 5 部分:用户仍然需要填写登录表单才能登录到 drupal。多亏了 Drupal-Kerberos-Module,AD 用户名和密码才能正常工作。但这首先会放弃 Kerberos,因为用户必须多次输入他们的凭据。

如何使用 php 访问用户被授予/存储在浏览器(或存储在任何地方)中的票证?或者如何检查用户是否为有效的 Kerberos 票证,以便用户不必输入他的登录数据两次并使用 php 自动登录到 drupal?(我知道这可能需要我编写自己的 drupal 模块)

0 投票
1 回答
4740 浏览

kerberos - 将 kerberos 票证的 maxlife 重置超过 24 小时

我在我的机器上使用 MIT kerberos 5 对用户进行身份验证。这会将票证授予用户。我想将票的 maxlife 重置超过 24 小时。默认情况下,kerberos 票证的最长生命周期为 24 小时。我尝试了以下步骤:

  1. 更改了/var/kerberos/krb5kdc/kdc.conf 我没有找到 max-life 所以我设置max_life = 168h 0m 0s
  2. /etc/krb5.conf 将默认的ticket_lifetime从24小时更改 为ticket_lifetime = 168h 0m 0s
  3. 默认情况下,主体生命周期是最长票证生命周期:1 天 00:00:00
  4. 我使用以下命令将其更改为 168h

    /li>
  5. 它更改为 - 最长票证寿命:7 天 00:00:00

  6. 然后我kinit为用户做了一个并检查klist

结果klist仍然显示票证寿命为 24 小时。的输出klist如下:

如果有人知道,请告诉我我在哪里做错了。不到 24 小时我可以更改机票寿命,但超过 24 小时不会反映在klist. 我将不胜感激。

0 投票
2 回答
1981 浏览

security - Kerberos 中的服务票证 - Hadoop 安全性

我正在尝试使用 kerberos 保护我的 hadoop 集群。我可以使用 kinit 命令生成 TGT。但除此之外,我被困住了。

1)我想知道“serviceTicket”在现实中是什么意思。(不作为描述);使用哪个命令/代码我们可以使用服务票?

2) '.keyTab' 文件和 '.keyStore' 文件有什么用?

Hadoop-Kerberos 故事

  1. 用户使用kinit命令向 KDC 发送身份验证请求。

  2. KDC 发回加密票证。

  3. 用户通过提供他的密码来解密票证。

4. 现在经过身份验证,用户发送服务票证请求。

5. KDC 验证票证并发回服务票证。

  1. 用户将服务票证提交给 hdfs@KERBEROS.com。

  2. hdfs@KERBEROS.com 解密票证,验证用户身份

第四步,“申请服务票”;它实际上是什么意思?要获得 TGT,我们使用“kinit”命令。同样,获得服务票的程序/方法是什么?

我的详细过程:

  • LDAP:活动目录
  • Kerberos:安装在 Ubuntu 中
  • Hadoop 集群:在 Ubuntu 机器上配置,一主一从
  • Ubuntu用户名:labuser
  • Ubuntu 中的领域:KERBEROS.COM

  • 该计划是通过 Kerberos 和 Active Directory 提供 hadoop 安全性

  • 在 Kerberos 服务器机器中为 ActiveDirectory 中存在的用户生成 TGT(使用 kinit 命令)

接下来要将 Kerberos 与 Ubuntu hadoop 集群集成,请执行以下操作,

1)创建委托人的命令:addprinc -randkey namenode/labuser@KERBEROS.COM

2)创建keytab的命令xst -norandkey -k namenode.service.keytab namenode/labuser@KERBEROS.COM (或) ktadd -k namenode.service.keytab namenode/labuser@KERBEROS.COM

3) 分别在 hadoop 配置文件中添加了属性到 Kerberos。

  • 盯着hadoop集群,我们知道所有服务(Namenode,Datanode,Resource Manager和Node Manager)的登录都成功了。

    • 日志信息:INFO org.apache.hadoop.security.UserGroupInformation:用户 dn/labuser@KERBEROS.COM 使用 keytab 文件登录成功 * /home/labuser/hadoopC/etc/hadoop/dn.service.keytab
  • 然而Hadoop 集群没有启动,出现故障,

    • DataNode(java.lang.RuntimeException:没有特权资源无法启动安全集群)

    • NameNode(java.io.FileNotFoundException: /home/labuser/.keystore (没有这样的文件或目录))

请建议上述Kerberos过程是否需要任何更改?如果是,请说明理由

0 投票
4 回答
1789 浏览

hadoop - Kerberos kadmin 服务错误

我需要设置 kerberos 安全性,但是在运行 kadmin 服务时出现以下错误。

0 投票
0 回答
221 浏览

c++ - 设置 KRB5_CONFIG 是线程安全的吗?

我需要在我的代码中设置 krb5.conf 的路径。请让我知道哪个是线程安全的?

方法1:设置环境变量,如

方法2:(我不确定这是否会设置krb5.conf文件路径)

0 投票
1 回答
3020 浏览

linux - Kerberos master-slave setup : Database propagation, and KDC & KADMIN switching

I am trying to setup Kerberos on Redhat with slaves and database propagation (not incremental). I am going through MIT's documentation for KDC installation and configuration. Currently, I have three doubts/issues:

  1. Do we need kpropd running on slave KDC, even if we do not have incremental propagation ?

    I started xinetd service, and tried propagating database (without starting kpropd, as I have not configured incremental propagation), and it gave me an error:

    However, when I started kpropd in the same setup without any configuration change, I was able to successfully propagate the database.

    As per the document, it says

    [Re]start inetd daemon. Alternatively, start kpropd as a stand-alone daemon. This is required when incremental propagation is enabled.

    I went through MIT's Troubleshooting page as well, and it said the same, i.e. inetd can run kprop.

    My inetd.conf:

    /li>
  2. Do we need to add Kerberos Administration Server (admin_server) for slave KDC in krb5.conf? OR In other words, can we have more than one admin_server properties configured in krb5.conf?

    Since we are configuring a master-slave setup and can switch to a slave KDC creating it a new master at any point of time. We would need to start a Kerberos Administration Server (kadmind) on the new master, as well. Do we need to have hosts for both the admin servers listed in the krb5.conf file?

    I tried adding both the hosts, but it turns out that this property only picks the last configured one.

    My krb5.conf looks like:

    In such a case, admin server would be looked only at new-master-host.my.domain, even if it is running on old-master-host.my.domain.

  3. Can we start Kerberos Administration Server on a slave KDC machine, as specified in MIT documentation?

    I tried starting Kerberos Administration Server (kadmind) on my new master and I got an error:

    Is it not advisable to start the Administration server on the slave machine or do we have to [re]move the kpropd.acl file before we can start Administration server?

I would really appreciate any pointers or help.

0 投票
1 回答
295 浏览

sockets - MIT Kerberos - kpropd 什么都不做

我正在尝试在 CentOS 机器上启动 kpropd。它不提供任何状态并且不启动该过程。退出代码为“1”

我在调试模式下启动它:

表明:

kpropd:绑定侦听器套接字时地址已在使用中

我在 netstat 中没有看到任何监听端口 754 的内容。系统是一个虚拟机,只有 eth0 和 lo。krb5kdc 运行正常。

这都是本地的,但无论如何我都会发布 iptables 条目:

关于可能阻塞套接字的任何想法?

0 投票
1 回答
1314 浏览

redhat - FreeIPA:无法运行 ipa 命令

我已经安装了 FreeIPA 服务器并创建了一个用户。一段时间后用户帐户被锁定,所以我尝试使用它来解锁它,ipa user-unlock但是在执行 ipa 命令时我遇到了问题。以下是我面临的问题:

以下是httpd的日志: *

gss_accept_sec_context() 失败:未指定的 GSS 失败。次要代码可能会提供更多信息(请求中的主体错误),引用者: https://fqdn/ipa/xml

*

如果我尝试为该用户获取票证,则会收到以下错误: