插件窝 干货文章 linux kerberos如何安装部署

linux kerberos如何安装部署

krb sudo KDC EXAMPLE 385    来源:    2025-05-14

Linux 下 Kerberos 安装部署指南

Kerberos 是一种网络认证协议,用于在非安全网络中安全地验证用户身份。以下是 Linux 系统上安装和配置 Kerberos 的详细步骤。

1. 准备工作

系统要求

  • 一台或多台运行 Linux 的服务器
  • root 或 sudo 权限
  • 网络连接正常

规划

  • 确定 Kerberos 领域名称(通常使用大写域名,如 EXAMPLE.COM
  • 确定 KDC (Key Distribution Center) 服务器的主机名
  • 确定管理服务器的位置

2. 安装 Kerberos 软件包

在 Debian/Ubuntu 上安装:

sudo apt-get update
sudo apt-get install krb5-kdc krb5-admin-server krb5-config

在 RHEL/CentOS 上安装:

sudo yum install krb5-server krb5-libs krb5-workstation

3. 配置 Kerberos

主配置文件 (/etc/krb5.conf)

[libdefaults]
    default_realm = EXAMPLE.COM
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true

[realms]
    EXAMPLE.COM = {
        kdc = kdc.example.com
        admin_server = kdc.example.com
    }

[domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

KDC 配置 (/etc/krb5kdc/kdc.conf)

[kdcdefaults]
    kdc_ports = 750,88

[realms]
    EXAMPLE.COM = {
        database_name = /var/lib/krb5kdc/principal
        admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
        acl_file = /etc/krb5kdc/kadm5.acl
        key_stash_file = /etc/krb5kdc/stash
        max_life = 10h 0m 0s
        max_renewable_life = 7d 0h 0m 0s
        master_key_type = aes256-cts
        supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
    }

配置 ACL (/etc/krb5kdc/kadm5.acl)

*/admin@EXAMPLE.COM *

4. 创建 Kerberos 数据库

sudo krb5_newrealm

按照提示输入主密码(务必记住此密码)。

5. 启动 Kerberos 服务

Debian/Ubuntu:

sudo systemctl start krb5-kdc krb5-admin-server
sudo systemctl enable krb5-kdc krb5-admin-server

RHEL/CentOS:

sudo systemctl start krb5kdc kadmin
sudo systemctl enable krb5kdc kadmin

6. 创建管理员主体

sudo kadmin.local

在 kadmin.local 提示符下:

addprinc admin/admin

按照提示设置密码。

7. 测试 Kerberos

获取管理员票据:

kinit admin/admin

查看票据:

klist

创建测试用户:

kadmin.local -q "addprinc testuser"

测试用户登录:

kinit testuser

8. 配置客户端

在需要认证的客户端机器上:

  1. 安装客户端软件包:

    • Debian/Ubuntu: sudo apt-get install krb5-user
    • RHEL/CentOS: sudo yum install krb5-workstation
  2. 复制或创建相同的 /etc/krb5.conf 文件

  3. 测试客户端连接:

    kinit testuser
    klist
    

9. 常见问题排查

  1. 时间同步问题:确保所有机器时间同步(使用 NTP)

    sudo apt-get install ntp
    sudo systemctl start ntp
    
  2. DNS 解析问题:确保 KDC 服务器的主机名可以正确解析

  3. 防火墙问题:开放 Kerberos 相关端口(通常为 88/tcp, 88/udp, 749/tcp)

  4. 查看日志

    • Debian/Ubuntu: /var/log/krb5kdc.log/var/log/kadmind.log
    • RHEL/CentOS: /var/log/krb5kdc.log/var/log/krb5lib.log

10. 高级配置(可选)

配置从 KDC

sudo apt-get install krb5-kdc krb5-admin-server
sudo kdb5_util -r EXAMPLE.COM -s stash
sudo krb5kdc
sudo kadmin -p admin/admin

跨域信任

需要在 kadmin 中使用 addprinc -requires_preauth krbtgt/DOMAIN2.COM@DOMAIN1.COM 等命令

集成 LDAP

sudo apt-get install krb5-kdc-ldap

总结

以上是 Linux 系统上 Kerberos 的基本安装和配置过程。根据您的具体需求,可能还需要进行额外的配置,如集成 PAM、配置服务主体或设置自动票据续订等。