ホネポット技術の概要
ホネポットは、攻撃者に対して仮想的なターゲットを提示する欺瞞技術として機能します。具体的には、脆弱性を備えたサービスやサーバーを設置し、攻撃者がここを対象にして侵入を試みるように仕向けます。これにより、組織の正規システムへのアクセスを妨げることなく、攻撃の手口、使用されるツール、さらには攻撃者の意図を特定できます。得られた情報は、防御体制の改善点の発見や、脅威インテリジェンスの取得に直結します。
環境構築プロセス
本項では、コミュニティ版として広く利用されている「HFish」を用いたホネポットの立ち上げ手順を解説します。このソリューションは、企業レベルでの内網監査や外網からの侵攻試行検知に適しており、中低インタラクション型の蜜罐を通じて早期検知を実現します。
Docker インフラの準備
まず、実行環境として Docker コアをインストールし、セキュリティポリシー上の調整を行います。
# ドメインパッケージマネージャを使用したインストール
yum install -y docker-ce docker-ce-cli
# トラフィック制御用ファイアウォールの無効化設定
systemctl stop firewalld
systemctl disable firewalld
# Docker デーモンの起動確認
systemctl daemon-reload
systemctl start docker
systemctl enable docker
HFish コンテナの展開
イメージをプル後、以下のようにネットワークモードと権限を設定してコンテナを起動します。
# ベースイメージの抽出
docker pull threatbook/hfish-server:latest
# ホストネットワークでの実装
# ※変数名およびボリュームマウントパスを変更して定義
docker run -d --name honey-defender \
--network host \
--privileged \
-v /opt/data/hfish:/usr/share/hfish \
threatbook/hfish-server:latest
継続的なバージョン管理
最新の脆弱性情報に対応するため、自動化された更新機構を導入します。ここでは Watchtower を経由して定期的なスキャンとリフレッシュを行います。
# 自動更新エージェントの起動
# 指定間隔(秒単位)とコンテナ識別子をカスタマイズ
docker run -d --name auto-updater \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
honey-defender \
--interval 3600
初期設定とデータベース構成
デプロイが完了すると、以下の情報にて管理画面へアクセス可能です。
- HTTPS 接続先:https://[サーバーIP]:4433/web/
- 管理者アカウント:admin
- 初期パスワード:HFish2021
内網環境であればデフォルトの設定でも動作しますが、大規模なトラフィックや高頻度の実行が発生する外部公開環境では、SQLite はパフォーマンスボトルネックとなります。そのため、外網対応の場合は MySQL への移行が必要です。
プラットフォーム設定から DB 切り替えが可能ですが、SQLite から MySQL へのダウングレードはサポートされていません。事前に独立した MySQL インスタンスを用意し、ホスト権限を適切に設定する必要があります。
MariaDB または MySQL を使用する場合、root ユーザーのリモート接続許可設定を確認します。小皮(PhpStudy)等のミドルウェアを使用する際は、host フィールドの制約解除を実行してください。
mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
select host, user from user;
運用監視と分析
管理コンソール内のノード管理項目を確認すると、初期状態での蜜罐サービスリストが表示されます。
攻撃を検知した場合、以下の詳細情報がログに蓄積されます:
- 総攻撃回数の推移グラフ
- 攻撃元となった IP アドレス一覧
- 個々の攻撃パケットの詳細ヘッダー情報
これらの情報を分析することで、相手側の利用しているブルートフォース辞書やスクリプトを特定し、防御策を講じることが可能です。
また、既存サービスに加え、サードパーティ製のウェブアプリケーション(例:Web 改ざん防止装置など)の模倣ホネポットも追加登録できます。
例えば、特定の IP ポート(http://[内部 IP]:9298/)に対してプローブをかけると、認証情報のクラッキング試行が行われます。その際、試行されたユーザー名やパスワードリストが記録され、セキュリティ対策における辞書攻撃の分析材料として活用できます。