我正在尝试保护 RabbitMQ 的安装,但不确定如何保护 Erlang EPMD 端口。我只有一台机器在运行任何东西,所以我想让它只在环回设备上监听。根据文档,我添加了:
ERL_EPMD_ADDRESS=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
to /etc/rabbitmq/rabbitmq-env.conf
,但这没有效果,因为端口仍然显示nmap
从远程系统打开。
有没有办法锁定我不会使用的这个端口?
该端口已经是安全的。对此端口的访问由 Cookie 控制,Cookie 基本上是该特定服务器唯一的开发人员密钥,并在安装时创建。它可能位于 /var/lib/rabbitmq/.erlang.cookie 中,尽管发行版可以更改该位置。您会注意到 cookie 文件只能由 root 读取。
如果远程节点(另一台服务器)或本地节点(该服务器上的另一个 Erlang 实例)想要与 RabbitMQ 服务器通信,它们在通过 EPMD 通信时必须提供 cookie,否则请求将被忽略。
如果您遵循 RabbitMQ 最佳实践,那么您将让 RabbitMQ 在其自己的服务器上运行,并且将有两到三个其他 RabbitMQ 服务器与之集群。在此上下文中,“集群”意味着共享相同的 cookie 并通过相同的 EPMD 端口进行通信。阻止这个端口是一件坏事。
然而,在集群周围有一个边界通常是一件好事,该边界由防火墙管理,这样 EPMD 端口只能从边界内部使用。这意味着阻止是在防火墙设备、充当防火墙的服务器、EC2 防火墙或类似设备上进行的。
归档时间: |
|
查看次数: |
3341 次 |
最近记录: |