Articles of kerberos

Apache 2.4与Kerberos身份validation和LDAP授权

我正在尝试使用Kerberos身份validation和LDAP组成员身份validation来设置Apache SVN存储库,以便只有属于特定组的用户才能访问它。 自己的Kerberos身份validation工作正常,就像LDAP本身一样。 但是我想以这种方式将它们结合起来,这样我就没有纯文本凭据绑定到apacheconfiguration中的LDAP目录。 我目前的configuration(不起作用)是: LDAPVerifyServerCert Off <Location /svn01> DAV svn SVNParentPath /var/www/svn01 AuthType Kerberos Authname "Test Repo" KrbMethodK5Passwd On KrbAuthRealms KOUKOU.LOCAL KrbSaveCredentials On KrbServiceName HTTP Krb5KeyTab /etc/httpd/conf.d/svnusr.http.keytab AuthLDAPUrl ldaps://ad01.koukou.local:636/dc=koukou,dc=local?krbPrincipalName Require ldap-group CN=admins,CN=Users,DC=koukou,DC=local </Location> 我在互联网上看到过这种configuration,但这对我不起作用。 我在浏览器中得到的是“未经授权”,并在Apache错误日志中得到: [Thu Mar 02 09:55:21.817559 2017] [authnz_ldap:debug] [pid 10314] mod_authnz_ldap.c(838): [client 172.21.11.13:57737] AH01711: auth_ldap authorise: User DN not found, User […]

Apache Kerberos身份validation:KDC不支持encryptiontypes

我在这个问题上发布一个新的线程,因为我在这里find的所有解决scheme都不适合我。 我试图configuration一个apache2通过keytab在AD2012服务器上使用Kerberos进行身份validation。 首先,我激活了AD中的所有encryptionmsDS-EncryptedSupportedTypes 这是我的客户端(debian) krb5.conf : [logging] default = FILE:/var/log/krb5.log [libdefaults] default_realm = REALM.LOCAL kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true # for testing purpose only allow_weak_crypto = true default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 [realms] REALM.LOCAL = […]

通过ssh连接到一个freeIPA客户端主机的问题

我正在尝试与CentOS 7.3服务器和客户端build立一个IPA环境,我正在经历一个我无法理解的行为。 我正在使用IPA版本4.4.0。 我能够在ipa-server-install上运行ipa-server-install ,而在ipa-client-install上运行ipa-server-install ipa-client-install却没有任何问题。 然后,除了已经存在的用户admin ,我还添加了一个新的用户foo ,这个用户admin由IPA自动设置用于pipe理。 现在到了奇怪的部分: 我能够在客户端机器上为admin和foo获取kinit <user>的Kerberos票据。 所以看起来安装程序成功了,我可以在所有主机上获得一个Kerberos票证,如果以root身份login, su – foo也可以正常工作。 另外,当我尝试通过sshlogin到IPA 服务器机器时,比如说ssh foo@servermachine ,它就像一个魅力一样。 但是,如果我尝试login到IPA 客户机,即ssh foo@clientmachine我立即断开连接: ! user@machine >ssh foo@clientmachine Password: foo@clientmachine's password: Connection closed by 172.27.0.104 有趣的是,ssh要求密码两次。 ssh -vvv在第二次密码尝试后产生: foo@clientmachine's password: debug3: packet_send2: adding 64 (len 57 padlen 7 extra_pad 64) debug2: we sent a password packet, […]

Apache与Kerberos身份validation性能差

我有一个Apache实例,使用kerberos SSO与我们已经运行的内部应用程序。 但是performance非常差。 我相信从一个tcp转储,当用户点击我们的一些我们的dojoforms的应用程序,Apache正在打电话给我们的KDC,以确保用户有权限这些文件。 由于道场图书馆相当繁重,这是需要很长时间才能运行,严重影响了基于道场的表格加载的性能。 我们正在使用mod_auth_kerb ,目前我们的httpd.conf文件是这样的。 <Directory "/opt/myapp/public"> AllowOverride All Order allow,deny Allow from all AuthType Kerberos AuthName KerberosLogin KrbServiceName HTTP/[email protected] KrbMethodNegotiate On KrbMethodK5Passwd On KrbAuthRealms MYDOMAIN.COM Krb5KeyTab /etc/krb5.keytab require valid-user </Directory> 有没有一个命令,我可以放在httpd.conf文件或一个.htaccess文件,我把它放在保存了dojo库的javascript目录,告诉Apache不要validation目录访问? 我相信这会使网站性能提高100倍。 (是的,这真的很糟糕) 谢谢

通用的基于Unix的networkingauthentication工具?

我希望通过SSH,Web(理想情况下包括SSL,可select使用客户端证书或密码进行身份validation,就像他们在MIT所做的那样)以及任何应用程序想要使用的身份validation。 Kerberos似乎最适合我想要的,但工具支持似乎令人惊讶的差。 这些日子人们用什么?

SQL Server分析服务,DNS,AD,Kerberos,连接问题

遇到一个非常奇怪的问题。 转换服务器到Windows 2008 / SQL 2008.有一个服务器,SERVER_A,全新的,设置与Win2k8,Sql2k8 – 工程。 有一台服务器SERVER_B,运行Windows2003 / SQL2005。 我想从SERVER_B迁移到SERVER_A。 我有所有的数据库,多维数据集等SERVER_A上设置,它是模仿function。 由于用户使用Excel连接到SSAS,所以连接string中包含SERVER_B。 我想要做的是,将networking上的DNS更改为指向SERVER_B(按名称)在SERVER_A的IP上。 我已经用另一台服务器SERVER_C成功完成了这个工作,但是我需要用SERVER_B来完成。 我发现,使用SERVER_C,在更改DNS后,必须从AD中删除SERVER_C,然后才能正常工作。 我可以连接到SERVER_C(DB),SERVER_C(SSAS默认实例)和SERVER_C(SSAS命名实例),它实际上都连接到SERVER_A 我试图用SERVER_B做同样的事情,没有运气。 更改了从AD删除的DNS,并且它不会连接。 发现有一些在公元build立的SPN,所以删除了这些,并再次尝试。 然后我可以连接到SERVER_B(DB),SERVER_B(SSAS命名实例),而不是SERVER_B(SSAS默认实例)。 我可以连接到SERVER_B(SSAS默认实体与端口#),但我需要能够连接没有端口号。 我不知道为什么我不能连接到没有端口#的默认实例。 不知道它是在AD,或另一个AD问题,或其他的SPN。 很确定它不是在服务器上的东西(因为SERVER_C工作!) 任何见解或build议将是非常有益的!

Kerberos错误KDC_ERR_S_PRINCIPAL_UNKNOWN,我应该关心吗?

我们已经在我们的环境中使用了大量的Kerberos身份validation,但似乎仍然有效,但是在打开Kerberos错误日志logging时仍然会popup一些错误消息。 最困扰我的两个都是KDC_ERR_S_PRINCIPAL_UNKNOWN根据http://technet.microsoft.com/en-us/library/cc772897(WS.10).aspx是SERVER不在Kerberos数据库。 假设corp.lan的域,这两个错误消息是针对servername:app.corp.lan和dc1.corp.lan的。 现在,当我做一个setspn -l应用程序时,我得到了很多spn,但是没有一个用于app.corp.lan。 相同的dc1,setspn -l dc1返回15 +logging,setspn -l dc1.corp.lan重build一个错误。 这是一个“真正的”错误,我们应该试图追查和修复,或者只是一些奇怪的应用程序做坏的请求?

testsaslauthd和kerberos5问题(“saslauthd内部错误”)

错误消息“saslauthd内部错误”似乎对saslauthd是一个全面的,所以我不知道它是否是一个红色的鲱鱼,但这里是我的问题的简要说明: 这个Kerberos命令工作正常: $ echo getprivs | kadmin -p username -w password Authenticating as principal username with password. kadmin: getprivs current privileges: GET ADD MODIFY DELETE 但是这个SASLtesting命令失败: $ testsaslauthd -u username -p password 0: NO "authentication failed" saslauthd与“-asasldb”很好地工作,但上面是“-a kerberos5” 这是我似乎能从saslauthd得到的最详细的信息: saslauthd[]: auth_krb5: krb5_get_init_creds_password: -1765328353 saslauthd[]: do_auth : auth failure: [user=username] [service=imap] [realm=] [mech=kerberos5] [reason=saslauthd internal error] […]

iis的基本authentication与Kerberos?

一位朋友告诉我,他使用IIS的基本身份validation来validation他的web应用程序。 该系统也使用Kerberos,但Basic Authentication和Kerberos如何协同工作? 我知道基本身份validation在Base64中发送密码(如明文),Kerberos不通过networking发送密码,它使用票据系统。 那么,Kerberos如何使用基本身份validation进行整合?

将我的网站移到不同的服务器将Kerberos身份validation更改为NTLM

我有一个为Windows身份validationconfiguration的web服务。 调用WS的客户端代码将凭据传递给WS,如下所示: myWebService.Credentials = System.Net.CredentialCache.DefaultCredentials; (我的理解是,这代表login用户的用户名 – 密码域)。 我正在testingconfiguration问题,并对如何确保Kerberos设置感到困惑。 详细信息关注: 我在同一个IIS服务器上有两个虚拟目录(一个是带“.aspx”页面的“客户端”),另一个是“服务器”(它托pipe着客户端调用的web服务)。 我的客户端通过此代码显示关于连接用户的关键信息: private string GetUserInfo() { System.Security.Principal.WindowsIdentity UserIdentityInfo; StringBuilder msg = new StringBuilder("User Name: "); UserIdentityInfo = System.Security.Principal.WindowsIdentity.GetCurrent(); msg.Append(UserIdentityInfo.Name); msg.Append(Environment.NewLine); msg.Append(" Token: "); msg.Append(UserIdentityInfo.Token.ToString()); msg.Append(Environment.NewLine); msg.Append(" Authenticated: "); msg.Append(UserIdentityInfo.AuthenticationType); msg.Append(Environment.NewLine); msg.Append(" System: "); msg.Append(UserIdentityInfo.IsSystem); msg.Append(Environment.NewLine); msg.Append(" Guest: "); msg.Append(UserIdentityInfo.IsGuest); msg.Append(Environment.NewLine); msg.Append(" Anonymous: "); msg.Append(UserIdentityInfo.IsAnonymous); msg.Append(Environment.NewLine); […]