Asaf Shazar
Asaf Shazar

Reputation: 1065

Some simple questions about Kerberos

I am learning about kerberos and i have few questions about it that i didnt found on the network and i wanna ask you.

The questions are:

  1. What happen when I change user's password? What really gonna behind? What the service it use? I want to know what the steps and how the KDS behave after change password
  2. Why kerberos's name called about the hades dog / 3 head dog? What the connection between them?
  3. In kerberos system how I can see my tickets I recive from the KDC?

Thank you in advance.

Upvotes: 2

Views: 1838

Answers (4)

Aman Khare
Aman Khare

Reputation: 171

Answers to you questions are:

  1. Once the password for the principal is changed then after that point of time whenever you are running kinit command to get the ticket you should use new password
  2. The name Kerberos was taken from Greek mythology; Kerberos (Cerberus) was a three-headed dog who guarded the gates of Hades. The three heads of the Kerberos protocol represent a client, a server and a Key Distribution Center (KDC).
  3. To view the ticket you get from KDC you can run klist command if will give the details of principal , ticket lifetimes etc. The location where ticket really exists depends on what you have given in /etc/krb5.conf which by default is default_ccache_name = FILE:/tmp/krb5cc_%{uid}

Upvotes: 0

Blake Russo
Blake Russo

Reputation: 181

****1. What happen when I change user's password?****

They will get a new password, nothing special really, it shouldn't affect an existing kerberos ticket cache that i am aware of as long as the ticket is valid. If they have to enter their password anywhere at a later point for example if you have to run the kinit command to get a ticket where you enter your password then you must use the new password.

There shouldn't be much "sync" time or anything but it is vital that the time on your server is synced with the KDC as Kerberos is strict about times being in sync, by default there is a 5 minute clock skew, so it can only be off my no more than 5 minutes or things will start failing. Typically you would do this on linux by running the ntpdate command to sync the clocks.

***1a. What really gonna behind? What the service it use? I want to know what the steps and how the KDS behave after change password****

What happens depends on your setup, of which you have a variety of options but here a few more common setups.

The most common setup is running a corporate Active Directory environment. In a basic Active Directory setup your Domain Controller(s) run your KDC automatically. So for this you would just reset your Active Directory users password then pretty much be good to go, it will take care of the changes to the KDC for you.

The second would be running an OpenLDAP type environment for your users in place of Active Directory where you would change the passwords in OpenLDAP then update the password in the MIT Kerberos KDC using the kpasswd command to reset the password for your principal on the MIT KDC unless you have setup something such as pass-through authentication.

The third setup I see in an MIT Kerberos KDC with no LDAP environment whatsoever. Usually the kerberos users are local user accounts on the operating system. In this case you would just update the password on the MIT KDC using the kpasswd command I mentioned before to update the keberos principal password for the user on the MIT KDC.

2. Why kerberos's name called about the hades dog / 3 head dog? What the connection between them?

In addition to build on the previous answers Kerberos is similar to the 3 headed dog since it performs a 3 way handshake when authenticating. The three pieces are the Key Distribution Center (KDC), the client, and the server. This article gives a good explanation in detail, it is slightly off as it is talking about specific software but at the bottom of page 1 from Paper 476-2013 Kerberos and SAS® 9.4: A Three-Headed Solution for Authentication by Stuart Rogers, SAS Institute you will find the specific details.

3. In kerberos system how I can see my tickets I recive from the KDC?

If you have a ticket you can run the klist command. Append a -ef for klist -ef to see your encryption types along with any flags such as forwarded, initial, renewal, and others. See the MIT Documentation in klist documentation at http://web.mit.edu/Kerberos/krb5-1.13/doc/user/user_commands/klist.html .

You can get a ticket by running the kinit command then entering your principals password. You can destroy a ticket cache by running kdestroy to clear your current tickets. This won't necessarly remove them from your cache directory though.

If you have a keytab file you can see details about it by running klist -kt /path/to/myuser.keytab to see the principal the keytab is for. There will be a principal per encryption type you are using, that is why it lists multiple of the same sometimes. You will see a KVNO number, which is your key version number, this number should always match for each principal.

Upvotes: 1

olmstad
olmstad

Reputation: 696

  1. From "Kerberos: The definitive guide" book by Jason Garman:

    The Greeks believed that when a person dies, his soul is sent to Hades to spend eternity. While all souls were sent to Hades, those people who had led a good life would be spared the eternal punishment that those who had not would have to endure. Cerberus, as the gatekeeper to Hades, ensured that only the souls of the dead entered Hades, and he ensured that souls could not escape once inside.

    As the gatekeeper to Hades, Cerberus authenticated those who attempted to enter (to determine whether they were dead or alive) and used that authentication to determine whether to allow access or not. Just like the ancient Cerberus, the modern Kerberos authenticates those users who attempt to access network resources.

  2. You can see list of your tickets with klist command. If you mean literally see file where tickets stored, this command provides you with path to ticket cache as well. On *nix systems using MIT Kerberos it's /tmp/krb5cc_%{uid} by default. This command also should work in windows, but I'm not sure is it installed by default.

Upvotes: 1

timbaileyjones
timbaileyjones

Reputation: 67

I only have an answer to your 2nd question. The reference to the three-headed dog is that there are 3 different entities:

  • The client system
  • the Authentication Server
  • the Service Server (the thing you're trying to access)

Most authentication protocols only involve the client and server.

Upvotes: 1

Related Questions