Port 749 is the Kerberos administration (kadmind) port for managing principals, policies, and keytabs. The kadmin service on port 749 allows remote creation and deletion of Kerberos principals. Access should be restricted to Kerberos administrators only – unauthorized access enables full realm compromise.
Port Number
749
Protocol
TCP
Service
Kerberos Administration (kadmind)
Range
IANA Well-Known (0–1023)
Test kadmin connectivity and list principals (should require auth)
kadmin -p admin/admin@REALM -q 'listprincs' 2>&1 | head -5Check if kadmind is running on the KDC
ss -tlnp | grep 749View password policy (must run locally on KDC)
kadmin.local -q 'getpol default'Verify kadmin port accessibility (should only be open from admin subnet)
nmap -p 749 kdc.example.comkadmin -p admin/admin@REALM
kadmin.local: addprinc user@REALM
kadmin: ktadd -k /etc/krb5.keytab host/server@REALMPort 749 was assigned for the Kerberos administration protocol (kadmin) as part of MIT Kerberos V5. The kadmin service allows remote management of the KDC database: creating/deleting principals, extracting keytabs, and modifying policies. Active Directory chose a different path – managing Kerberos principals through standard AD tools (LDAP, MMC) rather than kadmin. FreeIPA wraps kadmin in its own API but still runs kadmind on 749 for backward compatibility.
Does Active Directory use port 749?
No. Active Directory manages Kerberos principals through LDAP (port 389/636) and RPC, not through kadmin. Port 749 is only used by MIT Kerberos and FreeIPA deployments. If you're running a pure AD environment, port 749 is not needed and should be blocked. FreeIPA environments need 749 open between IPA servers and admin workstations.
How do I secure kadmin access?
1. Restrict port 749 to specific admin IPs (firewall/ACL). 2. Use strong passwords for admin principals (admin/admin@REALM should have 20+ char random password). 3. Create per-admin principals (jsmith/admin@REALM) instead of sharing one. 4. Enable kadmind logging: log_file = /var/log/kadmind.log in kdc.conf. 5. Consider using kadmin.local (socket-based, no network) for most operations.