OpenWrt之使用kerberos

OpenWrt之使用kerberos

在openwrt源码中的位置:/package/feeds/packages/krb5/Makefile

Kerberos Server HowTo

用户使用手册

命令:

kinit

名称kinit - 获取和缓存 Kerberos 票证授予票证 (ticket-granting ticket)

kinit 命令用于获取和缓存 principal 的初始票证授予票证(凭证)。此票证用于 Kerberos 系统进行验证。只有拥有 Kerberos 主体的用户才可以使用 Kerberos 系统。

当使用 kinit 而未指定选项时,实用程序将提示您输入 principal 和 Kerberos 口令,并尝试使用本地 Kerberos 服务器验证您的登录。如果需要,可以在命令行上指定 principal。

如果登录尝试通过了 Kerberos 的验证,kinit 将检索您的初始票证授予票证并将其放到票证高速缓存中。缺省情况下,票证存储在 /tmp/krb5cc_uid 文件中,其中 uid 表示用户标识号。票证将在指定的生命周期后过期,之后必须再次运行 kinit。高速缓存中的任何现有内容都将被 kinit 销毁。

对于 lifetime 和 renewable_life,在命令行中指定的值将覆盖在 Kerberos 配置文件中指定的值。

选项

–a 请求具有本地地址的票证。

–A 请求无地址的票证。

–c cache_name  使用cache_name作为 Kerberos 5 凭据(票证)缓存位置。如果不使用此选项,则使用默认缓存位置。

–C 请求标准化主体名称,并允许 KDC 使用与请求的客户端主体不同的客户端主体进行回复。

–E 将主体名称视为企业名称。

–f 请求可转发票证。

–F 请求不可转发票证。
在一个主机上获取的票证通常不可在其他主机上使用。客户机可以请求将票证标记为可转发。在票证上设置 TKT_FLG_FORWARDABLE 标志后,用户可以使用此票证来请求具有其他 IP 地址的新票证。这样,用户可以使用当前凭证来获取在其他计算机上有效的凭证。此选项允许用户显式获取不可转发票证。

-k [-i | -t keytab_file]  请求从本地主机的keytab中的密钥获得的票据。
keytab的位置可以用-t keytab_file选项指定,也可以用-i选项指定使用默认的客户端keytab;否则默认的keytab将被使用。默认情况下,请求本地主机的主机票证,但可以指定任何主体。在KDC上,特殊的keytab位置KDB:可以用来指示kinit应该打开KDC数据库并直接查找密钥。这允许管理员获取票据作为支持基于密钥的身份验证的任何主体。

-I input_ccache
指定已包含票证的凭据缓存的名称。在获取该票证时,如果有关如何获得该票证的信息也存储到缓存中,则该信息将用于影响如何获得新凭证,包括预先选择向 KDC 进行身份验证的相同方法。

–l lifetime  请求生命周期为 lifetime 的票证。例如 `kinit -l 5:30 or kinit -l 5h30m`
如果不指定 –l 选项,将使用缺省票证生命周期(由各个站点配置)。如果指定的生命周期大于最大票证生命周期(由各个站点配置),则会将票证的生命周期设置为最大生命周期。
返回的票证生命周期是下列值中的最小值:
在命令行上指定的值。
在 KDC 配置文件中指定的值。
在 Kerberos 数据库中为服务器主体指定的值。
在 Kerberos 数据库中为用户主体指定的值。

–n  请求匿名处理。
支持两种匿名主体类型。对于完全匿名 Kerberos,需要在 KDC 上配置 pkinit 并在客户机的 krb5.conf 中配置 pkinit_anchors。然后使用 –n 选项并以 @REALM 形式(空主体名称后跟有 @ 符号和领域名称)指定主体。如果 KDC 允许,将返回匿名票证。
此外还支持另一种形式的匿名票证。这类公开领域的票证隐藏客户机身份但不隐藏客户机领域。对于此模式,请使用 kinit -n 并以常规形式指定主体名称。如果 KDC 支持,将用匿名主体替换主体(但不替换领域)。自发行版 1.8 起,MIT Kerberos KDC 仅支持完全匿名操作。

–p  请求可代理票证。
可代理票证是这样一种票证:它允许您为服务获取一个 IP 地址与票证授权票证的 IP 地址不同的票证。此选项允许用户显式获取不可代理票证。

–P  请求不可代理票证。

–r renewable_life
请求总生命周期为 renewable_life 的可更新票证。
为票证返回的可更新生命周期是下列值中的最小值:
在命令行上指定的值。
在 KDC 配置文件中指定的值。
在 Kerberos 数据库中为服务器主体指定的值。
在 Kerberos 数据库中为用户主体指定的值。

–R  请求更新票证授予票证。请注意,过期票证即使仍在可更新生命周期内也无法更新。
请注意, klist报告的已过期的可更新票证有时可能会使用此选项进行更新,因为 KDC 应用宽限期来解决客户端-KDC 时钟偏差。

–s start_time
请求以后生效的票证,该票证从 start_time 开始生效。以后生效的票证是在设有 invalid 标志的情况下发出的,并且在使用前需要馈送回 KDC。

–S service_name
指定在获取初始票证时使用的备用服务名。

–T armor_ccache
如果 KDC 支持,指定已包含票证的凭证高速缓存 (ccache) 的名称。此 ccache 用于封装请求,这样攻击者必须同时拥有封装票证的密钥和用于验证的主体的密钥才能攻击请求。封装还可以确保来自 KDC 的响应在传输过程中不会被修改。

–v  请求将高速缓存中的票证授权票证(设置了 invalid 标志)传递到 KDC 进行验证。如果票证处于其请求的时间范围内,将使用通过验证的票证来替换高速缓存中的内容。

–V  详细输出。向用户显示更多信息,例如确认验证和版本。

–X attribute[=value]
指定要传递给预验证插件的预验证属性和值。可接受的 attribute 和 value 值因预验证插件而异。可以多次指定此选项以指定多个属性。如果未指定值,则假定为 yes。

PKINIT 预认证机制识别以下属性:
X509_user_identity=value    指定在哪里可以找到用户的 X509 身份信息
X509_anchors=value          指定在哪里可以找到受信任的 X509 锚信息
flag_RSA_PROTOCOL[=yes]     指定使用 RSA,而不是默认的 Diffie-Hellman 协议
disable_freshness[=yes]     禁用发送新鲜度令牌(仅用于测试目的)

kdestroy

命令可用于在结束登录会话之前销毁任何活动票证。

-A:所有,-q:失败不bb,-c:cache_name,-p:princ_name.

kvno

kvno获取指定Kerberos主体的服务票据,并打印出每个主体的密钥版本号。

-c ccache
指定要使用的凭据缓存的名称(如果不是默认值)

-e etype
指定将为命令行上命名的所有服务的会话密钥请求的enctype。这在某些向后兼容的情况下非常有用。

-q
成功时抑制打印输出。如果无法获得服务票证,则仍然会打印错误消息,kvno将以非零状态退出。

-h
输出使用语句并退出。

-P
指定service1 service2…参数将被视为使用受约束委托获取凭据的服务。此选项仅在与协议转换一起使用时有效。

-S sname
指定service1 service2…参数被解释为主机名,服务主体将从这些主机名和服务名sname构造。服务主机名将根据构造服务主体的通常规则进行规范化。

-U for_user
指定协议转换(S4U2Self)用于代表for_user获取票据。如果没有请求受约束的委托,则服务名称必须与凭据缓存客户机主体匹配。

–u2u ccache
请求一个用户到用户的票据。Ccache必须包含服务器主体的本地KRBTGT票证。报告的版本号通常为0,因为生成的票据没有在服务器的长期密钥中加密。

klist

列出在凭证缓存中保存的Kerberos主体和Kerberos票据,或者在keytab文件中保存的密钥。

-e 显示凭证缓存中的每个凭证的会话密钥的加密类型和票据,或keytab文件中的每个密钥。

-l 如果缓存集合可用,则显示一个表,其中汇总了该集合中的缓存。

-A 如果缓存集合可用,则显示该集合中所有缓存的内容。

-c 列出凭据缓存中保存的票证。如果没有指定-c和-k,这是默认值。

-f 显示在凭据中存在的标志,使用以下缩写:
F Forwardable
f forwarded
P Proxiable
p proxy
D postDateable
d postdated
R Renewable
I Initial
i invalid
H Hardware authenticated
A preAuthenticated
T Transit policy checked
O Okay as delegate
a anonymous

-s 导致klist静默运行(不产生输出)。如果凭据缓存无法读取或过期,Klist将以状态1退出,否则状态为0。

-a 在凭据中显示地址列表。

-n 显示数字地址,而不是反向解析地址。

-C 列出在klist遇到凭据缓存时存储在凭据缓存中的配置数据。缺省情况下,不列出配置数据。

-k 列出在keytab文件中保存的键。

-i 与-k组合使用时,如果没有给出名称,默认使用默认的客户端keytab而不是默认的接受器keytab。

-t 显示keytab文件中每个keytab条目的时间戳。

-K 显示keytab文件中每个keytab项的加密密钥值。

-V 显示Kerberos版本号并退出。

如果没有指定cache_name或keytab_name, klist将在默认的凭据缓存或keytab文件中显示相应的凭据。如果设置了KRB5CCNAME环境变量,则使用它的值来定位默认票证缓存。

ksu

ksu是su程序的Kerberized版本,它有两个任务:一个是安全地将真实和有效的用户ID更改为目标用户的ID,另一个是创建一个新的安全上下文。

ksu

kpasswd

修改密码,生效时间几分钟到几小时.

kpasswd命令用于修改Kerberos主体的密码。kpasswd首先提示输入当前的Kerberos密码,然后两次提示用户输入新密码,然后密码被修改。

如果主体由指定新密码所需字符的长度和/或数量的策略控制,则新密码必须符合该策略。(这五个字符类是小写、大写、数字、标点符号和所有其他字符。)

krb5-send-pr

提交 pull request?

kerberos + mqtt

需要 mqtt支持http proxy 以及cntlm(隐藏)

你可能感兴趣的:(OpenWrt,物联网,openwrt)