Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 29 additions & 27 deletions README_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,28 @@

Azazel-Gadget は Azazel システムの AZ-02 ポータブル構成であり、低信頼 Wi-Fi・敵対的ローカルセグメント・現場運用向けのパーソナル戦術防御ゲートウェイ / Cyber Scapegoat Gateway です。ユーザー端末と周辺ネットワークの間に立ち、初期ネットワーク挙動を観測し、`portal` / `shield` / `scapegoat` の決定論的モードで露出を制御し、Web UI・TUI・E-paper・(任意)ローカル通知で運用状態を可視化します。

Azazel-Gadget は、敵対的ローカルネットワークにおける最初の接触面を、ユーザー端末の外側へ移します。

Azazel-Gadget は VPN ではなく、汎用トラベルルーターでもなく、完全な攻撃防止を約束するものでもありません。

**対象ユーザー:** セキュリティ研究者、フィールド防御担当者、旅行者、インシデントレスポンダー、レッド/ブルーチーム運用者、および低信頼ネットワークでポータブル防御ゲートウェイを必要とするユーザー。

## なぜ必要か

- 公衆Wi-Fiや敵対的ローカルセグメントでは、端末がローカル探索・プロービング・機会的攻撃に晒されます。
- VPNは通信経路を保護できますが、端末のローカル接触面そのものを消すわけではありません。
- エンドポイントファイアウォールは端末上で動作します。
- 旅行用ルーターは接続性に主眼があり、観測可能な戦術的デセプション・ゲートウェイとしては設計されていません。
- Azazel-Gadget は、端末の前段に制御可能なゲートウェイ境界と、必要に応じた scapegoat 面を配置します。

## 要件

| 要件 | 内容 |
|---|---|
| ハードウェア | Raspberry Pi Zero 2 W / Raspberry Pi 4 クラス |
| OS | Raspberry Pi OS / Linux |
| ランタイム | Python 3.x、Flask ベースのローカル Web UI |
| ネットワーク | 保護クライアント側 `usb0`、上流側 `wlan0` |
| ネットワーク | `usb0` 保護クライアント側、`wlan0` 上流側 |
| 任意機能 | E-paper、OpenCanary、Suricata、ntfy、portal viewer |

## クイックスタート
Expand Down Expand Up @@ -65,7 +75,7 @@ flowchart LR
## Azazel-Gadget が行うこと

- ポータブル防御ゲートウェイとして動作する。
- `portal` / `shield` / `scapegoat` の決定論的モードを提供する
- 決定論的な運用モードを提供する
- 保護対象 `usb0` クライアントを上流からの inbound と分離する。
- Web UI・TUI・E-paper による可視性を提供する。
- 必要に応じて OpenCanary の隔離デコイ公開を行う。
Expand Down Expand Up @@ -104,6 +114,17 @@ Azazel-Gadget が主張しないこと:
|---|---|---|
| `WARNING` | 監視パイプラインが警告条件を検知。 | ![Warning EPD sample](images/warning_composite.png) |

## デモプロファイル

1. 保護対象端末を Azazel-Gadget 経由で接続する。
2. Azazel-Gadget を低信頼Wi-Fiまたは敵対的ローカルセグメントへ接続する。
3. 同一セグメント上のピアから探索/プロービングを実施する。
4. `shield` では上流側 inbound 露出が遮断されることを示す。
5. `scapegoat` では allowlist されたデコイサービスのみ公開されることを示す。
6. Web UI・TUI・E-paper・(任意)通知経路で運用状態が可視化されることを示す。

詳細: [Black Hat USA Arsenal Profile](docs/demo/blackhat-usa-arsenal-profile.md)

## ハードウェアバリエーション

| Azazel-Gadget Portable | Azazel-Gadget Dock |
Expand All @@ -116,8 +137,6 @@ Azazel-Gadget が主張しないこと:
|---|---|
| [![Azazel-Gadget Web UI screenshot](images/WebUI.png)](images/WebUI.png) | [![Azazel-Gadget unified TUI screenshot](images/TUI.png)](images/TUI.png) |

リポジトリ内の運用インターフェース:

- Web UI バックエンドとダッシュボード: `azazel_web/`
- 統合 TUI モニタ/メニュー: `py/azazel_gadget/cli_unified.py`
- 互換メニューランチャー: `py/azazel_menu.py`
Expand Down Expand Up @@ -166,39 +185,22 @@ Azazel-Gadget が主張しないこと:
- Header: `X-AZAZEL-TOKEN` または `X-Auth-Token`
- Query: `?token=...`

## Services (systemd)

| Unit | 役割 |
|---|---|
| `azazel-mode.service` | 起動時モード適用 (`azctl mode apply-default`) |
| `azazel-first-minute.service` | 制御プレーン本体 |
| `azazel-control-daemon.service` | Unix socket アクションデーモン |
| `azazel-web.service` | Flask API/UI バックエンド |
| `azazel-portal-viewer.service` | Captive Portal Viewer(noVNC) |
| `usb0-static.service` | `usb0` に固定IPv4を設定 |
| `azazel-nat.service` | NAT/forward 補助 |
| `azazel-epd.service` | E-paper 起動表示 |
| `azazel-epd-refresh.service` + `azazel-epd-refresh.timer` | E-paper 定期モード/状態更新 |
| `azazel-epd-shutdown.service` | E-paper 終了処理 |
| `azazel-epd-portal.service` + `azazel-epd-portal.timer` | Captive Portal 定期検知 |
| `suri-epaper.service` | Suricata 連動 E-paper 更新 |
| `opencanary.service` | OpenCanary サービス |
| `opencanary@.service` | 専用ネットワーク名前空間での OpenCanary |

## Documentation Map

主要エントリ:

- [Documentation Index](docs/INDEX.md)
- [Personal Cyber Scapegoat Gateway](docs/concepts/personal-cyber-scapegoat-gateway.md)
- [First-Contact Surface Relocation](docs/concepts/first-contact-surface-relocation.md)
- [Azazel System Product Map](docs/concepts/azazel-system-product-map.md)
- [Black Hat USA Arsenal Profile](docs/demo/blackhat-usa-arsenal-profile.md)
- [Demo Evidence Checklist](docs/demo/evidence-checklist.md)
- [Series Positioning and Terms](docs/SERIES_POSITIONING_AND_TERMS.md)
- [Security Claim Policy](docs/SECURITY_CLAIM_POLICY.md)
- [Installer Guide](installer/README.md)
- [Release Process](docs/RELEASE_PROCESS.md)
- [Release Notes Template](docs/RELEASE_NOTES_TEMPLATE.md)
- [Changelog](docs/CHANGELOG.md)
- [Presentation Assets](docs/presentation/README.md)
- [Docs Site Entry](docs/index.html)
- [Regression Test Notes](scripts/tests/regression/README.md)

## Repository Layout

Expand All @@ -212,7 +214,7 @@ Azazel-Gadget が主張しないこと:
| `configs/` | 既定ランタイム設定 |
| `scripts/` | ランタイム補助とテストスクリプト |
| `docs/` | ドキュメントとプレゼン資産 |
| `images/` | README/プレゼン用画像資産 |
| `images/` | README/ドキュメント用画像資産 |

## ライセンス

Expand Down
Loading