JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 管理:安全服务     Oracle Solaris 11.1 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  病毒扫描服务(任务)

5.  控制对设备的访问(任务)

6.  使用 BART 验证文件完整性(任务)

7.  控制对文件的访问(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

10.  Oracle Solaris 中的安全属性(参考信息)

第 4 部分加密服务

11.  加密框架(概述)

12.  加密框架(任务)

13.  密钥管理框架

第 5 部分验证服务和安全通信

14.  使用可插拔验证模块

15.  使用 安全 Shell

16.  安全 Shell(参考信息)

17.  使用简单验证和安全层

18.  网络服务验证(任务)

第 6 部分Kerberos 服务

19.  Kerberos 服务介绍

20.  规划 Kerberos 服务

21.  配置 Kerberos 服务(任务)

22.  Kerberos 错误消息和故障排除

Kerberos 错误消息

SEAM Tool 错误消息

常见的 Kerberos 错误消息 (A-M)

常见的 Kerberos 错误消息 (N-Z)

Kerberos 故障排除

如何识别密钥版本号相关的问题

krb5.conf 文件的格式存在问题

传播 Kerberos 数据库时出现问题

挂载基于 Kerberos 的 NFS 文件系统时出现问题

root 用户身份进行验证时出现问题

观察从 GSS 凭证到 UNIX 凭证的映射

对 Kerberos 服务使用 DTrace

23.  管理 Kerberos 主体和策略(任务)

24.  使用 Kerberos 应用程序(任务)

25.  Kerberos 服务(参考信息)

第 7 部分在 Oracle Solaris 中审计

26.  审计(概述)

27.  规划审计

28.  管理审计(任务)

29.  审计(参考信息)

词汇表

索引

对 Kerberos 服务使用 DTrace

Kerberos 机制支持用来解码各种协议消息的各种 DTrace 探测器。这些探测器包括 KRB_AP_*KRB_KDC_*KRB_CREDKRB_ERRORKRB_PRIVKRB_SAFE 以及常规消息传送信息。相对于其他协议检查器,这具有明显的优势,因为特权用户可以轻松查看未加密的 Kerberos 和应用程序数据。

以下示例显示客户机选择的预验证类型。第一步是创建 DTrace 脚本,如下所示:

cat krbtrace.d
kerberos$target:::krb_message-recv
{
    printf("<- krb message recved: %s\n", args[0]->krb_message_type);
    printf("<- krb message remote addr: %s\n", args[1]->kconn_remote);
    printf("<- krb message ports: local %d remote %d\n",
            args[1]->kconn_localport, args[1]->kconn_remoteport);
    printf("<- krb message protocol: %s transport: %s\n",
            args[1]->kconn_protocol, args[1]->kconn_type);
}

kerberos$target:::krb_message-send
{
    printf("-> krb message sent: %s\n", args[0]->krb_message_type);
    printf("-> krb message remote addr: %s\n", args[1]->kconn_remote);
    printf("-> krb message ports: local %d remote %d\n",
            args[1]->kconn_localport, args[1]->kconn_remoteport);
    printf("-> krb message protocol: %s transport: %s\n",
            args[1]->kconn_protocol, args[1]->kconn_type);
    printf("\n");
}

kerberos$target:::krb_kdc_req-make
{
    printf("-> krb kdc_req make msg type: %s\n", args[0]->krb_message_type);
    printf("-> krb kdc_req make pre-auths: %s\n", args[1]->kdcreq_padata_types);
    printf("-> krb kdc_req make auth data: %s\n", args[1]->kdcreq_authorization_data);
    printf("-> krb kdc_req make client: %s server: %s\n", args[1]->kdcreq_client,
           args[1]->kdcreq_server );
}

kerberos$target:::krb_kdc_req-read
{
    /* printf("<- krb kdc_req msg type: %s\n", args[0]->krb_message_type); */
    printf("<- krb kdc_req client: %s server: %s\n", args[1]->kdcreq_client,
           args[1]->kdcreq_server );
    printf("\n");
}

kerberos$target:::krb_kdc_rep-read
{
    /* printf("<- krb kdc_rep msg type: %s\n", args[0]->krb_message_type); */
    printf("<- krb kdc_rep client: %s server: %s\n", args[1]->kdcrep_client,
           args[1]->kdcrep_enc_server );
    printf("\n");
}

kerberos$target:::krb_ap_req-make
{
    printf("-> krb ap_req make server: %s client: %s\n", args[2]->kticket_server,
           args[2]->kticket_enc_client );
}

kerberos$target:::krb_error-read
{
    printf("<- krb error code: %s\n", args[1]->kerror_error_code);
    printf("<- krb error client: %s server: %s\n", args[1]->kerror_client,
            args[1]->kerror_server);
    printf("<- krb error e-text: %s\n", args[1]->kerror_e_text);
    printf("\n");
}

接下来,以 Kerberos 系统上的某个特权用户的身份执行 krbtrace.d 脚本,方法为键入以下命令:

# LD_BIND_NOW=1 dtrace -qs krbtrace.d -c "kinit -k"
  .
  .
-> krb kdc_req make pre-auths: FX_COOKIE(133) ENC_TIMESTAMP(2) REQ_ENC_PA_REP(149)

在输出中显示了预验证类型。有关各种预验证类型的更多信息,请参见 RFC 4120