
HoneyWire hub/v2.1.0
あらゆるLinuxマシンを高シグナルのカナリアに変える、オープンソースのデセプションプラットフォーム。ファイル、ポート、ネットワークサービスにトリップワイヤーセンサーを配備し、即時フォレンジックとプッシュ通知で侵入者を検出します。
HoneyWire
📋 目次
概要
HoneyWire は、内部ネットワーク向けに設計された、軽量な分散型ハイシグナルセキュリティ早期警戒システムビルダーです。そのアーキテクチャとUXを活用することで、新しいCyber Canaryサーバーの構築や、既存サーバーへのHoneyWireの展開が非常に簡単になります。欺瞞技術を活用し、正当なトラフィックを監視してアナリストを誤検知の海に溺れさせがちな従来のSIEMの「虫眼鏡」アプローチを、高忠実度のトリップワイヤーモデルに置き換えます。
センサーを設置したい場所に正確に配置してください。それが作動したなら、侵入者がいるということです。
- 本番トリップワイヤー: アクティブなサービスが本来あるべきでない方法で探られているときに警報を発します。決して読み取られるべきではない機密ファイルや、決してアクセスされるべきではないサービスポートにセンサーを配置することで、「許可された経路」からの逸脱によって侵入者を特定します。
- 合成欺瞞: ICMP Canary や Network Scan Detector などの囮を展開します。これらのセンサーは正当なビジネス価値を提供しないため、そのトラフィックの100%が実用的なインテリジェンスとなります。
複数設置すれば、侵入者のラテラルムーブメント(横移動)のかなり明確な把握が可能になります。チューニング不要、ノイズなし、即座のフォレンジックのみです。 正当な自動化セキュリティスキャナーがHoneyWireを作動させている場合は、Hubの設定からそれらをホワイトリストに登録するだけです。
デモ
🔌 ユニバーサルイベント標準(Bring Your Own Sensor)
注: 公式のHoneyWire SDKを使用してセンサーを構築する場合、このJSONフォーマットと配信は自動的に処理されます。
HoneyWireの真の力は、HubとWizardが完全にセンサー非依存であることです。同梱されている公式センサーに限定されるわけではありません。
HoneyWire Event Standard V2.0 に準拠することで、任意の言語(Bash、Go、Rust、Python)でスクリプトを書き、あらゆるものを監視でき、Sentinel UIがフォレンジックデータを動的に解析、シンタックスハイライト、レンダリングします。
Deep Packet Inspection (DPI) エンジン、DNSシンクホール、PDFに埋め込まれたCanary Token、Email Honeypot、または単純なTCP Port Tripwireなど、ユニバーサルイベント標準のJSONペイロードをHubにPOSTするだけです。
特徴
- Sentinel Hub UI: Vue 3を搭載した完全レスポンシブなダッシュボードで、動的なフォレンジックペイロード検査、ノードとセンサーの展開・管理(センサーの更新を含む)をUIから直接行えます。
- ユニバーサルプッシュ通知: Discord、Slack、Ntfy、Gotify への重要なアラートルーティングのための、ネイティブで依存関係ゼロの統合。
- エンタープライズSIEM統合: Splunk、Elastic、Wazuh、Vectorへの構造化テレメトリのシームレスなプッシュのためのネイティブRFC5424 Syslog転送(TCP/UDP)。
- セットアップウィザード: 24時間365日稼働するエージェントにならないように明示的に開発された、展開およびテスト自動化ツール。これは単なるTUI CLIツールであり、特定のノードに対するHubの望ましい状態の適用と調整などのオペレータータスクを自動化し、設定、展開、および展開失敗時のロールバックを自動的に処理します。
- 公式HoneyWireスイート: ネイティブの TCP Tarpit、Web Router Decoy、File Canary (FIM)、ICMP Canary、および Network Scan Detector が含まれます。
アーキテクチャ
HoneyWireは4つの独立したマイクロサービスに分割されています:
/Hub: 中央の頭脳。組み込みSQLiteデータベースとVue.jsダッシュボードを実行する純粋なGoバイナリ。Distrolessコンテナ内で非rootユーザーとして実行され、データを専用ボリュームに安全にマウントします。/Sensors: 囮ノード。脆弱なポートで待ち受け、攻撃者を罠にかけ、侵入データをHubに安全にPOSTする静的リンクのGoバイナリ。/SDKs: コミュニティ開発者が新しいセンサーを簡単に構築できるように、安全なHub通信を処理する公式ライブラリ(sdk-goなど)。/wizard: 発見、展開、HoneyWireのテストなどのオペレータータスクを自動化するセットアップウィザードCLIツール。
🚀 クイックスタートガイド
HoneyWire Hubの展開は、事前構築済みのGitHub Containerイメージを使用して60秒もかかりません。
1. Hubの展開
サーバー上に新しいディレクトリを作成し、docker-compose.yml ファイルを作成して、以下を貼り付けます:
services:
# 1. THE PERMISSION FIXER: Runs once to ensure the Hub can write to the data volume
permission-fixer:
image: alpine:latest
container_name: honeywire-permission-fixer
command: sh -c "chown -R 65532:65532 /data"
volumes:
- ./honeywire_data:/data
# 2. THE HUB: The central Go-based dashboard and API
hub:
image: ghcr.io/andreicscs/honeywire-hub:latest
container_name: honeywire-hub
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./honeywire_data:/data
depends_on:
permission-fixer:
condition: service_completed_successfully
# Strict Security Sandbox
user: "65532:65532"
read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
environment:
- HW_ENV=development # Required if not using HTTPS, or the cookie will have the secure flag set, in production it is highly recommended to remove this and run this behind a reverse proxy using https
- HW_PORT=8080
- HW_DB_PATH=/data/honeywire.db
# Optional: Hardcode the dashboard password (disables the UI password reset feature)
# - HW_DASHBOARD_PASSWORD=admin
Hubを起動します:
docker compose up -d
2. システムの初期化
ブラウザで http://<your-server-ip>:HW_PORT に移動します。Initialize Sentinel 画面が表示されます。
- マスターパスワードを作成します。
- HubエンドポイントURL(センサーがHubに到達するIP/URL)を確認します。
- 「Initialize Hub」をクリックします。
3. センサーの展開
- 新しいノードを作成し、提供されたコマンドを貼り付けてセットアップウィザードをインストールし、Hubにリンクします。
- Hubから直接センサーをインストールし、ノード上で
honeywire applyを実行して望ましい状態を調整するか、honeywire discoverを実行してセットアップウィザードが環境に基づいてHoneyWireを自動的にスキャンして提案します。
4. HoneyWireのテスト
コンテナが起動したら、Tarpitセンサーは30秒以内に ONLINE として表示されるはずです。
honeywire firedrill を実行して、HoneyWireが接続テスト用のモックイベントをHubに送信します。
注: ノードの管理、センサーの更新、ロールバックの処理についての詳細は、ユーザー運用ガイド を参照してください。
セキュリティに関する注意事項
- 脅威モデル: 信頼境界、アーキテクチャリスク、サンドボックスルールの詳細については、THREATMODEL.md を参照してください。
- ノードキー: センサーがHubと通信する際に、固有の
Node Keyを使用していることを確認してください。Hubは、不一致または無効なキーを持つペイロードを拒否します。 - システムアーミング: 内部ネットワークのメンテナンスや脆弱性スキャン中にプッシュ通知を一時的に無効にするには、Hub UIの「System Armed」ボタンを切り替えます。
- コンテナの堅牢化: HoneyWireは
gcr.io/distroless/static-debian12:nonrootを利用しています。コンテナが侵害された場合に爆発範囲を封じ込めるために、最小権限の原則に従っています。 - 分散展開: Hubとそのセンサーを別々の物理マシンまたは仮想マシンで実行することを強くお勧めします。攻撃者がセンサーノードを侵害した場合、中央のHubへの即時のローカルアクセス権を持つべきではありません。
- ⚠️ 暗号化(HTTPS): 本番環境では、リバースプロキシ(Nginx、Caddy、Traefikなど)を使用して、Hub Web UIとAPIを常にHTTPSで提供してください。そうしないと、ダッシュボードのパスワードとノードキーがネットワークスニッフィングにさらされます。
技術スタック
- バックエンド: Go 1.25、
net/http(標準ライブラリ)、SQLite(ModernC Pure Go Driver) - フロントエンド: Vue 3(Composition API)、TailwindCSS、Chart.js
- インフラストラクチャ: Docker、Docker Compose v5.0.0+
ロードマップと開発
HoneyWireは、完全なGitOps駆動のエンタープライズ欺瞞プラットフォームに向けて積極的に進化しています。
- 公開ロードマップ で、現在構築中のもの(v2.2.0機能、v3.0.0 IaCオーバーホール、今後のSIEMベンチマーク)を確認してください。
- ロードマップに影響を与えたいですか? 私たちはコミュニティのフィードバックに大きく依存しています。GitHub Discussions にアクセスして、今後の機能に投票したり、新しい囮タイプを提案したり、ラボでのHoneyWireの使用方法を共有したりしてください。
バージョニングとAPIリファレンス
- HoneyWireのバージョンはGitタグで管理されます。
Hubエンドポイント:GET /api/v2/version→{ "version": "v2.x.x" }を返します
- APIドキュメントファイル: API.md に完全なバックエンドルートリファレンスとサンプルペイロードがあります。