使用桌面应用程序的开源IMAP服务器进行单点登录(SSO)?

时间:2013-07-23 19:54:50

标签: active-directory single-sign-on imap kerberos ntlm

我一直在阅读很多关于这个主题但我无法达成解决方案。 我想告诉我我得到了什么,并展示了我尝试过的一些内容。

在我们公司,我们的Windows用户通过Windows Server 2003上的Active Directory进行身份验证。 我们使用安装在Centos 6上的开源邮件服务器,例如Postfix with Cyrus Imap。

目标是让用户从任何桌面应用程序(如Thunderbird,Outlook等)检查邮件......不必再次输入密码。 (SSO)。

我尝试过的是使用Postifix,Cyrsus Imap,Samba,librerias de clientes kerberos,GSSAPI,Thunderbird,Kerberos For Windows以及使用Windows Server 2003的kdc。

有些步骤会触及此页面:enter link description here

即使在这个论坛中询问也无法继续推进甚至捕获whireshark。

enter link description here

现在我正在考虑尝试其他替代方案。 您可以使用NTLM获得某些项目,但可以通过Web浏览而不是桌面应用程序访问这些项目。

我在想这个问题没有解决办法,或者我没有看到这个问题。

有没有人能够实现某些目标?这样我建议关注?。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你想要做的事情是完全可能的;我把所有这些作品都自己工作,或者非常相似。由于我的设置,我只使Thunderbird与KfW一起安装并使用其GSSAPI DLL,但它可以选择使用SSPI(Windows本机Kerberos提供程序),因此它也应该以这种方式工作。

我要做的第一件事就是让Kerberos与Cyrus和Postfix合作。您需要获取Kerberos服务主体:imap / hostname @ DOMAIN和smtp / hostname @ DOMAIN。您可以使用setspn.exe将这些添加到某个AD帐户(任何人都可以);省略该命令中的@DOMAIN部分。然后你需要包含主键的文件给Cyrus和Postfix,称为keytabs。您可以使用ktpass.exe,但这是一个糟糕的程序 - 您也可以在Unix上使用 ktutil (假设MIT Kerberos)使用AD帐户的密码制作匹配的密钥表。

在服务器端,对于Cyrus,您需要安装GSSAPI SASL库。您可以使用imtest程序(Debian上的cyrus-clients的一部分)来测试并获得GSSAPI / Kerberos IMAP身份验证的工作;在Unix上使用“kinit username @ DOMAIN”从域控制器获取Kerberos凭据。我只为Kerberos设置sendmail,而不是Postfix,我自己。