主な結論:CasaOSの管理ダッシュボードは非公開にしてください。自分用のリモートアクセスが必要な場合は、VPNまたはプライベートメッシュを使用します。ほかの人が1つのアプリケーションを利用する必要がある場合は、CasaOSの管理プレーン全体を公開するのではなく、管理されたHTTPS経路を通じてそのアプリだけを公開してください。
ログイン画面はファイアウォールではない
CasaOSでは、アプリケーションのインストール、停止、削除、再設定ができます。そのため、ダッシュボードは特権管理インターフェースです。ポートフォワーディングを公開すると、このインターフェースはあなた自身だけでなく、インターネット上のスキャナーからも到達可能になります。
インターネット → 選択したアプリまたはプライベートトンネル → ファイアウォール → LAN上のCasaOS
管理にはプライベートネットワークを使用する
WireGuard VPNトンネルは、CasaOSを公開Webサイトにすることなく、暗号化されたピアツーピア経路を構築します。信頼できるデバイスからダッシュボード、SSH、SMBに個人的にアクセスする用途に適しています。
個別のWebアプリだけを公開する
サービスを公開する必要がある場合は、リバースプロキシまたはアウトバウンドトンネルを使用します。Cloudflareアウトバウンドトンネルを使えば、公開ルーティング可能なオリジンIPやインバウンドファイアウォールポートを必要とせずに、プライベートなオリジンへ接続できます。
SMBをインターネットに転送しない
ファイル共有について、Microsoftはインターネットに公開されるSMBポート445をブロックすることを推奨しています。SMBはVPN経由で利用するか、外部ユーザー向けのHTTPSファイル共有アプリを使用してください。
用途に応じてアクセス方法を選ぶ
| 必要なこと | 方法 |
|---|---|
| 自分でCasaOSを管理する | VPNまたはプライベートメッシュ |
| 1つのWebアプリを公開する | HTTPSリバースプロキシまたはトンネル |
| ファイルを一般公開する | 専用のファイル共有アプリ |
| リモートSMB | まずVPNを使用 |
安全なNASアクセスのモデルも同じ原則に従います。ZimaOSでは、Zima Clientのリモートアクセスによって、プライベートアクセスのワークフローを利用できます。
ZimaBoard 2はコンパクトなホストの1つですが、これらの公開ルールはあらゆるハードウェアに適用されます。
すでに到達可能なサービスを監査する
何かを変更する前に、CasaOSホスト上で待ち受けているサービスを確認してください。
sudo ss -tulpn
次に、これらのポートを、ルーターのポートフォワーディングルール、UPnPマッピング、リバースプロキシのルート、各種トンネル設定と比較します。0.0.0.0で待ち受けているサービスはローカルネットワークから到達可能ですが、ルーティングやファイアウォールのルールによって到達が許可された場合にのみ、インターネットから到達可能になります。
TLSを使っても管理パネルは公開サービスにならない
HTTPSは転送中の通信を保護します。しかし、アプリケーションのバグ、脆弱なパスワード、認証情報の詰め込み攻撃、認可の欠陥をなくすものではありません。リバースプロキシはTLSを終端し、認証を追加できますが、それでもCasaOSの管理機能をパブリックインターネットから隔離するのが最も安全なデフォルトです。
管理者の認証情報とゲストアクセスを分離する
友人がJellyfin、ファイルダウンロードページ、その他のサービスを利用する必要がある場合は、そのアプリケーション内でアカウントを付与してください。「誰かが1つのアプリを必要としている」からといって、サーバーダッシュボードへの経路を与えて解決してはいけません。管理プレーンとユーザー向けサービスでは、公開範囲と認可モデルを分けるべきです。
最小限の公開を設計原則にする
- すべてにリンクするダッシュボードではなく、公開アプリごとに1つのホスト名を公開する。
- SSHはVPNまたは信頼できる送信元アドレスに制限する。
- Dockerデーモンソケットや管理APIを転送しない。
- 使用していないルーターのUPnPマッピングを無効にする。
- インターネットに公開するアプリには、LAN専用のツールよりも迅速にパッチを適用する。
- 選択したアプリケーションが対応している場合はMFAを使用する。
緊急時のリモート復旧が必要な場合
少なくとも1つの独立した管理経路を確保してください。たとえば、公開リバースプロキシに障害が発生しても、VPNによってCasaOSやログにアクセスできるようにします。プロキシ自体をホストしているサーバーを管理する唯一の手段を、その公開プロキシにしないでください。
よくある質問
ポートフォワーディングは常に安全ではないのですか?
いいえ。ただし、特権管理インターフェースを転送することは、適切なデフォルトとはいえません。公開するサービスを最小限にし、アプリに応じた対策を追加してください。
リバースプロキシを使えばCasaOSを安全に公開できますか?
TLSやルーティングを追加することはできますが、CasaOSは依然として管理インターフェースです。ダッシュボードは非公開にしてください。
