Elasticsearchのデータを悪意ある攻撃から守るには

2017年1月31日 / BY / IN Elasticsearch, 未分類

Elasticsearchが稼働しているサーバにアクセスし、ランサムウェア攻撃を行いデータを削除したうえで、データ返却の条件として身代金(0.2ビットコイン)を要求するという攻撃が急増していると報じられました。

ハッキングされた場合、データが全て削除された後に、「SEND 0.2 BTC TO THIS WALLET: 1DAsGY4Kt1a4LCTPMH5vm5PqX32eZmot4r IF YOU WANT RECOVER YOUR DATABASE! SEND TO THIS EMAIL YOUR SERVER IP AFTER SENDING THE BITCOINS…」というインデックスひとつが残されるというものです。
はたして身代金を支払った人はいるのか、そしてデータは戻って来たのか・・・大変気になるところですがそれは後でゆっくり検索してみるとして、まずはこのような被害に遭わないための対策を紹介します。

ElasticsearchのコンサルタントであるItamar Syn-Hershko氏は、こういった身代金要求攻撃の被害者にならないようにするための、Elasticsearchクラスタの詳細な設定方法を公開しています。

またElasticは、Elastic Cloudを用いることを勧めています。「Elastic Cloudでは、X-Pack securityでパスワードはランダム生成され、AWSリージョン内で二重のファイヤウォールとプロキシがあり、インターネットからの通信はTLSで暗号化され、クラスタデータのバックアップはElasticによって2日間保管されるため今回の攻撃を回避することができる。」という安全性の高さがウリです。

加えて、もし、使用しているインスタンスがインターネットからアクセス可能でセキュリティ対策がなされていない場合、今すぐに次の方法でデータを保護するよう警告しています。

  • 直ちにすべてのデータのバックアップを実行して安全な場所に保管しCuratorでスナップショットを実行する
  • インターネットから直接アクセスできないネットワークでElasticsearchを実行するように構成を変更する
  • どうしてもインターネット経由でクラスタにアクセスする必要がある場合は、クラスタへのアクセスを、ファイアウォール、VPN、リバースプロキシ経由にするなどアクセスを限定する

前述のSyn-Hershko氏はさらに事前対策として次のようなアドバイスをしています。

  • クラスタをプライベートネットワーク内に隠し、自分のサーバで実行するアプリケーションからのみアクセス可能にすること
  • 不必要な機能は無効にしておくこと
  • 設定やデータ構造を出来る限り隠すこと
  • そもそもElasticsearchを使用していることをうまく隠すこと

せっかく便利なElasticsearchをおおっぴらに使いたいという気持ちはわかりますが、大切なデータを守れなくては元も子もありません。こっそり活用するのがいいですね。

Leave a Reply