Closing the series with a production checklist: verifying DNS, time synchronization, encryption, KDC replicas, monitoring, backup, and documentation before go-live; keeping the realm healthy in day-to-day operations; avoiding common traps; and summarizing the entire Kerberos journey from episode 0 to episode 30.

Congratulations — you've come a long way. From episode 0, which introduced the basics of authentication and the myths surrounding Kerberos, you learned the architecture of the KDC, AS, and TGS; the complete ticket exchange flow; keytabs and principals; realm policies like lifetime and renewable; cross-realm trust; large scale and replication in episode 26; Kerberos in the cloud in episode 27; modern alternatives in episode 28; and compliance and audit in episode 29. Episode 30 is the culmination: bringing it all together into a production checklist and best practices you can use tomorrow morning. This isn't new material — it's a checklist distilling the entire series.
Before a realm touches production, make sure the following eight things are correct:
| No | Item | Description |
|---|---|---|
| 1 | DNS configured and tested | A and SRV records for all KDCs |
| 2 | Time synchronization verified | NTP/chrony on all hosts |
| 3 | Encryption hardened | AES only, no DES/RC4 |
| 4 | KDC replicas installed | At least one replica |
| 5 | Monitoring configured | Processes, failures, capacity |
| 6 | Backup tested | Test restore before go-live |
| 7 | Documentation complete | Topology, procedures, runbook |
| 8 | Security audit passed | Principals, acl, enctypes clean |
Each item is detailed below.
Kerberos relies on DNS to find the KDC and determine the realm. Make sure the A and SRV records _kerberos._udp and _kerberos._tcp are correct, then test from the client's point of view:
host -t SRV _kerberos._udp.prod.example.com
kinit budi
klistIf kinit succeeds and klist shows a TGT, DNS is healthy enough for production. A correct krb5.conf configuration on the client won't help if the SRV records are wrong.
Kerberos uses timestamps to fight replay attacks. The maximum clock skew is usually around 5 minutes, but a healthy production environment keeps well below that. Use NTP or chrony on all hosts, and make sure the KDC itself uses a trusted time source:
timedatectl status
chronyc trackingA difference of seconds, not minutes, is a healthy target.
In production, only modern enctypes may live. Disable DES and RC4, enable AES, and reject weak cryptography:
[libdefaults]
default_realm = PROD.EXAMPLE.COM
allow_weak_crypto = false
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96The chosen enctypes must be understood by every member of the realm — KDC, clients, and services. Enctype changes are among the most sensitive changes, so test in staging first.
A single KDC is a single point of failure. At least one replica is required; the database is replicated from the master. Clients use DNS SRV covering all KDCs, so one master's failure doesn't break authentication. Test failover periodically — shut down the master and make sure clients can still get tickets.
An unmonitored KDC is a ticking time bomb. What must be monitored:
krb5kdc process is alive or deadalerts:
- name: kdc-down
expr: up{job="krb5kdc"} == 0
- name: auth-fail-spike
expr: rate(kdc_as_req_failed_total[5m]) > 10Monitoring prevents outages — not by avoiding failure, but by making failure visible earlier.
A KDC backup is the principal database files at /var/lib/krb5kdc/principal* plus kadm5.acl and configuration. A good backup is one that has been restored — schedule a restore test before production, not after a disaster. A database that can't be restored is worth the same as having no backup at all.
A production realm that only exists in its admin's head is a risk. Document the realm topology, the KDC list, the principal-adding procedure, the keytab rotation schedule, and runbooks for common incidents. Documentation saves you in the middle of the night when an incident happens — and good documents are built before the incident, not after.
Before go-live, run an audit: review kadm5.acl, make sure there are no principals without owners, verify enctypes across the realm, and check whether kadmin is only accessible from the right hosts. Treat this final audit as the green light signal.
Once production is running, the work isn't done — it's just begun. The six practices below keep the realm healthy in the long run.
Repeat the access review from episode 29: compare the principal inventory against business needs, delete idle ones, and confirm the owners of privileged accounts. Schedule monthly or quarterly, depending on the applicable compliance framework.
Passwords and keytabs have a shelf life. Set a rotation schedule: administrative passwords rotated periodically, service keytabs rotated on personnel changes or signs of compromise, and make sure all hosts receive the new kvno.
The KDC is a critical component; security holes in MIT Kerberos or in the cryptography underneath it are entry points. Follow vendor security releases and apply patches quickly. Patch negligence is one way a well-built production realm can still be breached.
Monitor the growth of principal counts and request volume. When approaching limits, add replicas or enlarge instances. Unmonitored capacity makes authentication slow during busy periods — and slow authentication spreads through the entire organization.
Scenarios that must have procedures: KDC down, compromised keytab, hijacked principal, or brute-force against kpasswd. Write down the steps, who to contact, and how to recover. It doesn't need to be perfect — it needs to exist and be tested.
Every realm configuration change — adding a KDC, changing enctypes, replacing the master — is a risky change. Follow a change management process: plan, test in staging, execute in an agreed window, and prepare a rollback.
Here are the traps that most often trip up production teams, along with their prevention:
| Trap | Impact | Prevention |
|---|---|---|
| Clock skew | Random authentication failures | NTP/chrony on all hosts |
| Misconfigured DNS | Clients can't find the KDC | Test SRV before go-live |
| Weak encryption | Security risk | Disable DES and RC4 |
| No replica | Total outage when the KDC dies | At least one replica |
| Unmanaged keytabs | Leaked or lingering credentials | Rotate and inventory keytabs |
| Minimal monitoring | Incidents noticed too late | Alert on failures |
| No DR plan | Slow or impossible recovery | Backup plus restore test |
These seven traps are the seven main reasons a well-built realm can still collapse in production.
Summarizing the entire series in ten points:
And here is where the journey ends. Starting from episode 0, you built understanding from scratch: what authentication is and why tickets became the answer; the anatomy of the KDC, AS, and TGS; the complete Kerberos flow; keytabs and principals; realm policies like lifetime and renewable; cross-realm trust; large scale and replication; Kerberos in the cloud; its position among OAuth2, OIDC, and SAML; compliance and audit; and now the production checklist that unites it all. Thirty episodes, one complete story about an authentication protocol that has been the backbone of enterprise networks for over three decades.
Key takeaways:
Your journey in this series stops here, but learning doesn't stop. If you enjoy the identity world, the natural next direction is Active Directory — because most of what you learned about Kerberos in this series is the foundation for understanding how Windows manages authentication at the scale of thousands of domains. After that, the wider identity and access management world — federation, privileged access management, and passwordless — awaits exploration. See you on the next adventure.