搜索

第 7 章 安全性

download PDF

AMQ JMS 具有一系列与安全相关的配置选项,可以根据应用的需求来利用这些配置选项。

在应用程序中创建 Connection 时,用户名和密码等基本用户凭证应该直接传递给 ConnectionFactory。但是,如果您使用的是 no-gument 工厂方法,也可以在连接 URI 中提供用户凭据。如需更多信息,请参阅 第 5.1 节 “JMS 选项” 部分。

另一个常见的安全考虑是使用 SSL/TLS。当 连接 URI 中指定了 amqps URI 方案,且提供各种选项来配置行为时,客户端通过 SSL/TLS 传输连接到服务器。如需更多信息,请参阅 第 5.3 节 “SSL/TLS 选项” 部分。

与前面的项目一致,可能最好限制客户端,仅允许使用服务器可能提供的特定 SASL 机制,而不是从服务器支持的所有程序中选择。如需更多信息,请参阅 第 5.4 节 “AMQP 选项” 部分。

在接收的 ObjectMessage 上调用 getObject() 的应用程序可能希望限制在反序列过程中创建的类型。请注意,使用 AMQP 类型系统组成的消息正文不使用 ObjectInputStream 机制,因此不需要采取此措施。如需更多信息,请参阅 “序列化策略选项”一节 部分。

7.1. 启用 OpenSSL 支持

SSL/TLS 连接可以配置为使用原生 OpenSSL 实现来提高性能。要使用 OpenSSL,必须启用 transport.useOpenSSL 选项,且必须在类路径中提供 OpenSSL 支持库。

要在 Red Hat Enterprise Linux 中使用系统安装的 OpenSSL 库,在您的 POM 文件中安装 opensslapr RPM 软件包并在您的 POM 文件中添加以下依赖关系:

示例:添加原生 OpenSSL 支持

<dependency>
  <groupId>io.netty</groupId>
  <artifactId>netty-tcnative</artifactId>
  <version>2.0.39.Final-redhat-00001</version>
  <classifier>linux-x86_64-fedora</classifier>
</dependency>

在 Netty 项目中 提供了 OpenSSL 库实施的列表

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.