www.morihi-soc.net

セキュリティの話題を中心に取扱中

ハニーポット観察記録(28) 「nosqlpot(NoPo)の紹介」

どうも.ハニーポッターの森久です.

今回はちょっと珍しい NoSQL データベースのハニーポットを構築できる nosqlpot(NoPo)を紹介します.

NoSQL が何かわからない人は,とりあえず Wikipedia をご参照ください.

NoPo は NoSQL データベースのハニーポットを構築するフレームワークです.コンフィグを用意することによって,NoSQL データベースに対する攻撃をログとして保存します.

インストール環境と事前準備

想定しているインストール環境は Ubuntu 14.04 64bit Server 版です.

NoPo は Python で作成されています.そのため Python とその他のパッケージをインストールします.

また GitHub のリポジトリからコピーを作成するので git も一緒にインストールします.

なお NoPo で Redis を使う場合,ファイアウォールで 6379/tcp ポートへの接続を許可しておく必要があります.

 

インストール

環境が整ったところで,インストールします.

以上でインストールは完了です.

 

ハニーポット起動

本記事の作成時点で NoPo のバージョンは 0.1(beta) です.対応している NoSQL データベースは Redis のみのようです.サンプルコンフィグに MongoDB がありますが,まだデプロイできないようです.

Redis でハニーポットを構築します.

デプロイするデータベースとして redis を指定します.

また待ち受けするポート番号ですが,NoPo のデフォルトは 6109/tcp です.しかし Redis のデフォルト待ち受けポートは 6379/tcp なので,オプションで明示的に指定しています.

 

動作確認

NoPo の起動が出来たら,動作確認をします.

redis-cli が使える端末から接続しましょう.なお下記は Ubuntu 14.04 における,redis-cli のインストール方法です.

接続してみます.

下記のようなプロンプトが表示されたら,PING と入力してみます.

 

PONG が返ってきたら,NoPo は正常に動作しています.quit で redis-cli を終了できます.

 

ログの確認

先ほどの動作確認のログを確認します.ログファイルの名前は「redis.log」です.NoPo をインストールしたディレクトリに作成されていると思います.

おそらく「New connection」で接続元の IP アドレスが表示され,その後に入力した PING が記録されていると思います.

 

まとめ

今回は NoSQL データベースのハニーポットを構築できるフレームワークの nosqlpot(NoPo)の構築手順と動作確認について紹介しました.

現時点では Redis のみ対応していますが,今後,MongoDB やその他の NoSQL データベースに対応していくと一層面白くなると思います.

 

以上です.

 

参考情報

NoSQL-Honeypot-Framework (NoPo)
https://github.com/torque59/nosqlpot

 

Written by morihisa

6月 15th, 2015 at 10:52 pm