2011-07-12 71 views
12

當使用像ejabberd這樣的Erlang程序時,Erlang port mapper daemonepmd被啓動並打開端口4369當epmd端口打開時最壞的情況是什麼?

默認情況下,此端口可通過互聯網訪問(只有最新的ejabberd版本允許配置epmd應該綁定到本地主機)。

ejabberd文檔建議blocking this port via packet filter rulescomment in the Debian bug tracker將此默認行爲稱爲「從安全角度來看的噩夢」。

當ejabberd正在運行並且端口4369未被阻止時,最壞的情況是什麼情況?

說 - 防火牆是錯誤配置的意外或類似的東西。

一個Erlang流利的攻擊者可以通過這個端口做什麼是最邪惡的事情?

在Linux發行版(例如Debian/Ubuntu)下用什麼用戶/特權運行epmd

回答

1

您可能會發現BEAM之間活動連接的源/目標地址和端口號對。這可能會導致對BEAM間連接的DoS攻擊。

+0

我猜BEAM是一個類似Erlang的過程嗎? – maxschlepzig

+0

BEAM是一個虛擬機。 BEAM發起並接收用於BEAM間連接的TCP連接。所以它不是一個Erlang進程,但確實是一個作爲UNIX進程的Linux運行的Linux或UNIX程序。 – jj1bdx

5

偉大的問題。

除了端口4369,你還必須考慮它建議實際節點間通信的端口(默認爲5001-6024)。和所有的tcp服務一樣,它也容易受到惡意軟件的攻擊,因爲軟件從來沒有缺陷,因此可以被破解。認爲SSH和它的緩衝區溢出漏洞。由於'epmd'不提供很多服務,節點間通信通過一個安全的cookie代碼進行驗證,並且Erlang的相對年齡較大,所以您不會期望該區域出現很多錯誤。但是,一個好的血統本身並不在安全領域。 ;-)

正如你寫的,你需要一個正確配置的防火牆,以確保服務器不像那樣暴露。您需要確保在維護過程中徹底檢查防火牆的正常運行。

哦,我以非root用戶身份運行我的Erlang節點,並且文件權限有限。

相關問題