TMAegis
More rules for kerberos

TMA-KERBEROS-KEYTAB-PERMS

Ensure keytab files are owned by root and accessible only by their owner

HighLevel 1Automatedkerberos

Description

Keytabs contain long-term service keys usable to impersonate the service or decrypt its tickets. Checks /etc/krb5.keytab and the kadmind keytab (/etc/krb5kdc/kadm5.keytab or /var/kerberos/krb5kdc/kadm5.keytab): each existing file must be owned by root with no group or other permissions.

How it is checked

Audit method: Shell command

shell
n=0; bad=0
for f in /etc/krb5.keytab /etc/krb5kdc/kadm5.keytab /var/kerberos/krb5kdc/kadm5.keytab; do
  [ -f "$f" ] || continue
  n=$((n+1))
  o=$(stat -Lc %U "$f") || exit 1
  [ "$o" = root ] || { echo "$f owned by $o"; bad=1; }
  [ -z "$(find -L "$f" -maxdepth 0 -perm /077)" ] || { echo "$f is accessible by group/other"; bad=1; }
done
[ "$n" -gt 0 ] && [ "$bad" -eq 0 ] && echo compliant
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

chown root:root <keytab> && chmod 600 <keytab> for each keytab listed. If a non-root service must read a keytab, give it a dedicated per-service keytab (ktutil) owned by that service account with mode 600 instead of opening /etc/krb5.keytab.

Properties

Operating systems
Any
Tags
kerberospermissionskeys
Reference
CIS MIT Kerberos / Linux Benchmark guidance - Keytab file permissions (verify section number for your release)

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target kerberos