Before diving into the Kerberos protocol, there are a few foundational skills and tools you need to prepare, from an understanding of symmetric and asymmetric cryptography, networking and DNS basics, to a lab topology with one KDC and two clients that will serve as the practice stage for this entire series.

Welcome to the Learn Kerberos series! This series will help you master Kerberos — the network authentication protocol that is the foundation of security in Active Directory and almost every enterprise environment — from fundamental cryptographic concepts to production-grade deployment. There are 31 episodes in total that will build your understanding layer by layer, from the authentication flow, KDC installation, SSH and NFS integration, all the way to security best practices and troubleshooting.
But before creating your first ticket, there are a few foundational skills and tools you must prepare first. Why are these prerequisites important? Because Kerberos is not just a command you type — it is a cryptographic protocol that lives on the network, depending on synchronized clocks, clean DNS, and keys that are managed correctly. If the foundations aren't ready, every error like Clock skew too great will feel like a puzzle with no end.
Imagine wanting to be a security guard in a building with a sophisticated card access system, but not understanding how the card works, which keys protect it, or who is allowed in. Episode 0 is your roadmap: we will prepare the foundational skills, gather the tools, and then set up the lab topology you will use throughout the series.
Kerberos is built on cryptography, so you must understand at least these three concepts:
| Concept | How it works | Analogy |
|---|---|---|
| Symmetric encryption | One shared key for both encryption and decryption | One padlock key: whoever holds the key can open it |
| Asymmetric encryption | A key pair: public for encryption, private for decryption | Two keys: a mailbox, anyone can drop mail in, only the private key holder opens it |
| Hash / digest | One-way function: cannot be reversed | Fingerprint: unique to every person, but you cannot reconstruct the person from it |
Why does this matter? Because a Kerberos ticket is essentially a symmetrically encrypted block of data. When you come across terms like AES256-CTS-HMAC-SHA1-96 in the episode on encryption types later, you will already have the foundation to understand what it means.
Kerberos is a network protocol, so you should be comfortable with IP addresses, ports, and DNS. The ports you will see frequently: 88 for the KDC (TCP and UDP), 749 for kadmin, and 464 for kpasswd. DNS is crucial because Kerberos finds its KDC through SRV records — we will break that down in full in episode 4.
Two words that are often confused, but the difference is fundamental:
Kerberos answers the question "who are you?", not "what are you allowed to do?". Understand this boundary from the start so you don't misread authentication results.
LDAP is a directory service that stores centralized identity — users, groups, computers. In the real world, Kerberos and LDAP often work as a pair: Kerberos proves identity, LDAP provides authoritative data. For the early episodes, you only need to know the basic concept; full integration is covered in episode 17.
Almost all interaction with Kerberos happens through the terminal. At minimum you should be comfortable with directory navigation (pwd, ls, cd), reading manuals (man), and running commands with sudo. Kerberos tools like kinit, klist, and kadmin are pure CLI — there are no buttons to click.
Kerberos works with a three-party model: the client requesting access, the server providing the service, and the KDC acting as the trusted third party. If you already understand the request-response concept between client and server, understanding Kerberos becomes much easier — because Kerberos adds an intermediary layer in the middle of that conversation.
| Component | Meaning | Kerberos's role |
|---|---|---|
| Confidentiality | Data can only be read by authorized parties | Tickets and conversations are encrypted |
| Integrity | Data does not change during transit | Timestamps and cryptographic checksums |
| Availability | Services remain available | KDC replicas and reliable NTP |
Kerberos contributes directly to the first two components, and to availability through the high availability design covered in episode 25.
Here is the full list of software you will use throughout the series:
| Tools | Function | Notes |
|---|---|---|
| Linux server | Where the lab runs | Recommendation: Ubuntu Server 24.04 LTS |
| MIT Kerberos | Protocol implementation | Heimdal also exists, but MIT is the de-facto standard |
| NTP / chrony | Time synchronization | Critical: Kerberos tolerates only 5 minutes of clock difference |
| DNS (BIND / dnsmasq) | Name resolution and KDC discovery | Can be replaced with /etc/hosts for a small lab |
| LDAP server | Identity integration (optional) | Used in episode 17 |
| Text editor | Editing configuration | vim or nano |
| Wireshark | Packet analysis | Optional, very helpful for debugging |
| Client tools | kinit, klist, kdestroy | Your main daily tools |
| kadmin tools | Principal administration | kadmin and kadmin.local |
MIT Kerberos is the reference implementation that is most widely used, documented, and the basis of the enterprise ecosystem. Heimdal is also valid, but for this series we consistently use MIT Kerberos so that every command example and configuration path can be applied directly without translation.
Four tools will accompany you every day:
| Tools | Function |
|---|---|
kinit | Log in and obtain a ticket (TGT) |
klist | View the list of tickets you hold |
kdestroy | Delete all tickets (log out) |
kadmin | Manage principals on the KDC |
Understand all four now, because from episode 5 until the end of the series, kinit and klist will be the opening lines of almost every practice.
We will build a lab with one realm named EXAMPLE.COM (the Kerberos realm naming convention is always uppercase), one KDC server, and two clients. A realm is the Kerberos administrative boundary — a simple analogy is a "kingdom" with its own cryptographic laws.
+------------------+
| kdc.example.com |
| KDC + kadmin |
| 192.168.10.10 |
+--------+---------+
|
+-------------+-------------+
| |
+----------+---------+ +----------+---------+
| client1.example.com| | client2.example.com|
| 192.168.10.21 | | 192.168.10.22 |
+--------------------+ +--------------------+
Realm: EXAMPLE.COM | DNS: example.com | Time: chrony| Host | Role | IP Address |
|---|---|---|
kdc.example.com | KDC (AS + TGS + database) | 192.168.10.10 |
client1.example.com | Client for testing | 192.168.10.21 |
client2.example.com | Second client | 192.168.10.22 |
All hosts are on a single network where they can reach each other. This configuration is enough for the entire series — even for the later cross-realm episode, you'll simply add a second realm.
Kerberos is very lightweight at lab scale, but there are minimums you should respect:
Important
Time synchronization is the prerequisite most often underestimated and the most frequent cause of Clock skew too great errors in the real world. From now on, get into the habit of checking the clocks of all VMs before every Kerberos practice. The timedatectl status or chronyc tracking commands will become your constant companions.
Once the VMs are up, install the Kerberos client tools on both clients along with their supporting packages:
sudo apt update
sudo apt install krb5-user chrony dnsutils -yOn the KDC server, install the KDC package and its admin tools:
sudo apt update
sudo apt install krb5-kdc krb5-admin-server -yThen verify that all tools are available and the environment is healthy:
which kinit klist kdestroy kadmin
klist -V
timedatectl status
dig +short kdc.example.comNote
If dig +short kdc.example.com doesn't return an IP address yet, don't panic — we'll build DNS resolution in episode 4. For now, just make sure all the binary tools are installed and the clock shows an approximately correct time.
EXAMPLE.COM.kinit, klist, kdestroy, kadmin) are installed.In episode 0 you laid the foundation for the entire series: understanding the cryptography and networking basics that underpin Kerberos, gathering the required tools (MIT Kerberos, chrony, DNS, Wireshark, and the client tools), and setting up a lab topology with one KDC and two clients in the EXAMPLE.COM realm.
Key takeaways:
In the next episode, episode 1, we'll cover the history, background, and why the world needed Kerberos — from the protocol's birth in MIT's Project Athena in the 1980s, the naming story of the three-headed dog Cerberus, to the traditional authentication problems it set out to solve. Make sure your lab is standing, because the Learn Kerberos journey is just beginning!