Kerberos Components

Published
Length
3 min read

Luis Felipe Dias

All posts

The main kerberos components are the client, the server, and the Key Distribution Center. They use encrypted tickets and secret keys to prove who you are without sending passwords. Teams often set up this ticket system to handle logins across Windows and Linux machines. It lets users log in once and reach many databases and servers. Still, admins often tie these tickets to broad server roles or shared admin groups. When a user gets a ticket, they often gain full control over the target system.

Components: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

The main kerberos components are the client, the server, and the Key Distribution Center. They use encrypted tickets and secret keys to prove who you are without sending passwords.

Teams often set up this ticket system to handle logins across Windows and Linux machines. It lets users log in once and reach many databases and servers. Still, admins often tie these tickets to broad server roles or shared admin groups. When a user gets a ticket, they often gain full control over the target system.

How the core kerberos components work together

Every login starts inside a boundary called a realm. The Key Distribution Center, or KDC, sits at the center of this realm. The KDC holds three main parts that run the ticket workflow. First, the database stores all user names, server names, and their secret keys. Second, the login Server checks your initial login request when you start your day. Third, the Ticket Granting Server hands out tickets for specific apps or databases.

When a user logs in, their client machine talks to the login Server first. The server checks the user in the database and sends back a Ticket Granting Ticket. The client saves this master ticket in memory for the rest of the day. Next, the user wants to open a database or run commands on a host. The client sends the master ticket to the Ticket Granting Server. That server checks the request and replies with a specific service ticket.

Finally, the client presents this service ticket directly to the target server. Both sides use shared secret keys to open and check the ticket contents. The target server trusts the KDC and lets the user in right away. No password ever crosses the network during this whole exchange.

Where ticket checks end and live sessions begin

This ticket setup solves a huge problem for network security teams. It stops attackers from stealing plain passwords off the network wire. It also gives admins one central place to disable an account when someone leaves. Synchronization of system clocks across all machines prevents attackers from replaying old tickets later.

Yet the protocol only cares about proving identity at the front door. Once the target server accepts the service ticket, the KDC steps out of the way. The protocol does not inspect what happens inside the session after login. If an engineer logs into a production database with a valid ticket, they are in. The ticket system cannot read the SQL queries they run next. It cannot block a drop table command or mask phone numbers and emails in results.

Components: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

The same gap appears during SSH or Kubernetes sessions authenticated by domain tickets. A valid ticket grants entry to the shell or cluster role. It does not require a peer to approve a dangerous command before it runs. It also leaves you with basic login logs instead of a record of every action. Teams still need a way to govern individual commands and mask sensitive fields in flight.

Managing service principals and key tables

Servers and automated apps also need identities inside the realm. The protocol calls these identities principals and stores their keys in local files. Admins must rotate these key files on a set schedule to keep systems safe. If an attacker steals a server key file, they can forge tickets for that service.

Clock drift is another daily hurdle for operations teams. Every ticket carries a strict time stamp to stop replay attacks. If a server clock drifts by a few minutes, logins fail right away. Teams must run network time services on every host to keep tickets working.

Govern statements and responses across databases and APIs

Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev runs beside each supported service as an open-source proxy, a sidecar for your database or API.

First, hoop.dev guardrails block banned queries before they run. Then hoop.dev data masking rewrites matched sensitive values in responses in memory. The audit trail records every statement and verdict per resource. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.

Frequently asked questions

What are the three parts of the Key Distribution Center?

The KDC contains the login Server, the Ticket Granting Server, and the principal database. Together, these parts check user identities, store secret keys, and issue encrypted tickets.

Why does Kerberos need synchronized system clocks?

Tickets include time stamps so attackers cannot capture and reuse old login requests later. If a machine clock drifts too far from the KDC clock, the server rejects the ticket.

Does a Kerberos ticket control what queries a user can run?

No, a service ticket only proves who the user is during the initial login handshake. After login, the target database or server must enforce its own rules on queries and data.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.