用語
BunkerWeb
BunkerWebは、ウェブアプリケーションを保護するためのセキュリティソフトウェアで、特にDDoS攻撃や不正アクセスからの防御に特化しています。リアルタイムでのトラフィック監視や、脅威の自動検出・ブロック機能を備えています。使いやすいインターフェースで、企業や個人のウェブサイトのセキュリティ強化に役立ちます。
構築
VMの用意
最初はリソースの節約のためにLXCを使おうと思ったのですが、Dockerコンテナを使ってデプロイしようとすると特権コンテナ(Nested Container?)にする必要がありそうで、万が一侵入などされた場合、Proxmoxホスト側にも影響が出るため今回はセキュリティ的な面を考慮してVMで作ります。
スペックは以下とします。
OS:Ubuntu:24.04
CPU:1ソケット2コア
Memory:4GiB
Disk:32GB

apt updateとapt upgradeをして既存のパッケージを最新版にしておきます。
この後、念のためsnapshotを取っておくと安心でしょう。

Dockerインストールとコンテナデプロイ
今回はDockerで稼働させていきたいと思います。
Dockerをインストールします。
root@BunkerWeb:~# apt install -y docker.io docker-compose docker-compose-v2
以下のコマンドを実行してコンテナをデプロイします。
docker run -d \
--name bunkerweb-aio \
-v bw-storage:/data \
-p 80:8080/tcp \
-p 443:8443/tcp \
-p 443:8443/udp \
bunkerity/bunkerweb-all-in-one:1.6.9
Webアクセスと設定
http://LXCのIPアドレス/にアクセスすると以下のような画面が表示されます。

暫くすると以下のような画面に変わります。環境に合わせてsetupをしていきます。
HTTPS化をするときはLet's Encryptを指定して証明書の取得自動化であったり、プロキシの設定を入れることが出来そうでした。

セットアップが完了した画面が以下となります。
設定したユーザパスでログインします。

ログイン出来ました
これってZabbixやDeepSecurityみたいにAgentを対象のホストに入れる感じなんですかね。
ちょっとホームラボにDNS環境やWebアプリ環境を作る予定なので、その時に試してみますか・・・

ホストが停止起動したときにBunkerWebコンテナを自動起動させる場合
上記手順でBunkerWebを構築すると、ホストが停止起動すると手動でコンテナを立ち上げる必要があります。
面倒なので、ホストが起動したタイミングでコンテナが自動で起動するようにします。
以下のコマンドを実行します。
docker update --restart always bunkerweb-aio
