SSD Nodes Learn Hosting plans →
ガイド Matt Connor著者 Matt Connor ・更新日 2026-10-19

VPSホスティングは安全?セキュリティの仕組みとリスクを解説

KVM VPSはハイパーバイザーにより他ユーザーから分離されますが、実際の侵入は設定不備が原因です。公開されたポート、古いパッケージ、漏洩した認証キーなど、利用者が管理すべきセキュリティリスクを具体的に解説します。

VPS ホスティングは安全ですか? 簡潔な回答

はい。VPS ホスティングは、多くの人が利用する目的に対して安全であり、共有ホスティングよりも実用性が大きく向上しています。KVM VPS(仮想プライベートサーバー)は、独自のカーネル、メモリ、ディスク、ユーザーアカウントを持つ仮想マシンです。これを実行するハイパーバイザーにより、他の顧客がこの4つすべてにアクセスできないよう分離されます。同じ物理マシン上で隣のサーバーを借りている利用者が、あなたのファイルを読み取ったり、プロセスを一覧表示したり、サーバーにログインしたり、ネットワークトラフィックを監視したりすることはできません。コンテナベースのプランでは分離が弱くなります。これについては後述します。

正確には、2つの側面があります。ハードウェアとハイパーバイザーはプロバイダーが管理します。仮想マシン内部のすべては利用者が管理し、実際のインシデントのほとんどはそこから始まります。サーバーへの侵入は、開いたポート、脆弱な SSH パスワード、更新されていないパッケージ、または公開されたファイル内の Secret が原因で発生します。ハイパーバイザー経由で侵入されることは非常にまれです。

ハイパーバイザーが実際に分離するもの

ハイパーバイザーは、1 台の物理ホスト上で仮想マシンを実行するソフトウェアです。KVM VPS(KVM は kernel based virtual machine の略で、Linux ホストの標準です)では、サーバーは完全な仮想マシンとして動作します。独自のカーネルを起動します。ホストは物理メモリの固定領域を割り当て、プロセッサのメモリ管理ユニットはその領域外へのアクセスを拒否します。そのため、別のゲストで実行されているコードがこちらの RAM をアドレス指定することはできません。共有ファイルシステムも共有ユーザーテーブルもないため、隣接するサーバーのファイル権限がこちらのサーバーに影響することはありません。

共有ホスティングは仕組みが異なります。多数のサイトが、1 つのオペレーティングシステム上で、1 つの Web サーバーと 1 つの PHP インストールを共有し、通常のユーザーアカウントとして動作します。境界になるのはファイル権限だけです。そのため、権限設定の誤りや、過剰な読み取り権限を持つユーザーとして動作する脆弱なプラグインによって、別のアカウントのファイルにアクセスされる可能性があります。この隔たりを 共有ホスティングから VPS へ移行すること によって解消できます。

購入する内容を確認してください。VPS として販売されているすべてのプランが仮想マシンとは限りません。コンテナベースのプラン(OpenVZ、LXC、Virtuozzo)はホストのカーネルを共有し、ハードウェア仮想化の代わりに namespace と cgroup で顧客を分離します。これは境界が弱い構成です。ホストのカーネルにバグがあれば、それはサーバー上のカーネルのバグにもなるためです。また、これらのプランではカーネルモジュールをロードできないため、一部のソフトウェアが利用できません。安全性を優先するなら KVM が標準的な選択です。支払う前に、どの方式かを確認してください。

近隣ユーザーの影響

物理ホストを共有すると速度が低下します。共有によるコストは速度だけです。1 台のマシン上のゲストは、物理 CPU とディスクを共有します。CPU が他のユーザーの処理でビジー状態になると、仮想 CPU は待機します。Linux はこの待機時間を steal time として報告します。これは top と vmstat の %st フィールドで確認できます。steal time が数時間にわたって数パーセントを超える場合、ホストのリソースが過剰に割り当てられています。これは、誰かがデータを読み取っているという意味ではありません。別のプランまたは別のプロバイダーに変更するのが対策です。判断する前に、実際に割り当てられた CPU とディスクを測定することもできます。

顧客間の影響として知っておくべきことが 1 つあります。ただし、これはセキュリティホールではありません。VPS からメールを送信すると、IP アドレスは他の顧客も使用するアドレス範囲に含まれます。近隣の顧客がスパムを送信すると、そのアドレス範囲の一部がブロックリストに登録されることがあります。その結果、自分が原因でない理由により、メールが迷惑メールフォルダーに振り分けられます。不正利用を厳しく管理しているプロバイダーは、よりクリーンなアドレス範囲を維持しています。メールが重要な場合は、この点を確認してください。

悪意のある同居ユーザーにできないことと、例外的にできること

同じホスト上の別の顧客が、あなたのファイルへ到達する経路はありません。相手の仮想マシン内には、あなたのプロセスを見たり、ディスクをマウントしたり、サーバー上でシェルを開いたりするためのものが存在しないためです。1 つだけ例外があります。プロバイダーのプライベートネットワークは、見知らぬ相手と共有するネットワークとして扱ってください。見えないものと決めつけず、そのネットワークを通過するデータを暗号化します。

ハイパーバイザーエスケープは実際に発生します。仮想化層のバグによって、あるゲスト内のコードがホストへ到達し、ホストを経由して同じホスト上のすべてのゲストへ到達できる場合があります。このようなバグは発見され、CVE(common vulnerabilities and exposures)識別子を付けて公開され、修正パッチが提供されます。ホスティングプロバイダーは事業全体をこの層に依存しているため、迅速にパッチを適用します。この攻撃を実行するには、特定のハイパーバイザーのバージョンで動作するエクスプロイトが必要です。小規模なホスティングアカウントに使うには、コストの高い手段です。

ゲスト間のサイドチャネルも実際に存在します。Spectre と Meltdown のファミリーが該当し、共有プロセッサキャッシュを悪用して境界を越えた少量のデータを推測します。マイクロコードとカーネルを更新すると影響を軽減できます。公開された研究における漏えい速度もごく小さいものです。公開事例は、大規模な攻撃ではなく、研究上の実証です。リスクがゼロというわけではありません。ただし、あなたに被害を与える可能性がある問題の中で、優先順位の上位に来るものとは到底いえません。

プロバイダーの責任範囲と、あなたの責任範囲

プロバイダーは、設備、ホストハードウェア、ハイパーバイザーとホストカーネル、物理ネットワーク、そしてサーバーの起動、停止、再構築、スナップショット作成を行えるコントロールパネルを管理します。これらに障害が発生した場合は、プロバイダーが修正する責任を負います。

オペレーティングシステム以上の層は、すべてあなたの責任です。インストールするパッケージ、開放したままにするポート、ログインに使用できるアカウントと暗号鍵、適用する更新、バックアップ、自分のアプリケーションコードが含まれます。ほとんどの VPS プランはアンマネージドであり、プロバイダーが代わりにサーバーへパッチを適用したり、サポートチケットで対応したりすることはありません。購入前にマネージドとアンマネージドの違いを確認してください。責任範囲のどれだけが自分に割り当てられるかが決まるためです。

自分の責任範囲の中でも、忘れやすい部分があります。ホスティングのコントロールパネル自体です。そのログイン情報を持つ人は、サーバー内部のパスワードを知らなくても、サーバーを再構築したり、ディスクをレスキューシステムへ接続したりできます。ホスティングアカウントでは二要素認証 (2FA) を有効にし、そのパスワードを他の場所で再利用しないでください。

ホスティングプロバイダーはデータを確認できますか?

はい。原則として確認できます。これは、VPS が提供できる保護の正直な限界です。ディスクイメージはプロバイダーのストレージ上にあります。プロバイダーのコンソールから、仮想マシンの画面レベルの操作が可能です。レスキューモードでは、ディスクを接続した別のシステムを起動できます。VPS は他の顧客からユーザーを保護しますが、プロバイダーはその保護の対象外です。

ホスト側に対しても読み取れない状態にする必要があるデータを扱う場合は、書き込む前にアプリケーション内で暗号化してください。ゲスト内でのフルディスク暗号化は、保存中のコピー済みイメージに対する保護には有効です。ただし、サーバーの稼働中は鍵をメモリ内に置く必要があるため、プロバイダーを信頼対象から外すことはできません。同じ信頼関係は、1 台で借りる 専用サーバーにも適用されます。ただし、共有される層が 1 つ少なくなります。

VPS に実際に侵入される原因

すべてのインターフェースで待ち受けるサービス。 データベース、キャッシュ、メッセージキュー、管理パネルは、デフォルトで 0.0.0.0 に bind することがよくあります。これは、パブリックなインターフェースを含むすべてのネットワークインターフェースを意味します。IPv4 のインターネット全体に対するスキャンは常時、自動的に行われています。そのため、新しい IPv4 アドレスはオンラインになってから数分以内に、最初の未承諾プローブを受けます。IPv6 のアドレス空間は広すぎるため、アドレスを 1 つずつ走査することは困難です。ただし、IPv6 アドレスも DNS レコードなどの情報漏えいから発見されます。隠れているとは考えないでください。パスワードのない Redis、認証されていない Elasticsearch ノード、2375 番ポートで公開された Docker API、デフォルトのログイン情報を使い続けている管理パネルは、いずれもこの方法で発見されます。スキャナーは、あなたが誰かを知る必要すらありません。ローカルマシンだけが利用するサービスは 127.0.0.1 に bind し、それ以外からの通信はファイアウォールでブロックしてください。

Docker がファイアウォールを迂回する。 コンテナのポートを公開すると、network address translation (NAT) のルールが作成されます。このルールは ufw (uncomplicated firewall) のルールより先に評価されます。そのため、ufw status ではそのポートを拒否していることになっていても、コンテナがインターネットから到達可能になる場合があります。ほかの設定をすべて正しく行った人でも、この問題に遭遇します。コンテナのポートを公開する前に、Docker のポートが ufw を無視する理由を確認してください。

パスワードを有効にした SSH。 パブリックな IPv4 アドレスを持つサーバーで SSH のログを確認すると、/var/log/auth.log(Ubuntu)、/var/log/secure(Rocky Linux とその他の RHEL 系システム)、またはログファイルを保持しない環境の journalctl -u ssh と journalctl -u sshd に、Failed password for root from 203.0.113.10 port 54312 ssh2 のような行が昼夜を問わず何千件も記録されています。ボットは、よく使われるユーザー名とパスワードを順番に試します。パスワードログインが有効で、root アカウントもログインを受け付ける状態なら、攻撃者に必要な条件はそろいます。鍵認証だけを許可し、root ログインを無効にすれば、この通信は無視できるノイズになります。

1 つの秘密鍵をどこでも使う。 すべてのノートパソコンとサーバーに同じ鍵をコピーすると、1 台の盗難されたノートパソコンですべてにアクセスできてしまいます。SSH 鍵には有効期限もありません。そのため、2 年前に委託先へ渡した鍵が現在も使えます。ユーザーごと、マシンごとに 1 つの鍵を用意しても費用はかからず、1 つの盗難鍵で到達できる範囲を制限できます。

更新されていないパッケージ。 Web サーバーやアプリケーションフレームワークに対して CVE が公開されると、それは攻撃手順が公開されたことを意味します。スキャナーは数日以内に、その脆弱性の有無を試し始めます。セキュリティ更新は利用できる最も安価な防御策です。自動実行もできるため、Ubuntu の自動セキュリティ更新を確認してください。

漏えいした Secret。 データベースのパスワードや API key は .env ファイルに保存されます。これらのファイルが公開リポジトリに commit されたり、誤ったディレクトリを指す Web サーバーから配信されたりします。AI コーディングエージェントのコンテキストに貼り付けた情報もログに残る可能性があります。これについては、エージェントから Secret を遠ざける方法で扱います。

すべてを root として実行する。 アプリケーションを root として実行すると、アプリケーションの 1 つのバグによってマシン全体が制御されます。サーバー内部に、影響の拡大を止める境界が残っていないためです。

担当する作業

以下はすべてハイパーバイザーの作業ではありません。すべてあなたの管理範囲にあり、VPS の安全性を左右する作業です。

サーバーが起動する時点で、プロバイダー側の作業はすでに完了しています。初日はあなたの作業に約 1 時間かかり、その後は月に数分で済みます。まだ選択肢を比較している場合は、VPS とは実際に何かで、これらすべての基礎となる仕組みを説明しています。

FAQ

同じ物理サーバー上にいる別の顧客が、自分のファイルを読み取ることはできますか?

いいえ、KVM VPS ではできません。サーバーは独自の kernel と仮想ディスクを持つ仮想マシンです。さらに、ホストが割り当てた物理メモリ領域があり、プロセッサはその領域外へのアクセスを阻止します。ゲスト間で共有する filesystem はないため、隣接するサーバー内のファイル権限が、あなたのサーバー内で意味を持つことはありません。OpenVZ や LXC などのコンテナベースのプランはホストの kernel を共有し、分離境界が弱くなります。購入する種類を確認してください。

VPS は共有ホスティングより安全ですか?

分離という点では安全です。共有ホスティングでは、多数のサイトが 1 つの operating system 内で動作し、境界はファイル権限だけです。そのため、別のアカウントでのミスにより、ファイルが公開されることがあります。VPS では、境界が仮想マシンになります。ただし、共有ホスティングではホストがパッチを適用しますが、アンマネージド VPS では自分で適用する必要があります。VPS の安全性を保てるのは、実際に更新を適用し、ポートを閉じた場合だけです。

ホスティングプロバイダーは自分のデータを読み取れますか?

原則として、読み取れます。VPS 製品を選んでも、この点は変わりません。ディスクイメージはプロバイダーのハードウェアに保存されます。コンソールからは稼働中のマシンに画面レベルでアクセスできます。また、rescue mode では、ディスクを接続した別のシステムから起動できます。ホストが読み取れない状態にする必要があるデータは、書き込む前にアプリケーション内で暗号化してください。ゲスト内のディスク暗号化でも、サーバーの稼働中は鍵がメモリ内に残ります。そのため、プロバイダーを信頼する必要がなくなるわけではありません。

VPS が侵害される最も一般的な方法は何ですか?

圧倒的に多いのは、公開されたサービス、または脆弱な SSH ログインです。自動スキャナーは、公開されたすべての IPv4 アドレスを継続的に調査します。そのため、パスワードなしで 0.0.0.0 にバインドされたデータベースや、デフォルトの認証情報を変更していない管理パネルは、数か月ではなく数分で見つかります。公開 IPv4 アドレスを持つサーバーの SSH ログ(Ubuntu では /var/log/auth.log、Rocky Linux では /var/log/secure)には、その一端が記録されます。世界中のアドレスから、Failed password for root 行が繰り返し現れます。ハイパーバイザーエスケープも存在しますが、これは価値の高い標的を狙う研究レベルの攻撃です。通常の侵害の原因になるものではありません。

この記事は役に立ちましたか?