跳到主要内容

安全最佳实践:epmd

·一分钟阅读

安全最佳实践:epmd

Erlang 端口映射守护进程 (epmd) 是一个内置组件,可帮助基于 Erlang 的应用程序(包括 RabbitMQ)发现彼此的分发端口。epmd 与用于主机名解析的 DNS 一起,是 RabbitMQ 节点用于集群、节点间通信和 CLI 工具连接的基础设施的一部分。

虽然 epmd 的范围非常有限,但将其暴露于公共互联网通常意味着 Erlang 分发端口也暴露在外。这会产生潜在的安全风险:如果攻击者找到这些分发端口,他们只需一个密钥值即可针对节点(或集群)运行 CLI 命令。

最近的扫描显示,超过 85,000 个可公开访问的 epmd 实例,其中大约一半与 RabbitMQ 服务器相关联。

幸运的是,通常只需限制对一系列端口的网络访问即可缓解此风险。epmd 和节点间通信也可以限制为本地网络接口,特别是对于用于运行测试的单节点集群。

阅读 Erlang 生态系统基金会博客上的完整文章。

© . All rights reserved.