安全最佳实践:epmd
·1 分钟阅读
安全最佳实践:epmd
Erlang 端口映射守护进程 (epmd
) 是一个内置组件,可帮助基于 Erlang 的应用程序(包括 RabbitMQ)发现彼此的分配端口。与用于主机名解析的 DNS 一起,epmd
是 RabbitMQ 节点集群、节点间通信和 CLI 工具连接所依赖的基础设施的一部分。
虽然 epm
的范围非常有限,但其暴露于公共互联网通常意味着 Erlang 分配端口也暴露在外。 这会产生潜在的安全风险:如果攻击者找到这些分配端口,他们只需知道一个密钥值就可以针对节点(或集群)运行 CLI 命令。
最近的扫描显示,超过 85,000 个公开可访问的 epmd
实例,其中大约一半与 RabbitMQ 服务器相关联。
幸运的是,通常只需限制对一系列端口的网络访问即可缓解此风险。 epmd
和节点间通信也可以限制在本地网络接口,特别是对于用于运行测试的单节点集群。
在 Erlang 生态系统基金会博客上阅读完整文章。