手册页部分 5: 标准、环境和宏

退出打印视图

更新时间: 2014 年 7 月
 
 

krb5envvar(5)

名称

krb5envvar - Kerberos 环境变量

描述

Kerberos 机制提供了许多环境变量,可配置不同行为来满足应用程序的需求。Kerberos 机制中使用的环境变量包括:

KRB5_KTNAME

由机制用于指定密钥表文件的位置。该变量可设置为以下值:

[[<kt type>:]<file name>]

其中 <kt type> 可以为 FILEWRFILEFILE 表示读取操作;WRFILE 表示写入操作。<file name>keytab 文件的位置。

r

如果未定义 KRB5_KTNAME,缺省值为:

FILE:/etc/krb5/krb5.keytab

keytab 文件用于永久存储凭证并且通常用于服务守护进程。

指定 FILE 类型即假设对关联文件的后续操作可由调用进程读取。务必小心确保文件仅可供需要检索未加密密钥的主体集读取。

WRFILE 类型由 kadmin(1M) 命令使用。指定此类型可允许管理员指定要写入的替代 keytab 文件,而无需对文件位置使用其他命令行参数。

KRB5CCNAME

由机制用于指定凭证高速缓存的位置。该变量可设置为以下值:

[[<cc type>:]<file name>]

其中,<cc type> 可以是 FILEMEMORY<file name> 是主体的凭证高速缓存的位置。

如果未定义 KRB5CCNAME,缺省值为:

FILE:/tmp/krb5cc_<uid>

其中,<uid> 是创建高速缓存文件的进程的用户 ID。

凭证高速缓存文件用于存储已授予主体的票证。

指定 FILE 类型即假设对关联文件的后续操作可由调用进程读取和写入。务必小心确保文件仅可供需要访问凭证的主体集访问。如果凭证文件位于其他用户拥有写入访问权的目录中,则需要设置该目录的 Sticky 位(请参见 chmod(1))。

MEMORY 凭证高速缓存类型仅在特殊情况下使用,如为调用进程的生命周期创建临时高速缓存时。

KRB5RCNAME

由机制用于指定重放高速缓存的类型和位置。该变量可设置为以下值:

[[<rc type>:]<file name>]

其中,<rc type> 可以是 FILEMEMORYNONE<file name> 仅在指定重放高速缓存文件类型时相关。

如果未定义,缺省值为:

FILE:/var/krb5/rcache/root/rc_<service>

...如果进程的所有者为 root,或:

FILE:/var/krb5/rcache/rc_<service>

...如果进程的所有者为 root 以外的用户。<service> 是与重放高速缓存文件相关联的服务进程名称。

重放高速缓存由 Kerberos 用于检测验证数据的重放。这可防止在网络上捕捉验证消息的人员通过重新发送这些消息来针对服务器进行验证。

当指定 FILE 重放高速缓存类型时,必须小心防止其他用户删除重放高速缓存文件。请确保重放高速缓存路径中的每个目录仅可由重放高速缓存的所有者写入,或者其他人具有写入权限的重放高速缓存路径中每个目录上均已设置 Sticky 位 (“t”)。

当指定 MEMORY 重放高速缓存类型时,您需要在性能与使用非持久性高速缓存产生的轻度安全风险之间进行权衡。系统重新引导期间发生以下状况即会产生风险:

  • 从重新引导前上次写入重放高速缓存到 Kerberos 服务器应用程序运行时的持续时间少于 Kerberos 时钟相位差(请参见 krb5.conf(4))。

当指定 NONE 重放高速缓存时间时,您需要了解这将会禁用重放高速缓存及其所带来的全部安全性风险。这包括手册页的此部分中所述的全部风险。

在此状况下,服务器应用程序可接受重放 Kerberos 验证数据(直到上次写入时与时钟相位差之间的差异为止)。通常,这是一小段时间而已。如果服务器应用程序开始接受连接所花的时间比时钟相位差长,则没有重放风险。

如果重放高速缓存位于 swap 文件系统(如 /tmp/var/run)中时使用 FILE 重放高速缓存类型,仍存在上述风险。

通过 FILE 类型的 MEMORY 重放高速缓存类型性能改进得益于无需磁盘 I/O。即使 FILE 重放高速缓存位于内存备份文件系统上仍是如此,如 swap(/tmp/var/run)。

请注意,MEMORY 类型高速缓存是每进程高速缓存,因此必须谨慎使用这些类型的高速缓存。MEMORY 类型高速缓存可能产生问题的示例之一即是应用程序使用多个进程来建立安全上下文。在此情况下,内存重放高速缓存不会在进程中共享,从而使重放攻击成为可能。

KRB5_CONFIG

允许 Kerberos 库从 /etc/krb5/krb5.conf 以外的文件读取配置参数。要通过 ksh(1) 使用 kinit,请使用以下示例:

KRB5_CONFIG=/var/tmp/krb5.conf kinit

属性

有关以下属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/security/kerberos-5
接口稳定性
Uncommitted(未确定)

另请参见

chmod(1)kinit(1)klist(1)ksh(1)kadmin(1M)kadmind(1M)krb5.conf(4)attributes(5)kerberos(5)