Awesome
BW-Pot
BW-Pot (Breakable Web applications honeyPot)は、HTTPまたはHTTPSを対象とする高対話型のハニーポットです。 狙われやすく侵害されやすいWebアプリケーションを構築することで、攻撃者からのアクセスを観察します。 また、ログをGoogle BigQueryに転送し、ログの蓄積および可視化を行います。
Features
- 頻繁に攻撃のターゲットとなっているWebアプリケーション環境を使用
- 毎日、クリーンな環境に自動リストア
- Google BigQueryへのリアルタイムなログ連携
- 自動的なログローテーション
- 詳細解析用にパケットキャプチャファイルを保存
- 低スペックなサーバで運用可能
Architecture/Specification
アーキテクチャ図は以下の通りです。
細かい仕様は、Specificationを参照してください。
Installation
Hardware Requirements
2GB
RAM10GB
SSD- Internet Connection
Amazon EC2のt2.nano
インスタンスで動作確認しています。
t2.nano
は0.5GB
RAMですが、Swap領域を2GB
確保することで動作確認しています。
Software Requirements
- Docker
- Docker-Compose
- logrotate
Service Account Requirements
- Google Cloud Platform Account
Install
Installを参照してください。
OSセットアップや必要ソフトウェアをインストールする手順は、Preparing for installationを参照してください。
Usage
BigQueryに転送したログを使用して、BigQueryのWebUIでSQL実行による分析や、 データポータルでBigQueryの各テーブルをデータソースに指定してダッシュボードを作成することが可能です。
データポータルで作成したダッシュボードの例です。
また、/data/tshark/dump/
に格納しているネットワークキャプチャファイルを端末にダウンロードしてWireShark等で確認することも可能です。
Licenses
BW-Potが使用しているソフトウェアのライセンスは以下の通りです。
- Apache License v2: Docker, Fluentd, Apache Tomcat
- GPL v2: Wireshark(tshark), WordPress, phpMyAdmin
- BSD License: WOWHoneypot
Author
ToDo
- WebアプリケーションにDrupalを追加
- ログ保全のためAmazon S3にログファイルを保存するサービスを追加
- iptablesにOutBoundの通信を塞ぐルールを追加
- IDS(SuricataまたはSnort)を追加
- dockerのimageを定期アップデート(docker system prune -aでimage削除して実現?)