Kerberos简介,概述,协议内容,3次通信

3.Kerberos

3.1.官网

https://web.mit.edu/kerberos/

3.2.前言

3.2.1.概述

Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。它也指由麻省理工实现此协议,并发布的一套免费软件。

它的设计主要针对客户-服务器模型,并提供了一系列交互认证——用户和服务器都能验证对方的身份。Kerberos协议可以保护网络实体免受窃听和重复攻击。

Kerberos协议基于对称密码学,并需要一个值得信赖的第三方。Kerberos协议的扩展可以为认证的某些阶段提供公钥密码学支持。

主要功能如下:
是一个安全认证协议
用tickets验证
避免本地保存密码和在互联网上传输密码
包含一个可信的第三方
使用对称加密
客户端与服务器(非KDC)之间能够互相验证。

Kerberos只提供一种功能——在网络上安全的完成用户的身份验证。它并不提供授权功能或者审计功能。

3.2.2.协议内容

协议的安全主要依赖于参加者对时间的松散同步和短周期的叫做Kerberos票据的认证声明。 下面是对这个协议的一个简化描述,将使用以下缩写:
AS(Authentication Server)= 认证服务器
KDC(Key Distribution Center)= 密钥分发中心
TGT(Ticket Granting Ticket)= 票据授权票据,票据的票据
TGS(Ticket Granting Server)= 票据授权服务器
SS(Service Server)= 特定服务提供端

1、客户端用户发送自己的用户名到KDC服务器以向AS服务进行认证。
2、KDC服务器会生成相应的TGT票据,打上时间戳,在本地数据库中查找该用户的密码,并用该密码对TGT进行加密,将结果发还给客户端用户。该操作仅在用户登录或者kinit申请的时候进行。
3、客户端收到该信息,并使用自己的密码进行解密之后,就能得到TGT票据了。这个TGT会在一段时间之后失效,也有一些程序(session manager)能在用户登录期间进行自动更新。当客户端用户需要使用一些特定服务(Kerberos术语中用”principal”表示)的时候,该客户端就发送TGT到KDC服务器中的TGS服务。当该用户的TGT验证通过并且其有访问所申请的服务时,TGS服务会生成一个该服务所对应的ticket和session key,并发给客户端。客户端将服务请求与该ticket一并发送给相应的服务端即可。具体的流程请看下面的描述。

简单地说,用户先用共享密钥从某认证服务器得到一个身份证明。随后,用户使用这个身份证明与SS通信,而不使用共享密钥。

3.2.3 3次通信和其它知识点
3.2.3.1.其它知识点

在这里插入图片描述

每次通信,消息包含两部分,一部分可解码,一部分不可解码
服务端不会直接有KDC通信。
KDC保存所有机器的账户名和密码
KDC本身具有一个密码

3.2.3.2.Kerberos会经过3次通信

在这里插入图片描述

我们这里已获取服务器中的一张表(数据)的服务以为,为一个http服务。

3.2.4.第一次通信(你和验证服务)

在这里插入图片描述
图 1 第一次通信

如果想要获取http服务,你首先要向KDC表名你自己的身份。这个过程可以在你的程序启动时进行。Kerberos可以通过kinit获取。介绍自己通过未加密的信息发送至KDC获取Ticket Granting Ticket (TGT)。
一、信息包含
你的用户名/ID
你的IP地址
TGT的有效时间
Authentication Server收到你的请求后,会去数据库中验证,你是否存在。注意,仅仅是验证是否存在,不会验证对错。
如果存在,Authentication Server会产生一个随机的Session key(可以是一个64位的字符串)。这个key用于你和Ticket Granting Server (TGS)之间通信。
二、回送信息
Authentication Server同样会发送两部分信息给你,一部分信息为TGT,通过KDC自己的密码进行加密,包含:
你的name/ID
TGS的name/ID
时间戳
你的IP地址
TGS的生命周期
TGS session key

另外一部分通过你的密码进行加密,包含的信息有:
TGS的name/ID
时间戳
生命周期
TGS session key

如果你的密码是正确的,你就能解密第二部分信息,获取到TGS session key。如果,密码不正确,无法解密,则认证失败。第一部分信息TGT,你是无法解密的,但需要展示缓存起来。

3.2.5. 第二次通信(你和TGS)

在这里插入图片描述

图 2 第二次通信
如果第一部分你已经成功,你已经拥有无法解密的TGT和一个TGS Session Key。
一、请求信息
A: 通过TGS Session Key加密的认证器部分:
你的name/ID
时间戳

B:明文传输部分
请求的Http服务名(就是请求信息)
HTTP Service的Ticket生命周期

C:TGT部分
Ticket Granting Server收到信息后,首先检查数据库中是否包含有你请求的Http服务名。如果无,直接返回错误信息。
如果存在,则通过KDC的密码解密TGT,这个时候。我们就能获取到TGS Session key。然后,通过TGS Session key去解密你传输的第一部分认证器,获取到你的用户名和时间戳。

TGS再进行验证:
1.对比TGT中的用户名与认证器中的用户名
2.比较时间戳(网上有说认证器中的时间戳和TGT中的时间戳,个人觉得应该是认证器中的时间戳和系统的时间戳),不能超过一定范围。
3.检查是否过期
4.检查IP地址是否一致
5.检查认证器是否已在TGS缓存中(避免应答攻击)
6.可以在这部分添加权限认证服务。
TGS随机产生一个Http Service Session Key,同时准备Http Service Ticket(ST)

二、回答信息
A:通过Http服务的密码进行加密的信息(ST)
你的name/ID
Http服务name/ID
你的IP地址
时间戳
ST的生命周期
Http Service Session Key

B:通过TGS Session Key加密的信息
Http服务name/ID
时间戳
ST的生命周期
Http Service Session Key
你收到信息后,通过TGS Session Key解密,获取到了Http Service Session Key,但是你无法解密ST。

3.2.6.第三次通信(你和Http服务)

在这里插入图片描述
图 3 第三次通信

在前面两步成功后,以后每次获取Http服务,在Ticket没有过期,或者无更新的情况下,都可直接进行这一步。省略前面两个步骤。
一、请求信息
A:通过Http Service Session Key,加密部分。
你的name/ID
时间戳

B:ST
Http服务端通过自己的密码解压ST(KDC是用Http服务的密码加密的),这样就能够获取到Http Service Session Key,解密第一部分。

服务器解密好ST后,进行检查
1、对比ST中的用户名(KDC给的)与认证器中的用户名
2、比较时间戳(网上有说认证器中的时间错和TGT中的时间错,个人觉得应该是认证器中的时间戳和系统的时间戳),不能超过一定范围
3、检查是否过期
4、检查IP地址是否一致
5、检查认证器是否已在HTTP服务端的缓存中(避免应答攻击)

二、应答信息
A:通过Http Service Session Key加密的信息。
Http服务name/ID
时间戳

你在通过缓存的Http Service Session Key解密这部分信息,然后验证是否是你想要的服务器发送给你的信息。完成你的服务器的验证。至此,整个过程全部完成。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
第一部分 入 门 第1章 安全问题概述 1 1.1 为什么要研究安全问题 1 1.2 选择安全策略 3 1.3 安全网络对策 4 1.3.1 主机安全 4 1.3.2 网关和防火墙 6 1.3.3 保护口令 7 1.3.4 加密 9 1.4 计算机安全的道德规范 10 1.5 警告 12 第2章 TCP/IP概述 13 2.1 不同的协议层 13 2.1.1 IP 13 2.1.2 ARP 15 2.1.3 TCP 15 2.1.4 UDP 17 2.1.5 ICMP 18 2.2 路由器和路由协议 18 2.3 域名系统 19 2.4 标准服务 21 2.4.1 SMTP 21 2.4.2 telnet 23 2.4.3 网络时间协议 24 2.4.4 查找(用户信息) 25 2.5 基于RPC的协议 25 2.5.1 RPC和portmapper 25 2.5.2 NIS 28 2.5.3 NFS 28 2.5.4 AFS 29 2.6 文件传输协议 30 2.6.1 TFTP 30 2.6.2 FTP 30 2.6.3 FSP—文件偷传协议 33 2.7 r命令 33 2.8 信息服务 34 2.8.1 万维网 34 2.8.2 NNTP 35 2.8.3 多址传输和MBone 36 2.9 X11系统 36 2.10 信任模式 37 第二部分 构建你自己的防火墙 第3章 防火墙网关 39 3.1 防火墙的工作原理 39 3.2 防火墙的安放位置 40 3.3 数据包过滤网关 41 3.3.1 处理IP分片 43 3.3.2 过滤FTP会话 43 3.3.3 过滤X窗口会话 45 3.3.4 驯服DNS 46 3.3.5 无固定地址的协议 49 3.3.6 部署过滤器 49 3.3.7 网络拓扑和地址欺骗 50 3.3.8 数据包过滤器与UDP 53 3.3.9 过滤其他协议 54 3.3.10 路由过滤器 54 3.3.11 样机配置 55 3.3.12 数据包过滤性能 57 3.3.13 实现数据包过滤器 57 3.3.14 小结 57 3.4 应用级网关 58 3.5 电路级网关 59 3.6 支持入站服务 60 3.7 隧道技术的是与非 61 3.8 共担风险 62 3.9 防火墙不能做什么 63 第4章 如何建立应用级网关 65 4.1 策略 65 4.2 硬件配置选项 65 4.3 初始化安装 67 4.4 网关工具 69 4.4.1 TCP Wrapper 69 4.4.2 中继 71 4.4.3 更好的telnetd 71 4.4.4 支持对外的 FTP访问 72 4.5 安装服务 72 4.5.1 邮件递交 72 4.5.2 对内的telnet 73 4.5.3 代理服务 75 4.5.4 网关服务菜单 76 4.5.5 匿名FTP 78 4.5.6 MBone 80 4.5.7 X11 80 4.5.8 WAIS,WWW及其支持产品 82 4.5.9 代理NFS 82 4.5.10 安装NTP 84 4.6 保护“保护者” 84 4.7 网关管理 84 4.7.1 记录 85 4.7.2 文件的完整性 85 4.7.3 其他注意事项 87 4.8 安全分析—为什么我们的设置 是安全的和失效保护的 87 4.9 性能 89 4.10 TIS防火墙工具箱 89 4.11 评估防火墙 90 4.11.1 数据包过滤器 90 4.11.2 应用网关 90 4.11.3 电路网关 91 4.12 没有防火墙,日子怎么过 91 第5章 鉴别 92 5.1 用户鉴别 92 5.1.1 口令 92 5.1.2 一性口令 92 5.1.3 灵巧卡 94 5.1.4 生物技术 94 5.2 主机-主机鉴别 95 5.2.1 基于网络的鉴别 95 5.2.2 密码技术 95 第6章 网关工具 97 6.1 proxylib 97 6.2 syslog 98 6.3 监视网络:tcpdump及其支持产品 99 6.3.1 利用tcpdump 99 6.3.2 ping,traceroute和dig 101 6.4 添加日志到标准后台守护程序 101 第7
JAVA开发人员必备是HTML格式的 JavaTM 2 Platform Standard Edition 6 API 规范 本文档是 Java 2 Platform Standard Edition 6.0 的 API 规范。 请参见: 描述 Java 2 Platform 软件包 java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的接口和类。 java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的各类事件的接口和类。 java.awt.font 提供与字体相关的类和接口。 java.awt.geom 提供用于在与二维几何形状相关的对象上定义和执行操作的 Java 2D 类。 java.awt.im 提供输入方法框架所需的类和接口。 java.awt.im.spi 提供启用可以与 Java 运行时环境一起使用的输入方法开发的接口。 java.awt.image 提供创建和修改图像的各种类。 java.awt.image.renderable 提供用于生成与呈现无关的图像的类和接口。 java.awt.print 为通用的打印 API 提供类和接口。 java.beans 包含与开发 beans 有关的类,即基于 JavaBeansTM 架构的组件。 java.beans.beancontext 提供与 bean 上下文有关的类和接口。 java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 java.lang.annotation 为 Java 编程语言注释设施提供库支持。 java.lang.instrument 提供允许 Java 编程语言代理检测运行在 JVM 上的程序的服务。 java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的选择器。 java.nio.channels.spi 用于 java.nio.channels 包的服务提供者类。 java.nio.charset 定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。 java.nio.charset.spi java.nio.charset 包的服务提供者类。 java.rmi 提供 RMI 包。 java.rmi.activation 为 RMI 对象激活提供支持。 java.rmi.dgc 为 RMI 分布式垃圾回收提供了类和接口。 java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security 包中的类取代。 java.security.cert 提供用于解析和管理证书、证书撤消列表 (CRL) 和证书路径的类和接口。 java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 中定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186 中定义的 DSA(数字签名算法)密钥。 java.security.spec 提供密钥规范和算法参数规范的类和接口。 java.sql 提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。 java.text 提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。 java.text.spi java.text 包中类的服务提供者类。 java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类。 java.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和类,它不同于内置同步和监视器。 java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的类。 javax.accessibility 定义了用户界面组件与提供对这些组件进行访问的辅助技术之间的定。 javax.crypto 为加密操作提供类和接口。 javax.crypto.interfaces 根据 RSA Laboratories' PKCS #3 的定义,提供 Diffie-Hellman 密钥接口。 javax.crypto.spec 为密钥规范和算法参数规范提供类和接口。 javax.imageio Java Image I/O API 的主要包。 javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio.spi 包含用于 reader、writer、transcoder 和流的插件接口以及一个运行时注册表的 Java Image I/O API 包。 javax.imageio.stream Java Image I/O API 的一个包,用来处理从文件和流中产生的低级别 I/O。 javax.management 提供 Java Management Extensions 的核心类。 javax.management.loading 提供实现高级动态加载的类。 javax.management.modelmbean 提供了 ModelMBean 类的定义。 javax.management.monitor 提供 monitor 类的定义。 javax.management.openmbean 提供开放数据类型和 Open MBean 描述符类。 javax.management.relation 提供 Relation Service 的定义。 javax.management.remote 对 JMX MBean 服务器进行远程访问使用的接口。 javax.management.remote.rmi RMI 连接器是供 JMX Remote API 使用的一种连接器,后者使用 RMI 将客户端请求传输到远程 MBean 服务器。 javax.management.timer 提供对 Timer MBean(计时器 MBean)的定义。 javax.naming 为访问命名服务提供类和接口。 javax.naming.directory 扩展 javax.naming 包以提供访问目录服务的功能。 javax.naming.event 在访问命名和目录服务时提供对事件通知的支持。 javax.naming.ldap 提供对 LDAPv3 扩展操作和控件的支持。 javax.naming.spi 提供一些方法来动态地插入对通过 javax.naming 和相关包访问命名和目录服务的支持。 javax.net 提供用于网络应用程序的类。 javax.net.ssl 提供用于安全套接字包的类。 javax.print 为 JavaTM Print Service API 提供了主要类和接口。 javax.print.attribute 提供了描述 JavaTM Print Service 属性的类型以及如何分类这些属性的类和接口。 javax.print.attribute.standard 包 javax.print.attribute.standard 包括特定打印属性的类。 javax.print.event 包 javax.print.event 包含事件类和侦听器接口。 javax.rmi 包含 RMI-IIOP 的用户 API。 javax.rmi.CORBA 包含用于 RMI-IIOP 的可移植性 API。 javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth.callback 此包提供与应用程序进行交互所必需的类,以便检索信息(例如,包括用户名和密码的验证数据)或显示信息(例如,错误和警告消息)。 javax.security.auth.kerberos 此包包含与 Kerberos 网络验证协议相关的实用工具类。 javax.security.auth.login 此包提供可插入的验证框架。 javax.security.auth.spi 此包提供用于实现可插入验证模块的接口。 javax.security.auth.x500 此包包含应该用来在 Subject 中存储 X500 Principal 和 X500 Private Crendentials 的类。 javax.security.cert 为公钥证书提供类。 javax.security.sasl 包含用于支持 SASL 的类和接口。 javax.sound.midi 提供用于 MIDI(音乐乐器数字接口)数据的 I/O、序列化和合成的接口和类。 javax.sound.midi.spi 在提供新的 MIDI 设备、MIDI 文件 reader 和 writer、或音库 reader 时提供服务提供者要实现的接口。 javax.sound.sampled 提供用于捕获、处理和回放取样的音频数据的接口和类。 javax.sound.sampled.spi 在提供新音频设备、声音文件 reader 和 writer,或音频格式转换器时,提供将为其创建子类的服务提供者的抽象类。 javax.sql 为通过 JavaTM 编程语言进行服务器端数据源访问和处理提供 API。 javax.sql.rowset JDBC RowSet 实现的标准接口和基类。 javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing.border 提供围绕 Swing 组件绘制特殊边框的类和接口。 javax.swing.colorchooser 包含供 JColorChooser 组件使用的类和接口。 javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是一个可更换皮肤 (skinnable) 的外观,在其中可委托所有绘制。 javax.swing.table 提供用于处理 javax.swing.JTable 的类和接口。 javax.swing.text 提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。 javax.swing.text.html 提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。 javax.swing.text.html.parser 提供默认的 HTML 解析器以及支持类。 javax.swing.text.rtf 提供一个类 (RTFEditorKit),用于创建富文本格式(Rich-Text-Format)的文本编辑器。 javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。 javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 javax.transaction.xa 提供定义事务管理器和资源管理器之间的定的 API,它允许事务管理器添加或删除 JTA 事务中的资源对象(由资源管理器驱动程序提供)。 javax.xml 根据 XML 规范定义核心 XML 常量和功能。 javax.xml.bind 为包含解组、编组和验证功能的客户端应用程序提供运行时绑定框架。 javax.xml.bind.annotation 定义将 Java 程序元素定制成 XML 模式映射的注释。 javax.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子类允许任意 Java 类与 JAXB 一起使用。 javax.xml.bind.attachment 此包由基于 MIME 的包处理器实现,该处理器能够解释并创建基于 MIME 的包格式的已优化的二进制数据。 javax.xml.bind.helpers 仅由 JAXB 提供者用于: 提供某些 javax.xml.bind 接口的部分默认实现。 javax.xml.bind.util 有用的客户端实用工具类。 javax.xml.crypto 用于 XML 加密的通用类。 javax.xml.crypto.dom javax.xml.crypto 包的特定于 DOM 的类。 javax.xml.crypto.dsig 用于生成和验证 XML 数字签名的类。 javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的类。 javax.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的类。 javax.xml.crypto.dsig.spec XML 数字签名的参数类。 javax.xml.datatype XML/Java 类型映射关系。 javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的类。 javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 API。 javax.xml.transform.dom 此包实现特定于 DOM 的转换 API。 javax.xml.transform.sax 此包实现特定于 SAX2 的转换 API。 javax.xml.transform.stax 提供特定于 StAX 的转换 API。 javax.xml.transform.stream 此包实现特定于流和 URI 的转换 API。 javax.xml.validation 此包提供了用于 XML 文档验证的 API。 javax.xml.ws 此包包含核心 JAX-WS API。 javax.xml.ws.handler 该包定义用于消息处理程序的 API。 javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发人员通过利用统一的 API 使用一些来自各种基础安全机制(如 Kerberos)的安全服务,如验证、数据完整性和和数据机密性。 org.omg.CORBA 提供 OMG CORBA API 到 JavaTM 编程语言的映射,包括 ORB 类,如果已实现该类,则程序员可以使用此类作为全功能对象请求代理(Object Request Broker,ORB)。 org.omg.CORBA_2_3 CORBA_2_3 包定义对 Java[tm] Standard Edition 6 中现有 CORBA 接口所进行的添加。 org.omg.CORBA_2_3.portable 提供输入和输出值类型的各种方法,并包含 org/omg/CORBA/portable 包的其他更新。 org.omg.CORBA.DynAnyPackage 提供与 DynAny 接口一起使用的异常(InvalidValue、Invalid、InvalidSeq 和 TypeMismatch)。 org.omg.CORBA.ORBPackage 提供由 ORB.resolve_initial_references 方法抛出的异常 InvalidName,以及由 ORB 类中的动态 Any 创建方法抛出的异常 InconsistentTypeCode。 org.omg.CORBA.portable 提供可移植性层,即可以使一个供应商生成的代码运行在另一个供应商 ORB 上的 ORB API 集合。 org.omg.CORBA.TypeCodePackage 提供用户定义的异常 BadKind 和 Bounds,它们将由 TypeCode 类中的方法抛出。 org.omg.CosNaming 为 Java IDL 提供命名服务。 org.omg.CosNaming.NamingContextExtPackage 此包包含以下在 org.omg.CosNaming.NamingContextExt 中使用的类: AddressHelper StringNameHelper URLStringHelper InvalidAddress 包规范 有关 Java[tm] Platform, Standard Edition 6 ORB 遵守的官方规范的受支持部分的明确列表,请参阅 Official Specifications for CORBA support in Java[tm] SE 6。 org.omg.CosNaming.NamingContextPackage 此包包含 org.omg.CosNaming 包的 Exception 类。 org.omg.Dynamic 此包包含 OMG Portable Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06 的第 21.9 小节中指定的 Dynamic 模块。 org.omg.DynamicAny 提供一些类和接口使得在运行时能够遍历与 any 有关联的数据值,并提取数据值的基本成分。 org.omg.DynamicAny.DynAnyFactoryPackage 此包包含 DynamicAny 模块的 DynAnyFactory 接口中的类和异常,该模块在 OMG The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的第 9.2.2 小节中指定。 org.omg.DynamicAny.DynAnyPackage 此包包含 DynAny 模块的 DynAnyFactory 接口中的类和异常,该模块在 OMG The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的第 9.2 小节中指定。 org.omg.IOP 此包包含在 OMG 文档 The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的 13.6.小节中指定的 IOP 模块。 org.omg.IOP.CodecFactoryPackage 此包包含 IOP::CodeFactory 接口中指定的异常(作为 Portable Interceptor 规范的一部分)。 org.omg.IOP.CodecPackage 此包根据 IOP::Codec IDL 接口定义生成。 org.omg.Messaging 此包包含 OMG Messaging Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 中指定的 Messaging 模块。 org.omg.PortableInterceptor 提供一个注册 ORB 钩子 (hook) 的机制,通过这些钩子 ORB 服务可以截取执行 ORB 的正常流。 org.omg.PortableInterceptor.ORBInitInfoPackage 此包包含 OMG Portable Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06 的第 21.7.2 小节中指定的 PortableInterceptor 模块的 ORBInitInfo 本地接口中的异常和 typedef。 org.omg.PortableServer 提供一些类和接口,用来生成跨多个供应商 ORB 的可移植应用程序的服务器端。 org.omg.PortableServer.CurrentPackage 提供各种方法实现,这些实现能够访问调用方法的对象的身份。 org.omg.PortableServer.POAManagerPackage 封装 POA 关联的处理状态。 org.omg.PortableServer.POAPackage 允许程序员构造可在不同 ORB 产品间移植的对象实现。 org.omg.PortableServer.portable 提供一些类和接口,用来生成跨多个供应商 ORB 的可移植应用程序的服务器端。 org.omg.PortableServer.ServantLocatorPackage 提供定位 servant 的类和接口。 org.omg.SendingContext 为值类型的编组提供支持。 org.omg.stub.java.rmi 包含用于 java.rmi 包中出现的 Remote 类型的 RMI-IIOP Stub。 org.w3c.dom 为文档对象模型 (DOM) 提供接口,该模型是 Java API for XML Processing 的组件 API。 org.w3c.dom.bootstrap org.w3c.dom.events org.w3c.dom.ls org.xml.sax 此包提供了核心 SAX API。 org.xml.sax.ext 此包包含适合的 SAX 驱动程序不一定支持的 SAX2 设施的接口。 org.xml.sax.helpers 此包包含“帮助器”类,其中包括对引导基于 SAX 的应用程序的支持。
目录<br>译者序<br>前言<br>第一部分 入 门<br>第1章 安全问题概述 1<br>1.1 为什么要研究安全问题 1<br>1.2 选择安全策略 3<br>1.3 安全网络对策 4<br>1.3.1 主机安全 4<br>1.3.2 网关和防火墙 6<br>1.3.3 保护口令 7<br>1.3.4 加密 9<br>1.4 计算机安全的道德规范 10<br>1.5 警告 12<br>第2章 TCP/IP概述 13<br>2.1 不同的协议层 13<br>2.1.1 IP 13<br>2.1.2 ARP 15<br>2.1.3 TCP 15<br>2.1.4 UDP 17<br>2.1.5 ICMP 18<br>2.2 路由器和路由协议 18<br>2.3 域名系统 19<br>2.4 标准服务 21<br>2.4.1 SMTP 21<br>2.4.2 telnet 23<br>2.4.3 网络时间协议 24<br>2.4.4 查找(用户信息) 25<br>2.5 基于RPC的协议 25<br>2.5.1 RPC和portmapper 25<br>2.5.2 NIS 28<br>2.5.3 NFS 28<br>2.5.4 AFS 29<br>2.6 文件传输协议 30<br>2.6.1 TFTP 30<br>2.6.2 FTP 30<br>2.6.3 FSP—文件偷传协议 33<br>2.7 r命令 33<br>2.8 信息服务 34<br>2.8.1 万维网 34<br>2.8.2 NNTP 35<br>2.8.3 多址传输和MBone 36<br>2.9 X11系统 36<br>2.10 信任模式 37<br>第二部分 构建你自己的防火墙<br>第3章 防火墙网关 39<br>3.1 防火墙的工作原理 39<br>3.2 防火墙的安放位置 40<br>3.3 数据包过滤网关 41<br>3.3.1 处理IP分片 43<br>3.3.2 过滤FTP会话 43<br>3.3.3 过滤X窗口会话 45<br>3.3.4 驯服DNS 46<br>3.3.5 无固定地址的协议 49<br>3.3.6 部署过滤器 49<br>3.3.7 网络拓扑和地址欺骗 50<br>3.3.8 数据包过滤器与UDP 53<br>3.3.9 过滤其他协议 54<br>3.3.10 路由过滤器 54<br>3.3.11 样机配置 55<br>3.3.12 数据包过滤性能 57<br>3.3.13 实现数据包过滤器 57<br>3.3.14 小结 57<br>3.4 应用级网关 58<br>3.5 电路级网关 59<br>3.6 支持入站服务 60<br>3.7 隧道技术的是与非 61<br>3.8 共担风险 62<br>3.9 防火墙不能做什么 63<br>第4章 如何建立应用级网关 65<br>4.1 策略 65<br>4.2 硬件配置选项 65<br>4.3 初始化安装 67<br>4.4 网关工具 69<br>4.4.1 TCP Wrapper 69<br>4.4.2 中继 71<br>4.4.3 更好的telnetd 71<br>4.4.4 支持对外的 FTP访问 72<br>4.5 安装服务 72<br>4.5.1 邮件递交 72<br>4.5.2 对内的telnet 73<br>4.5.3 代理服务 75<br>4.5.4 网关服务菜单 76<br>4.5.5 匿名FTP 78<br>4.5.6 MBone 80<br>4.5.7 X11 80<br>4.5.8 WAIS,WWW及其支持产品 82<br>4.5.9 代理NFS 82<br>4.5.10 安装NTP 84<br>4.6 保护“保护者” 84<br>4.7 网关管理 84<br>4.7.1 记录 85<br>4.7.2 文件的完整性 85<br>4.7.3 其他注意事项 87<br>4.8 安全分析—为什么我们的设置<br> 是安全的和失效保护的 87<br>4.9 性能 89<br>4.10 TIS防火墙工具箱 89<br>4.11 评估防火墙 90<br>4.11.1 数据包过滤器 90<br>4.11.2 应用网关 90<br>4.11.3 电路网关 91<br>4.12 没有防火墙,日子怎么过 91<br>第5章 鉴别 92<br>5.1 用户鉴别 92<br>5.1.1 口令 92<br>5.1.2 一性口令 92<br>5.1.3 灵巧卡 94<br>5.1.4 生物技术 94<br>5.2 主机-主机鉴别 95<br>5.2.1 基于网络的鉴别 95<br>5.2.2 密码技术 95<br>第6章 网关工具 97<br>6.1 proxylib 97<br>6.2 syslog 98<br>6.3 监视网络:tcpdump及其支持产品 99<br>6.3.1 利用tcpdump 99<br>6.3.2 ping,traceroute和dig 101<br>6.4 添加日志到标准后台守护程序 101<br>第7章 陷阱,诱饵和蜜罐 103<br>7.1 日志记录什么 103<br>7.1.1 地址空间刺探 106<br>7.1.2 ICMP监视 106<br>7.1.3 反间谍行动 107<br>7.1.4 基于日志的监视工具 108<br>7.2 伪帐户 108<br>7.3 跟踪连接 109<br>第8章 黑客工作台 111<br>8.1 引言 111<br>8.2 发现 111<br>8.2.1 程序pinglist 113<br>8.2.2 映射工具fremont 115<br>8.3 刺探主机 115<br>8.4 连接工具 116<br>8.5 路由游戏 117<br>8.6 网络监视器 118<br>8.7 转移目标 118<br>8.8 打虎队 120<br>8.9 更多信息源 121<br>第三部分 回 顾<br>第9章 攻击的类型 123<br>9.1 窃取口令 123<br>9.2 社会工程 124<br>9.3 缺陷和后门 125<br>9.4 鉴别失败 126<br>9.5 协议失败 127<br>9.6 信息泄漏 127<br>9.7 拒绝服务 128<br>第10章 与黑客Berferd周旋 129<br>10.1 引言 129<br>10.2 不友好的行为 129<br>10.3 与黑客Berferd周旋一夜 131<br>10.4 那天以后 135<br>10.5 监狱 136<br>10.6 跟踪Berferd 137<br>10.7 Berferd回家了 139<br>第11章 从日志中查找蛛丝马迹 140<br>11.1 黑客活动猖獗的一年 141<br>11.1.1 登录日志 142<br>11.1.2 finger企图 143<br>11.1.3 黑客的工作时间 144<br>11.1.4 其他刺探 145<br>11.2 使用代理 146<br>11.3 攻击源 147<br>11.4 线路噪声 149<br>第四部分 零 星 考 虑<br>第12章 法律上的考虑 151<br>12.1 计算机犯罪立法现状 151<br>12.2 日志文件作为证据 152<br>12.3 监视合法吗 155<br>12.4 民事侵权的责任考虑 158<br>第13章 不安全网络上的安全通信 161<br>13.1 密码学介绍 161<br>13.1.1 符号 161<br>13.1.2 私人密钥密码学 163<br>13.1.3 操作模式 163<br>13.1.4 公开密钥密码学 166<br>13.1.5 指数密钥交换 167<br>13.1.6 数字签名 168<br>13.1.7 安全散列函数 169<br>13.1.8 时间戳 170<br>13.2 Kerberos 鉴别系统 170<br>13.3 链路层加密 173<br>13.4 网络层和传输层加密 173<br>13.5 应用层加密 176<br>13.5.1 telnet协议 176<br>13.5.2 鉴别SNMP 177<br>13.5.3 安全电子邮件 177<br>13.5.4 通用安全服务应用程序接口 178<br>第14章 路在何方 179<br>第五部分 附 录<br>附录A 免费资源 181<br>附录B TCP和UDP端口 190<br>附录C 对商家的建议 193<br>附录D 参考文献 195<br>附录E 警告信息列表 211<br>
XenApp 目录 XenApp 1 欢迎使用 XenApp 5 for Windows Server 2008 24 1. Citrix XenApp 管理 25 欢迎使用 Citrix XenApp 管理 25 管理控制台和其他工具 25 1.2.1. Access Management Console 概述 25 1.2.2. XenApp Advanced Configuration 概述 25 1.2.3. License Management Console 概述 26 1.2.4. Citrix SSL Relay 配置工具概述 26 重影任务栏概述 26 1.2.6. SpeedScreen Latency Reduction Manager 概述 26 选择要使用的控制台或工具 26 启动 Access Management Console 27 在 Access Management Console 中显示项目 27 使用检测过程指定多个服务器场进行控制台管理 27 针对多个产品或组件运行检测过程 28 针对单个产品或组件运行检测过程 28 1.2.10. Access Management Console 用户界面 28 使用 Access Management Console 执行任务 30 分配场管理员凭据 30 使用我的视图自定义显示效果 31 管理多个场中的应用程序及服务器 31 使用 Access Management Console 查看区域 31 管理用户会话和服务器进程 31 使用 Access Management Console 创建报告 31 使用 Access Management Console 配置应用程序访问权限 32 使用 Access Management Console 创建跟踪日志 32 查看 Citrix 修补程序信息 32 使用 Access Management Console 进行远程监视时节省带宽 32 允许 Citrix 管理员远程管理场 32 授予管理员 DCOM 远程启动权限 33 使用 Citrix XenApp Advanced Configuration 33 使用 Advanced Configuration 进行远程监视时节省带宽 33 配置 Advanced Configuration 以便于屏幕阅读程序访问 33 管理 Citrix 管理员帐户 34 规划管理员帐户 34 1.3.1.1. Citrix 管理员帐户类型 34 完全权限管理员 34 仅限查看权限管理员 34 自定义权限管理员 35 管理 Citrix 管理员帐户 35 创建新的 Citrix 管理员帐户 35 更改 Citrix 管理员属性 35 禁用和删除管理员 35 禁用 Citrix 管理员帐户 36 启用管理员帐户 36 删除 Citrix 管理员帐户 36 向自定义管理员委派任务 36 将任务委派给现有自定义管理员 36 为管理员分配文件夹权限 37 分配文件夹权限 37 为管理员分配任务 37 分配或更改对象权限 37 为用户提供资源 38 将资源发布给用户 38 面向多个用户安装应用程序 38 为所有用户安装应用程序 39 在包含数千个对象的域中发布应用程序 39 使用发布应用程序向导发布资源 39 管理已发布资源的发布选项 40 选择资源类型和发布方法 40 定位要发布的应用程序 41 验证已发布应用程序的命令行参数 42 在内容与已发布应用程序之间建立信任关系 42 禁用所选已发布应用程序的命令行验证 42 禁用服务器上所有已发布应用程序的命令行验证 42 配置已发布内容的位置 43 配置内容重定向 43 将内容从客户端重定向到服务器 43 配置从客户端到服务器的内容重定向 44 配置内容重定向时使用客户端设备上的 Windows Explorer 44 将内容从服务器重定向到客户端 44 启用从服务器到客户端的内容重定向 45 发布要使用本地应用程序访问的内容 45 管理应用程序属性 45 重命名已发布应用程序 46 配置已发布资源的服务器位置 46 查找要发布的已配置应用程序 47 启用应用程序的脱机访问功能 47 配置用户对应用程序的访问权限 48 向匿名用户授予访问权限 49 向显式用户授予访问权限 49 配置客户端设备的快捷方式 50 配置由 Access Gateway 控制的访问 50 将已发布应用程序与文件类型相关联 51 更新文件类型关联 52 配置备用配置文件 53 将参数传递给已发布的应用程序 53 减少流应用程序的用户权限 53 配置应用程序限制和重要性 54 配置已发布应用程序的音频和加密选项 54 配置应用程序外观 56 禁用或
Kerberos认证过程中,总共需要三通信,其过程如下: 第一通信: 客户端向Kerberos认证服务器发送认证请求,请求包括客户端的标识和目标服务器的标识。这个请求是未加密的,因此可能会被窃听者截获并进行恶意攻击。 第二通信Kerberos认证服务器接收到客户端的认证请求后,向客户端发送一个票据请求,要求客户端提供其口令。这个票据请求是加密的,防止被窃听者截获并窃取口令。 客户端接收到票据请求后,将其口令发送给Kerberos认证服务器进行验证。验证成功后,Kerberos认证服务器生成一个票据,并使用客户端和目标服务器的密钥对票据进行加密。这个票据是加密的,防止被窃听者截获并篡改。 第三通信Kerberos认证服务器将加密后的票据发送给客户端,要求其将票据发送给目标服务器。这个票据是加密的,防止被窃听者截获并篡改。 客户端接收到加密后的票据后,将其发送给目标服务器。这个票据是加密的,防止被窃听者截获并篡改。 目标服务器接收到票据后,使用自己的密钥对票据进行解密,并验证票据中的客户端标识和目标服务器标识是否与本地相符。如果验证通过,目标服务器允许客户端访问其资源。 总的来说,Kerberos认证过程中的通信是加密的,可以防止中间人攻击和信息泄露,提供了较高的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值