kerberos mysql配置_管理 Kerberos 数据库

管理 Kerberos 数据库

Kerberos 数据库是 Kerberos 的主干,必须正确维护。本节介绍有关如何管理 Kerberos 数据库的一些过程,例如备份和恢复数据库、设置增量或并行传播以及管理存储文件。如何手动配置主 KDC 服务器中介绍了该数据库的初始设置步骤。

备份和传播 Kerberos 数据库

将 Kerberos 数据库从主 KDC 服务器传播到从 KDC 服务器是最重要的配置任务之一。如果传播发生频率不够高,主 KDC 服务器与从 KDC 服务器将无法保持同步。因此,如果主 KDC

服务器关闭,从 KDC 服务器将不能获取最新的数据库信息。此外,如果出于负载平衡目的将从 KDC 服务器配置为主 KDC 服务器,则将该从 KDC 服务器用作主 KDC 服务器的客户机将不能获取最新的信息。所以,必须确保传播发生频率足够高,或者基于更改 Kerberos

数据库的频率配置服务器以进行增量传播。增量传播优先于手动传播,因为手动传播数据库时需要更多的管理开销。此外,执行完全数据库传播时效率也较低。

配置主 KDC 服务器时,可以在 cron 作业中设置 kprop_script 命令以自动将 Kerberos 数据库备份到 /var/krb5/slave_datatrans 转储文件,并将该数据库传播到从 KDC

服务器。不过,与其他任何文件一样,Kerberos 数据库可能会受损。如果在从 KDC 服务器上发生数据受损,您可能不会注意到,因为下一次数据库自动传播会安装一个全新的副本。但是,如果在主 KDC 服务器上发生数据受损,则在下一次传播期间会将损坏的数据库传播到所有从 KDC 服务器。而且,损坏的备份会覆盖主 KDC 服务器上先前未损坏的备份文件。

由于在这种情况下不存在任何“安全”的备份副本,因此还应设置 cron 作业,以便定期将 slave_datatrans 转储文件复制到其他位置,或者使用 kdb5_util 的 dump 命令创建另一个单独的备份副本。这样,即使数据库受损,也可以使用 kdb5_util 的 load

命令在主 KDC 服务器上恢复最新的备份。

另一个重要注意事项是:数据库转储文件包含主体密钥,因此需要防止未经授权的用户访问该文件。缺省情况下,只有 root 身份才具有读写数据库转储文件的权限。要防止未经授权的访问,请仅使用 kprop 命令传播数据库转储文件,该命令会对传送中的数据进行加密。此外,kprop 命令仅将数据传播到从 KDC 服务器,这可以最大程度地降低将数据库转储文件意外发送到未经授权的主机的几率。

2882f309544718bece1a4186acc7f476.gif注意 -如果传播 Kerberos 数据库之后对其进行了更新,而在下一次传播之前该数据库受损,则从 KDC 服务器将不包含这些更新。这些更新将会丢失。因此,如果在计划的定期传播之前向 Kerberos 数据库添加了重要的更新,应手动传播该数据库,以避免数据丢失。

kpropd.acl 文件

从 KDC 服务器上的 kpropd.acl 文件提供主机主体名称的列表(每个名称占一行),用于指定该 KDC 可以通过传播从其接收更新数据库的系统。如果使用主 KDC 服务器传播到所有从 KDC 服务器,则每个从 KDC

服务器上的 kpropd.acl 文件仅需包含主 KDC 服务器的主机主体名称。

但是,本书中的 Kerberos 安装和后续配置步骤将引导您将同一个 kpropd.acl 文件添加到主 KDC 服务器和从 KDC 服务器。该文件包含所有 KDC 主机主体名称。通过此配置,在传播端 KDC

临时不可用时,可以从任何 KDC 进行传播。而且,通过在所有 KDC 上保留相同副本,可以轻松地维护配置。

kprop_script 命令

kprop_script 命令使用 kprop 命令将 Kerberos 数据库传播到其他 KDC。如果在从 KDC 服务器上运行 kprop_script 命令,则会将该从 KDC

服务器的 Kerberos 数据库副本传播到其他 KDC。kprop_script 接受主机名列表作为参数,该列表以空格分隔,表示要传播的 KDC。

运行 kprop_script 时,将在 /var/krb5/slave_datatrans 文件中创建 Kerberos 数据库的备份,并将该文件复制到指定的 KDC。在完成传播之前,Kerberos 数据库处于锁定状态。

如何备份 Kerberos 数据库成为主 KDC 服务器上的超级用户。

使用 kdb5_util 命令的 dump 命令备份 Kerberos 数据库。# /usr/sbin/kdb5_util dump [-verbose] [-d dbname] [filename [principals...]]-verbose

显示要备份的每个主体和策略的名称。

dbname

定义要备份的数据库的名称。请注意,可以指定文件的绝对路径。如果未指定 -d 选项,则缺省数据库名称为 /var/krb5/principal。

filename

定义用于备份数据库的文件。可以指定该文件的绝对路径。如果未指定文件,数据库将转储到标准输出。

principals

定义要备份的一个或多个主体的列表(以空格分隔)。必须使用全限定主体名称。如果未指定任何主体,则将备份整个数据库。

示例 23-12 备份 Kerberos 数据库

在以下示例中,Kerberos 数据库将备份到名为 dumpfile 的文件。由于指定了 -verbose 选项,备份时会显示每个主体。# kdb5_util dump -verbose dumpfile

kadmin/kdc1.eng.example.com@ENG.EXAMPLE.COM

krbtgt/ENG.EXAMPLE.COM@ENG.EXAMPLE.COM

kadmin/history@ENG.EXAMPLE.COM

pak/admin@ENG.EXAMPLE.COM

pak@ENG.EXAMPLE.COM

changepw/kdc1.eng.example.com@ENG.EXAMPLE.COM

在以下示例中,将备份 Kerberos 数据库中的 pak 和 pak/admin 主体。# kdb5_util dump -verbose dumpfile pak/admin@ENG.EXAMPLE.COM pak@ENG.EXAMPLE.COM

pak/admin@ENG.EXAMPLE.COM

pak@ENG.EXAMPLE.COM

如何恢复 Kerberos 数据库成为主 KDC 服务器上的超级用户。

在主 KDC 服务器上,停止 KDC 守护进程。kdc1 # svcadm disable network/security/krb5kdc

kdc1 # svcadm disable network/security/kadmin

使用 kdb_util 命令 的 load

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值