使用ejabberd等Erlang程序时,Erlang port mapper daemon epmd
已启动并打开端口4369
。
此端口可通过Internet访问(默认情况下,只有最新的ejabberd版本允许配置epmd应绑定到localhost)。
ejabberd文档建议blocking this port via packet filter rules和comment in the Debian bug tracker将此默认行为称为“从安全角度来看是一场噩梦”。
当ejabberd正在运行且端口4369
未被阻止时,最糟糕的情况是什么?
说 - 防火墙是偶然配置错误的。
一个二郎流利的攻击者可以在这个港口做什么最邪恶的事情?
在哪个用户/权限下运行linux发行版下的epmd
(例如Debian / Ubuntu)?
答案 0 :(得分:6)
好问题。
除了端口4369之外,您还必须考虑它将为实际的节点间通信建议的端口(默认情况下为5001-6024)。像所有tcp服务一样,它将容易受到恶意攻击者的攻击,因为软件永远不会没有bug,因而无法攻击。认为SSH和它的缓冲区溢出漏洞。由于'epmd'没有提供很多服务,节点间通信使用安全的cookie代码进行身份验证,并且Erlang的相对老年期望在该区域中没有很多错误。但是,一个好的血统本身并不属于安全领域。 ; - )
正如您所写,您需要一个正确配置的防火墙,以确保服务器不会像这样暴露。您需要确保在维护过程中彻底检查防火墙的正常运行。
哦,我将我的Erlang节点作为非root用户运行,文件权限有限。
答案 1 :(得分:2)
您可能会找到BEAM之间活动连接的源/目标地址和端口号对。这可能导致对BEAM间连接的DoS攻击。