🔄 Useful Service: 代替案詳細 (Portainer / GoAccess)
もしWAFではなく他のサービスを採用する場合の技術詳細です。
1. Portainer (Docker GUI Management)
概要
Portainer は、Dockerの管理をGUIで行えるツールです。
仕組みとアーキテクチャ
Portainerコンテナは、ホストのDockerソケット (/var/run/docker.sock) をマウントすることで、ホスト上のDockerデーモンを直接制御します。
実装のポイント
- ボリュームマウント:
-v /var/run/docker.sock:/var/run/docker.sockが必須。 - セキュリティ: 管理画面が強力すぎるため、本番環境ではIP制限や強固なパスワードが必要。
有用な理由
開発中やデバッグ時に、コンテナのログを見たり、再起動したり、ボリュームの中身を確認したりする作業がクリックだけで完結するため、圧倒的に効率が良いです。
2. GoAccess (Real-time Log Analyzer)
概要
NGINXのアクセスログをリアルタイムで解析し、グラフィカルなダッシュボードを表示するツールです。
仕組みとアーキテクチャ
NGINXコンテナとGoAccessコンテナで「ログディレクトリ」を共有します。
実装のポイント
- WebSocket: リアルタイム更新のためにWebSocketポート(7890等)の開放が必要。
- ログ形式: NGINXのログフォーマットとGoAccessの設定を合わせる必要がある。
有用な理由
「自分のサイトにどこからアクセスが来ているか」「404エラーは出ていないか」などを視覚的に把握できるため、サイトの健全性を保つのに役立ちます。また、見た目がハッカーっぽくてかっこいいです。