これは、Erlang システムを実行する際に何に注意する必要があるかという点で、より一般的な質問です。たとえば、私は原子枯渇攻撃を知っています。他に考えられる攻撃とは? システムをより安全にする方法は?
3 に答える
クラスターを実行するということは、それらが Cookie を共有していることを意味し、Cookie を知っていれば (ネットワークに接続されていると仮定して) どのノードにも接続し、任意の Erlang コマンドまたはプログラムを実行できます。
したがって、クラスター化されているということは、Cookie が何であるか (またはその場所) を知っている少なくとも 2 つのファイル (および何人かの人々) が存在することを意味するということです。
あなたのシステムにデプロイされたアプリケーションのバグが心配です。otp の良い例は、3 年前に完全に書き直された SSL アプリです。次は http クライアント - メモリ リークです。Xmerl は決してシステムの強力な部分ではありませんでした。
また、サードパーティの Erlang アプリには注意してください: 新しい Web サーバー (おそらく inets よりも優れていますが、すべてのパフォーマンスが必要でない場合は、安定した Yaw を検討してください)、ejabberd - OS を直接攻撃する多くのテクニック、Riak - ファイルシステムとの相互作用、ulimit、 iostats など
まず、クラスターを閉じた VPN に配置する必要があります (それらが遠く離れていて、おそらく WAN 経由で通信している場合)。UNIX
次に、それらを硬化または上で実行しますLINUX
。もう 1 つの強力なアイデアは、クラスターへのすべての epmd 接続を閉じることです。Erlang net_kernel:allow(Nodes).
Vms の主な弱点の 1 つ (私は気付いたのですが) はメモリ消費です。Erlang プラットフォームが多くのユーザーにサービスを提供していて、DOS 攻撃から保護されていない場合、非常に脆弱なままになると思います。一部のscript boys in the neighbourhood
. 別の状況は、分散/複製されているMnesia
クラスター全体のデータベース。Mnesia はデータを複製しますが、そのデータが暗号化されているかどうかはわかりません。最後に、クラスタ内のすべてのマシンの唯一の管理者であることを確認してください。