2011-07-12 1 views
12

ejabberdのようなErlangプログラムを使用する場合、Erlang port mapper daemonepmdが起動され、ポート4369が開きます。epmdポートが開いている最悪のケースは何ですか?

このポートはインターネット経由でアクセスできます(最新のejabberdバージョンでは、epmdをlocalhostにバインドするように設定できます)。

ejabberdのドキュメントでは、blocking this port via packet filter rulesを推奨し、comment in the Debian bug trackerはこのデフォルト動作を「セキュリティの観点からの悪夢」と呼びます。

ejabberdが実行されていて、ポート4369がブロックされていない場合の最悪のシナリオは何ですか?

と言ってください - ファイアウォールが誤って構成されているなどです。

Erlang流暢な攻撃者がこのポートで行うことができる最も厄介なことは何でしょうか?

epmdをLinuxディストリビューション(Debian/Ubuntuなど)で実行しているユーザー/権限はありますか?

答えて

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'は多くのサービスを提供していないので、節電の通信は安全なクッキーコードで認証され、Erlangの相対的な年齢になると、その地域には多くのバグはないと思います。しかし、良い血統だけでは、セキュリティ分野には数えられません。 ;-)

あなたが書いたように、サーバがそのように公開されていないことを確認するには、適切に設定されたファイアウォールが必要です。メンテナンスプロセスで、ファイアウォールの適切な機能が完全にチェックされていることを確認する必要があります。

ああ、制限付きのファイル権限を持つroot以外のユーザーとして私のErlangノードを実行します。

関連する問題