【问题标题】:Kerberos on Squid Server and Active DirectorySquid 服务器和 Active Directory 上的 Kerberos
【发布时间】:2014-12-18 05:44:19
【问题描述】:

我已在我们的网络上成功运行 Active Directory 和 Squid Proxy (v.2.7)。我想为不同部门的用户提供统一的访问权限,因此我想利用 Kerberos for Squid 来了解它应该向知道分配给 AD 的组的用户授予什么权限。

在 Squid 代理服务器 (VM) 中安装 Kerberos 的过程中,当我尝试运行 msktutil 时遇到错误。见下文。

有人可以向我解释一下问题所在吗?以及如何开始进行故障排除。我在 Google 中研究过这个问题,但得到的回答很模糊。

root@debian:~# msktutil -c -b "CN-COMPUTERS" -s HTTP/debian.internal.local -k /etc/squid/PROXY.keytab --computer-name SQUIDPROXY --upn HTTP/debian.internal.local --server internal.servers.com.com --verbose
 -- init_password: Wiping the computer password structure
 -- create_fake_krb5_conf: Created a fake krb5.conf file: /tmp/.msktkrb5.conf-oyfv6j
 -- reload: Reloading Kerberos Context
 -- finalize_exec: SAM Account Name is: SQUIDPROXY$
 -- try_machine_keytab_princ: Trying to authenticate for SQUIDPROXY$ from local keytab...
 -- try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (Client not found in Kerberos database)
 -- try_machine_keytab_princ: Authentication with keytab failed
 -- try_machine_keytab_princ: Trying to authenticate for host/debian.internal from local keytab...
 -- try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (Client not found in Kerberos database)
 -- try_machine_keytab_princ: Authentication with keytab failed
 -- try_machine_password: Trying to authenticate for SQUIDPROXY$ with password.
 -- try_machine_password: Error: krb5_get_init_creds_keytab failed (Client not found in Kerberos database)
 -- try_machine_password: Authentication with password failed
 -- try_user_creds: Checking if default ticket cache has tickets...
 -- finalize_exec: Authenticated using method 4
 -- ldap_connect: Connecting to LDAP server: internal.servers.com.com try_tls=YES
 -- ldap_connect: Connecting to LDAP server: internal.servers.com.com try_tls=NO
SASL/GSSAPI authentication started
Error: ldap_sasl_interactive_bind_s failed (Local error)
Error: ldap_connect failed
--> Is your kerberos ticket expired? You might try re-"kinit"ing.
 -- ~KRB5Context: Destroying Kerberos Context

此外,这可能会为您提供更多关于问题所在的信息。

root@debian:~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: user@INTERNAL.SERVERS.COM.COM

Valid starting    Expires           Service principal
18/12/2014 00:23  18/12/2014 10:23  krbtgt/INTERNAL.SERVERS.COM.COM@INTERNAL.SERVERS.COM.COM
        renew until 19/12/2014 00:23

【问题讨论】:

    标签: active-directory kerberos squid


    【解决方案1】:

    经过长时间的研究。我发现了 2 个错误点。

    1. 在主机文件上,指定了领域,但 kerberos 不打算解决它。 添加领域 (myexchange.com) 的另一个值 (dc1.myexchange.com) 似乎可以启用 AD 和 Squid 服务器(运行 kerberos 的地方)之间的连接。

    2. 假设。由于我能够 kinit,我假设 AD 可以看到来自 squid 服务器的查询。因此,我无法检查两台服务器之间的 DNS。

    【讨论】:

    • 您能否指定您编辑/运行的文件和/或命令来解决问题?
    • 这特别适用于两台机器的 DNS。这是他们建立双向连接的唯一方法(因此他们可以看到彼此)。确保两台机器的 DNS 设置相同
    猜你喜欢
    • 2020-07-02
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多