2016-04-22 6 views
3

安全な弾性探索クラスタを作成したいと思います。弾性探索クラスタの保護

私の使用事例について私はマルチテナントシステムが欲しい。ユーザーは、自分のネームスペースへの管理アクセス権を持っている必要があります。カップルが試行した後、私は今、ユーザーに自分のクラスターを(ドッカーを介して)与えています。

試行1:マルチテナント性を備えた専用ノードのシールド。これは、すべてのユーザーのロールymlファイルを変更する必要があります。これは面倒で痛い。

試行2:ドッキング用のコンテナ+シールド:これはいくつかの試行錯誤の後にうまくいきましたが、私はライセンスが気に入らず、TCP転送をどのように確保しているのか分かりません。

試み3:ドッカーコンテナ+ nginxのリバースプロキシ& htpasswdの:これは、HTTPトランスポートを確保するためにうまく機能し、現在そのbasic auth is supported in Kibana kibanaで素晴らしい作品。残念ながら、これは私のクラスタリング能力を制限します。なぜなら、9300は広く開いているからです。

試行4:私はドッキング用のコンテナ+検索ガードを試しています。これはまともなオプションのようですが、まだTCP転送がどのように確保されているかわかりません。

どのように人々安全なマルチテナント弾性探索クラスター?

答えて

0

あなたは正しい道を歩いています。 ESは本質的にマルチテナントではなく、実際にはネームスペースへのアクセスを適切に確保しているかどうかは分かりません。また、ESには認証とhttpsがないため、これらの問題も処理する必要があります。私はあなたが特権を払うことができることを知っています。それを得るために他にもいくつかのハッキングがありますが、現実的にはシステムはマルチテナントではなく顧客ごとです。

ドッカーを使用するマルチテナントが実行可能な解決策であるという前提にも注意してください。ここでも、ドッカーのセキュリティはよく知られた問題ではありません。カーネルの上で仮想化すると、リスクが発生します。主なリスクは、カーネルが大量のコードとハードウェア上で受け入れられた仮想化技術であることです。ハイパーバイザーで動作するamazon ec2インスタンスを実行します。ハイパーバイザは、ハードウェアを介してVM間の境界の多くを実装します。つまり、ハードウェアレベルで異なるVMを分離するのに役立つ特殊なCPUプロシージャです。

ハイパーバイザは(カーネルと比べて)小さなコードであるため、監査するのがはるかに簡単です。ハイパーバイザーはハードウェア機能を使用して分離を実行するため、安全性ははるかに高くなります。

Dockerは実際にはプロセスごとにセキュリティを追加します(IEのnginxを実行しているアプリケーションがハッキングされ、ドッカーがうまくセットアップされていれば、侵入者もドッカーインスタンスから脱出する必要があります)。他の次元では、マシンの仮想化ほど良くはありません。

各顧客と各VMクラスタで、クラスターVMを作成し、ESドッカーと他のアプリケーションドッカーを実行することをお勧めします。