我正在尝试整合用户登录并考虑让局域网用户对Active Directory进行身份验证.需要身份验证的服务是Apache,Proftpd和ssh.
在咨询安全团队之后,我已经设置了具有LDAPS代理的身份验证DMZ,该代理又与LAN中的另一个LDAPS代理(proxy2)联系,并且这个通过LDAP(作为LDAP绑定)将身份验证信息传递给AD控制器.仅需要第二个LDAP代理,因为AD服务器拒绝使用我们的安全LDAP实现来讲TLS.
这适用于使用适当模块的Apache.稍后我可能会尝试将客户帐户从服务器移动到LDAP代理,这样它们就不会分散在服务器周围.
对于SSH,我将proxy2加入了Windows域,因此用户可以使用他们的Windows凭据登录.然后我创建了ssh密钥并使用ssh-copy将它们复制到DMZ服务器,以便在用户通过身份验证后启用无密码登录.
解决方法
您将遇到的主要问题是Microsoft决定对默认加密类型(它们基本上是自己的加密类型)非常具体,因此您需要设置Kerberos客户端以使用正确的匹配加密类型,或者AD服务器将继续拒绝它.幸运的是,这是一个简单的过程,不需要对krb5.conf进行多次编辑.
现在,有些链接供您考虑……
微软的Kerberos视图
Meshing Kerberos和Active Directory
> Step-by-Step Guide to Kerberos 5 (krb5 1.0) Interoperability
通过PAM进行ssh和Kerberos身份验证
> A snippet from O’Reilly’s book on SSH
> IBM has a few words on OpenSSH and Kerberos
Apache和Kerberos
> mod_auth_kerb via SourceForge
> Providing Active Directory authentication via Kerberos protocol in Apache
ProFTP和Kerberos
> ProFTPD module mod_gss也通过SourceForge
Microsoft使用Kerberos进行活动的RFC(您真的不想阅读):
> RFC3244 Microsoft Windows 2000 Kerberos Change Password and Set Password Protocols
> RFC4757 The RC4-HMAC Kerberos Encryption Types Used by Microsoft Windows