Membangun mata realm dengan logging KDC dan klien, konfigurasi KRB5_TRACE untuk debugging, analisis pola kegagalan autentikasi, hingga alat monitoring seperti ELK, Grafana, dan SIEM beserta metrik kunci yang harus dipantau.

Di episode 21 kalian menutup gerbang: enkripsi AES saja, preauth diwajibkan, lifetime pendek, keytab diamankan, dan serangan umum dipetakan. Tapi semua pertahanan itu buta tanpa penglihatan. Serangan tidak mengetuk pintu — mereka masuk lewat anomali yang kelihatan hanya jika kalian memantau log dan metrik.
Episode 22 membangun "mata" realm: logging di sisi KDC dan klien, analisis log untuk membaca sinyal kegagalan, alat monitoring seperti ELK dan Grafana, serta metrik yang harus selalu dalam pengawasan. Di sinilah deteksi yang disebutkan di episode 21 menjadi operasional.
KDC MIT Kerberos menulis semua aktivitas ke log yang bisa dikonfigurasi penuh. Semua pesan — autentikasi, otorisasi, dan error — berkumpul di satu tempat sehingga bisa dianalisis.
Konfigurasi logging dilakukan di bagian [logging] pada /etc/krb5.conf (atau kdc.conf):
[logging]
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
default = FILE:/var/log/krb5libs.logkdc — log utama aktivitas KDC: semua AS_REQ, TGS_REQ, dan hasilnya.admin_server — log perubahan yang dilakukan lewat kadmin (addprinc, modprinc, delprinc).default — log library Kerberos di sisi mesin (klien dan service).Selain FILE, tujuan bisa berupa SYSLOG:severity:facility untuk meneruskan ke syslog (misalnya SYSLOG:INFO:LOCAL0), atau DEVICE=/dev/null untuk membuang output. Memakai syslog memudahkan integrasi dengan SIEM nantinya.
Log KDC tidak punya level DEBUG/INFO yang bisa dipilih per-module seperti aplikasi web. Tingkat detail diatur lewat:
SYSLOG:.KRB5_TRACE (dibahas di bagian klien).Log KDC menampung tiga kategori utama:
Cuplikan berikut menunjukkan pola pesan yang akan sering kalian temui (format bisa bervariasi antar versi, perhatikan isinya):
AS_REQ alice@EXAMPLE.COM from 10.0.0.50: PREAUTH_FAILED
TGS_REQ alice@EXAMPLE.COM: S_PRINCIPAL_UNKNOWN
AS_REQ 10.0.0.51: CLOCK_SKEW: time is off by 360 seconds
ISSUE: authtime ... alice@EXAMPLE.COM for krbtgt/EXAMPLE.COM@EXAMPLE.COMKDC bukan satu-satunya sumber log. Sisi klien sering menyimpan jawaban yang tidak terlihat di log server — misalnya saat permintaan tidak pernah sampai ke KDC.
Variabel lingkungan KRB5_TRACE membuat library klien menuliskan jejak lengkap setiap langkah Kerberos ke file yang ditunjuk. Gunakan KRB5_TRACE=/dev/stdout untuk melihat langsung:
export KRB5_TRACE=/dev/stdout
kinit alice@EXAMPLE.COMJejak ini menunjukkan seluruh alur: pencarian realm, penemuan KDC, pengiriman AS_REQ, enctypes yang ditawarkan, sampai hasil akhir. Ini alat nomor satu saat autentikasi gagal dengan alasan yang tidak jelas.
default di [logging] (misalnya krb5libs.log).gssapi atau kerberos di konfigurasi logging aplikasi (misalnya modul Apache, SSH, NFS)./var/log/sssd/ — saat SSSD gagal mengambil tiket, jejaknya ada di sana, bukan di KDC.Log KDC yang baik akan menceritakan masalah sebelum user sempat melaporkannya. Kenali pola berikut:
| Pola di log | Arti | Tindakan |
|---|---|---|
PREAUTH_FAILED berulang | Password salah atau preauth bermasalah | Verifikasi password, periksa waktu |
CLOCK_SKEW | Selisih jam lebih dari toleransi 5 menit | Sinkronkan dengan NTP segera |
| Enctypes tidak cocok | Klien hanya menawarkan enkripsi lemah | Bandingkan klist -e dan konfigurasi KDC |
Principal not found in Kerberos database | Principal tidak terdaftar | Periksa ejaan realm dan akun |
Ticket expired | Tiket sudah lewat masa berlakunya | Ulangi kinit, periksa lifetime |
PREAUTH_FAILED dari satu IP atau satu user adalah sinyal brute force atau password-spray.Note
Pola log KDC bisa berbeda-beda antar versi MIT dan antara MIT dengan AD. Fokus pada isi pesan — PREAUTH_FAILED, CLOCK_SKEW, S_PRINCIPAL_UNKNOWN — karena teks khasnya cukup konsisten untuk dijadikan aturan deteksi.
Log saja belum cukup bila tersebar di ratusan host. Gabungkan dengan alat agregasi dan visualisasi:
rsyslog atau syslog-ng di sisi KDC menuju Elasticsearch/Loki, atau langsung ke Splunk. Di sinilah deteksi anomali dari episode 21 dijalankan sebagai rule.Metrik adalah detak jantung realm. Awali dengan yang paling berdampak:
| Metrik | Cara mengukur | Indikator masalah |
|---|---|---|
| Auth success/failure rates | Hitung dari log AS_REQ/TGS_REQ | Lonjakan gagal = brute force atau misconfig |
| KDC performance | Latensi respons AS_REQ, CPU KDC | KDC lambat = kapasitas mendekati batas |
| Database load | Waktu query kdb5_util, ukuran database | DB membengkak = kebijakan retensi perlu audit |
| Ticket issuance rate | Jumlah tiket per menit | Peningkatan tajam = lalu lintas baru atau anomali |
| Service response times | Waktu hingga service menerima tiket | Memburuk = masalah jaringan atau KDC |
tail -f /var/log/krb5kdc.log | grep -c "ISSUE" | while read n; do echo "asreq_ok $n"; doneScript semacam ini mudah disambungkan ke Prometheus textfile collector dan divisualisasikan di Grafana — dari sana, alerting tinggal selangkah lagi.
Episode 22 ini memberi kalian penglihatan: konfigurasi logging KDC di [logging], jejak klien dengan KRB5_TRACE, analisis pola kegagalan seperti PREAUTH_FAILED, CLOCK_SKEW, dan S_PRINCIPAL_UNKNOWN, hingga alat monitoring (ELK, Grafana, SIEM) dan metrik kunci yang wajib dipantau.
Inti yang harus dibawa pulang:
[logging] di krb5.conf.KRB5_TRACE=/dev/stdout mengungkap seluruh alur autentikasi dari sisi klien.PREAUTH_FAILED untuk password, CLOCK_SKEW untuk waktu, S_PRINCIPAL_UNKNOWN untuk principal.Di episode 23 kalian akan memakai semua mata ini untuk menyembuhkan: Troubleshooting Kerberos — memetakan error umum ke solusinya, teknik debugging dengan KRB5_TRACE dan klist -e, hingga masalah jaringan dan keytab. Sampai jumpa!