closuresUbuntu / RabbitMQ中的EPMD侦听端口(4369)

我试图确保安装了RabbitMQ,但不知道如何保护Erlang EPMD端口。 我只有一台机器运行任何东西,所以我只想让它只听回环设备。 根据文档 ,我补充道:

ERL_EPMD_ADDRESS=127.0.0.1 

/etc/rabbitmq/rabbitmq-env.conf ,但是这个没有任何作用,因为端口仍然在远程系统的nmap显示为打开。

有没有办法locking这个端口,我不会使用?

这个端口已经安全。 访问这个端口是由一个Cookie控制的,它基本上是一个开发者密钥,对于这个特定的服务器来说是唯一的,并且是在安装时创build的。 它可能位于/var/lib/rabbitmq/.erlang.cookie,尽pipe发行版可能会更改该位置。 你会注意到cookie文件只能被root用户读取。

如果远程节点(另一个服务器)或本地节点(本服务器上的另一个Erlang实例)想要与您的RabbitMQ服务器进行通信,则它们必须在通过EPMD进行通信时呈现cookie,否则请求将被忽略。

如果您遵循RabbitMQ最佳实践,那么您将拥有在自己的服务器上运行的RabbitMQ,并且将会有两台或三台其他RabbitMQ服务器与之集群。 在这种情况下,“聚集”意味着共享相同的cookie并通过相同的EPMD端口进行通信。 阻止这个端口是一件坏事。

但是,通过防火墙pipe理集群周围是一件好事,因此EPMD端口只能在外围使用。 这意味着阻止位于防火墙设备或作为防火墙的服务器或EC2防火墙或类似设备上。