Search squid archive

Re: Re: Re: Kerberos with LDAP authentication failover and iTunes auth problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looking at your email again. You say your hostname is 3msydproxy01.example.local including the domain. So it should have worked.

I think the problem is that ou don't use the -s HTTP switch for the auto update as I see msktutils tries to authenticate as host/<fqdn> instead of HTTP/<fqdn> and get correctly the reply there is not client with that UPN.

-- try_machine_keytab_princ: Authentication with keytab failed
-- try_machine_keytab_princ: Trying to authenticate for
host/3msydproxy01.example.local from local keytab...
-- try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed
(Client not found in Kerberos database)




"Markus Moeller" <huaraz@xxxxxxxxxxxxxxxx> wrote in message news:je4600$4bd$1@xxxxxxxxxxxxxxx...
It could be because of the wrong use of msktutil. The -s option require HTP/<fqdn>.

msktutil --help shows:

-s, --service <name>   Adds the service <name> for the current host.
                        The service is of the form <service>/<hostname>.
If the hostname is omitted, assumes current hostname.
Markus

"James Robertson" <j@xxxxxxxxxxxxxxxx> wrote in message news:CAMALoy_r0Me_7HXCYs0-oKTowDMp-7JgD+fARGv4RNmO60QS7A@xxxxxxxxxxxxxx...
>
You should use two different computer accounts. For Kerberos the machine
name does not matter only the user- and service-principalname is of
importance. So use net ads join <computername> and for msktutil use
something like <computername>-HTTP as computername.

The issue with using the same name is that samba runs a daemon which
regularly changes the computer account password and thereby also changes the Kerberos key making the keytab with the extracted Kerberos key invalid. Many people use user accounts instead of computer accounts because they use thw
MS ktpass tool which only works with user accounts, whereas msktutil can
work with computer accounts. I dislike user accounts as you may have to
create exceptions to your domain password policy for users (e.g. don't
expire password).


I have tried to create a separate account for Kerberos using msktutil
but I am having some problems.

If I use a computer account name 3MSYDPROXY01-HTTP (where the hostname
of the proxy is 3msydproxy01.example.local) I can never get msktutil
--autoupdate to work after resetting the account in AD because the
try_machine_password step in msktutil always fails.  If the computer
account name matches the hostname it works fine.

I have been doing the following for testing:

Check no existing tickets exist
# kdestroy

Remove the existing keytab to start fresh (this is the location
referenced in /etc/krb5.conf)
# rm /etc/squid3/PROXY.keytab

Delete the account on the domain using dc1.example.local

Obtain a new ticket using administrator account
# kinit administrator

Add the proxy to the domain with the name "3MSYDPROXY01-HTTP" (SPN and
UPN are based on the hostname) - the process works to add the computer
account.
# msktutil -c -b "ou=MEMBER SERVERS,ou=EXAMPLE" -s HTTP -k
/etc/squid3/PROXY.keytab --computer-name 3MSYDPROXY01-HTTP \
 --upn HTTP/3msydproxy01.example.local --server dc1.example.local
--verbose --enctypes 28

Destroy the administrator ticket
# kdestroy

Reset the computer account in AD using dc1.example.local

Run msktutil --auto-update and show output
# msktutil --auto-update --verbose --computer-name 3msydproxy01-http
--server dc1.example.local
-- init_password: Wiping the computer password structure
-- get_default_keytab: Obtaining the default keytab name:
/etc/squid3/PROXY.keytab
-- create_fake_krb5_conf: Created a fake krb5.conf file:
/tmp/.msktkrb5.conf-VHa0ko
-- reload: Reloading Kerberos Context
-- finalize_exec: SAM Account Name is: 3msydproxy01-http$
-- try_machine_keytab_princ: Trying to authenticate for
3msydproxy01-http$ from local keytab...
-- try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed
(Preauthentication failed)
-- try_machine_keytab_princ: Authentication with keytab failed
-- try_machine_keytab_princ: Trying to authenticate for
host/3msydproxy01.example.local 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
3msydproxy01-http$ with password.
-- try_machine_password: Error: krb5_get_init_creds_keytab failed
(Preauthentication failed)
-- try_machine_password: Authentication with password failed
-- try_user_creds: Checking if default ticket cache has tickets...
-- try_user_creds: Error: krb5_cc_get_principal failed (No
credentials cache found)
-- try_user_creds: User ticket cache was not valid.
Error: could not find any credentials to authenticate with. Neither keytab,
    default machine password, nor calling user's tickets worked. Try
    "kinit"ing yourself some tickets with permission to create computer
    objects, or pre-creating the computer object in AD and selecting
    'reset account'.
-- ~KRB5Context: Destroying Kerberos Context


I would make one point here:  When using the proxy's hostname for
kerberos i.e. 3msydproxy01 instead of 3msydproxy01-http it works fine
and the try_machine_password step works as long as the --computer-name
is lower case (I can ommit the --computer-name option and it works
also obviously).  I tried adding 3msydproxy01-http in upper case and
lower case to AD and upper and lower case in the msktutil command and
neither method works.

I also tried with the SPN and UPN as 3msydproxy01-http.example.local
but this made no difference (and from my understanding would have
nothing to do with the try_machine_password msktutil step anyway).

I am using msktutil from here http://fuhm.net/software/msktutil/releases/

This may not be a problem as long as the computer account is never
reset but I need to cover all possible outcomes.








[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux