Discordソリューション

CasaOSをインターネットに直接公開すべきですか?

Users noticed the public CasaOS demo behaving strangely and questioned whether the CasaOS interface itself should ever be exposed directly to the internet.

主な結論: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は依然として管理インターフェースです。ダッシュボードは非公開にしてください。