Articles of kerberos

python龙卷风用户authentication,然后通过Apache的反向代理

我正在实现双向SSL身份validation,然后通过Kerberos进行额外身份validation,之后通过反向代理将用户redirect到内部服务器。 即: SSL auth <–> Apache Server + kerberos auth using login/password <–reverse proxy–>> internal server 目前这个设置工作: 现在我的想法是使用这个configuration,因为我可以通过Tornado控制用户的行为 SSL auth <–> Apache server <—> Tornado webserver for kerberos auth <—> reverse proxy <—> internal server 我有SSLauthentication和Kerberosauthentication工作。 但是,如何告诉Tornado将内部服务器的proxy(apache)反向?

python:validationkerberos票

我想知道 – 如果有人有一个优雅的解决scheme,使用Python检查有效的Kerberos票证。 我不知道kinit或klist会显示票证是否已过期,但我可以运行klist并使用正则expression式输出。

Linux密钥表文件进行身份validation

我是Linux keytab文件的新手。 任何文件的新手关于什么是这个文件的身份validationfunction? 谢谢。 问候,乔治

在Ubuntu 16.04上无人参与安装krb5-user

所以,在运行时: sudo apt-get install krb5-user 您被要求inputAD / LDAP域。 问题是,我希望这能够作为我的机器启动脚本运行。 有没有办法通过作为参数的域名或禁用交互和设置krb5用户之后? 谢谢

“挂载错误(126):必需的密钥不可用”与CIFS和Kerberos

我的应用程序需要使用CIFS和Kerberos安全地安装Isilon共享。 我的mount尝试返回: Required key not available : mount -t cifs //fileserver.example.com/client123/files/mnt/client123/file-o username = acoder,password = XXXXXX,sec = krb5 响应: mount error(126): Required key not available Refer to the mount.cifs(8) manual page (eg man mount.cifs) 这里是来自/var/log/messages相应条目 Sep 16 16:33:49 clientbox kernel: CIFS VFS: Send error in SessSetup = -126 Sep 16 16:33:49 clientbox kernel: CIFS VFS: […]

Bash,执行命令,但继续交互式会话

我想为pagsh创build一个别名,这将立即让我的pipe理kerberos票。 问题是,我无法弄清楚如何为bash指定一个命令来运行,但在命令完成后仍然继续交互式会话。 我目前的拍摄是: alias admin=pagsh -c "bash -c \"kinit xtoth1@ADMIN.META\"" 但在kinit完成后, bash逻辑上结束。 如何将自定义命令推送到bash的交互式会话中? 我仍然需要正常运行.bashrc,因此我不能使用–rcfile

如何在c / c ++客户端服务器跨平台程序中使用gssapi kerberos?

过去几年,我不得不与海姆达尔/麻省理工学院的Gssapi一起“零星地”进行kerberosauthentication。 我必须构build一个应用程序,用作在Linux机器上运行的Web服务,并提供在Windows和/或Linux桌面和工作站上运行的浏览器等客户端应用程序。 当然不是最容易驯服的野兽。 最后,在总结我的工作时,我可以logging由于多方面的挑战而产生的困难。 开始使用gssapi编程确实是一个挑战,仅仅是因为文档很差,几乎没有任何教程。 谷歌search通常会导致一些关于什么是Kerberos的理论讨论,或导致内容写作推断,除了一些特定的语义问题,你已经知道了一切。 这里有一些非常好的黑客帮助我,所以我认为从开发人员的angular度来总结这些东西是一个好主意,并且在这里以某种wiki的forms分享这个东西,回馈给这个奇妙的地方,和程序员。 以前没有真正做过这样的wiki,我对GSSAPI和Kerberos没有任何权威,所以请善待,但更重要的是请贡献和纠正我的错误。 网站编辑,我指望你做你的魔术;) 让您的项目成功完成需要3个具体的事情才能正确完成: 设置你的testing环境 设置你的库 你的代码 正如我已经说过的,这样的项目是野兽,因为这三个都没有放在同一页的任何地方。 好吧,让我们从头开始。 新手 GSSAPI的不可避免的理论帮助客户端应用程序提供服务器的凭据来权威地识别用户。 非常有用,因为服务器应用程序可以根据用户调整他们的服务响应。 因此非常自然,因此两者 – 客户端和服务器应用程序必须被kerberized,或者像有些人会说kerberos意识到的。 基于Kerberos的身份validation要求客户端和服务器应用程序都是Kerberos Realm的成员。 KDC(Kerberos域控制器)是规范领域的指定权威。 微软的AD服务器是KDC最常见的例子之一,当然你也可以使用基于* NIX的KDC。 但肯定没有KDC,根本就没有Kerberos业务。 join域的桌面,服务器和工作站只要全部保持join域,就可以相互识别。 对于您的初始实验,请在同一领域设置客户端和服务器应用程序。 尽pipe通过在这些领域的KDC之间创build信任,或者甚至合并来自不相互信任的不同KDC的密钥表,Kerberos身份validation也可以跨领域使用。 你的代码并不需要任何改变来适应这种不同的和复杂的情况。 Kerberos身份validation基本上通过“票(或令牌)”工作。 当一个成员join领域时,KDC“授予令牌”给他们每个人。 这些令牌是独一无二的 时间和FQDN是这些票的重要因素。 在你甚至想到你的代码的第一行之前,确保你有这两个权利: 缺陷#1当您设置您的开发和testing环境时,请确保所有内容都经过testing并作为FQDN解决。 例如,如果您要检查连接性,请使用FQDN而不是IP进行ping。 不用说,因此,它们必须具有相同的DNS服务configuration。 缺陷#2确保所有运行KDC的主机系统,客户机软件,服务器软件具有相同的时间服务器。 时间同步是一个人忘记的事情,经过大量的分裂和意外之后,才意识到是不对的! 客户端和服务器应用程序都需要kerberos密钥表。 因此,如果您的应用程序要在* NIX主机中运行,并成为Microsoft域的一部分,则必须先生成一个Kerberos密钥表,然后再开始查看gss编程的其余准备步骤。 Kerberos 5的分步指南(krb5 1.0)互操作性是绝对必读的。 GSS-API编程指南是一个很好的书签。 根据您的* NIX发行版,您可以安装用于构build代码的标题和库。 然而,我的build议是下载源代码并自己构build。 是的,你可能无法一目了然,但肯定是值得的。 陷阱#3确保您的应用程序在Kerberos感知环境中运行。 我真的很难学,但也许是因为我不是很聪明。 在我最早的gssapi编程斗争阶段,我发现kerberos […]

尝试清除特定票证时,LsaCa​​llAuthenticationPackage返回ERROR_INVALID_PARAMETER 87(0x57)

我试图使用LsaCa​​llAuthenticationPackage清除caching中的特定票据。 我总是得到包状态中的ERROR_INVALID_PARAMETER 87。 可能是什么原因? 这是我的代码(所有其他步骤成功): KERB_QUERY_TKT_CACHE_REQUEST tktCacheRequest = { KerbQueryTicketCacheMessage}; void* pRep; DWORD cbRep; NTSTATUS pkgStatus; NTSTATUS s = LsaCallAuthenticationPackage( * hLsa, * nAuthPackage, &tktCacheRequest, sizeof tktCacheRequest, &pRep, &cbRep, &pkgStatus); pTktCacheResponse =(KERB_QUERY_TKT_CACHE_RESPONSE )pRep; for(ULONG i = 0; i <pTktCacheResponse-> CountOfTickets; ++ i){KERB_TICKET_CACHE_INFO&ti = pTktCacheResponse-> Tickets [i]; if(/ Some condition /){KERB_PURGE_TKT_CACHE_REQUEST req; req.MessageType = KerbPurgeTicketCacheMessage; req.ServerName […]

Hadoop webhdfs需要身份validation

我已经在windows中用SASLconfiguration了hadoop-2.6.0的kerberos安全性。 一切工作正常。 但webhdfs不能通过https协议工作。 Permission denied when trying to open /webhdfs/v1/?op=LISTSTATUS: GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag) 我刚刚使用https://主机名进行了testing:50470 / webhdfs / v1 /?op = LISTSTATUS 我已经设置下面的属性。 但仍然有相同的错误。 <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.web.authentication.kerberos.principal</name> <value>http/hostname@domain</value> </property> <property> <name>dfs.web.authentication.kerberos.keytab</name> <value>C:\http.keytab</value> </property> 帮助将不胜感激。 谢谢。

在Windows上安装python-kerberos

我试图在Windows上安装Kerberos,我下载Zip软件包,并在Kerberos文件夹中运行这个命令:python setup.py install但我得到这个错误: error: command 'C:\\Users\\aicha\\AppData\\Local\\Programs\\Common\\Microsoft\ \Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2 请帮忙。