

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon MQ 的安全最佳实践
<a name="using-amazon-mq-securely"></a>

以下设计模式可以提高 Amazon MQ 代理的安全性。

**Topics**
+ [首选不可公开访问的代理](#prefer-brokers-without-public-accessibility)
+ [始终配置授权映射](#always-configure-authorization-map)
+ [使用 VPC 安全组阻止不必要的协议](#amazon-mq-vpc-security-groups)

 有关 Amazon MQ 如何加密您数据的更多信息以及支持的协议列表，请参阅[数据保护](data-protection.md)。

## 首选不可公开访问的代理
<a name="prefer-brokers-without-public-accessibility"></a>

对于所创建的、不可公开访问的代理，无法从您的 [VPC](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Introduction.html) 外部访问。这大大降低了您的经纪人对来自公共互联网的分布式拒绝服务 (DDoS) 攻击的敏感性。有关更多信息，请参阅 Amazon 安全博客上的[如何通过减少攻击面来帮助为 DDo S 攻击做好准备](https://www.amazonaws.cn/blogs/security/how-to-help-prepare-for-ddos-attacks-by-reducing-your-attack-surface/)。

## 始终配置授权映射
<a name="always-configure-authorization-map"></a>

由于 ActiveMQ 默认情况下没有配置授权映射，任何经过身份验证的用户都可以在代理上执行任何操作。因此，最好*按组* 来限制权限。有关更多信息，请参阅 `authorizationEntry`。

**重要**  
如果您指定的授权映射不包含在 `activemq-webconsole` 组中，您无法使用 ActiveMQ Web 控制台，因为该组未获得授权向 Amazon MQ 代理发送消息或接收来自该代理的消息。

## 使用 VPC 安全组阻止不必要的协议
<a name="amazon-mq-vpc-security-groups"></a>

为提高私有代理的安全性，您应通过正确配置 Amazon VPC 安全组来限制不必要协议和端口的连接。例如，要在允许访问 Web 控制台的同时限制对 OpenWire 大多数协议的访问，可以只允许访问 61617 和 8162。这会通过屏蔽您未使用的协议来限制您的曝光，同时允许 OpenWire Web 控制台正常运行。

仅允许您正在使用的协议端口。
+ AMQP: 5671
+ MQTT: 8883
+ OpenWire: 61617
+ STOMP: 61614
+ WebSocket: 61619

有关更多信息，请参阅：
+ [您的 VPC 的安全组](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_SecurityGroups.html)
+ [您的 VPC 的默认安全组](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup)
+ [使用安全组](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_SecurityGroups.html#WorkingWithSecurityGroups)