ITmedia NEWS > セキュリティ >
セキュリティ・ホットトピックス

権限管理をミスると本当にまずいぞ! マイクラで学ぶ「権限昇格の脆弱性」と「認可」マイクラで学ぶサーバ管理

» 2023年09月15日 12時00分 公開
[谷井将人ITmedia]

 子供の“ゲーム欲”は計り知れないものがある。友達とのコミュニケーションにもなるため、ある程度は許容したいが、かといってそれで勉強がおろそかになるのも考え物……。そういうときに便利なのが「遊びたいという圧倒的モチベーションを勉強の理由にする」という作戦だ。

photo 松本佑樹(GMOインターネットグループ株式会社/ドメイン・ホスティング事業本部ConoHa事業部)

 ネットを見ているとたまに、「子供がゲーム『Minecraft』で友達とマルチプレイしたいというから、サーバ管理を学ばせてみた」というエンジニアの子育てエピソードを見かける。Minecraftでマルチプレイするには専用サーバを立てる必要があるのだが、これを子供自身に運用させてみてITやビジネスのキホンを体験してもらおうというアイデアだ。

 実際、Minecraftでサーバ管理を学ぶのは可能なのか。本連載ではレンタルサーバサービス「ConoHa for GAME」を使って実際にMinecraftサーバを立てながら、GMOインターネットグループの松本佑樹さん(ConoHa事業部)にサーバ管理の仕事とコツについて教えてもらう。

マイクラのコマンドは万能だから大変

 前回までにMinecraftサーバを立ち上げ、ホワイトリスト設定を済ませた。これで、招待したい人だけを自分のワールドに呼んで一緒に遊べるようになった。後は権限管理だけすればプレイ環境は一通り完成だ。

 権限管理とは「誰が何をできる状態かを把握し、管理すること」だ。Minecraftではワールド内の木を切ったり、素材を組み合わせて建物を建てたりとさまざまな操作が可能だが、参加者全員が何でもできる状態では無法地帯になってしまう。

 その理由が「コマンド」だ。MinecraftにはExcelでいう関数のようなものとしてコマンドがあり、さまざまな操作を実現できる。例えば、一瞬で目の前の山を平地にしたり、ワールド内の時間を止めたり、レアアイテムを大量に入手したり、プレイヤーをBANしたり……。

photo 時間を操作してゲームモードを変えてダイアモンドの塊を2304個取得する様子

 コマンドがあることでMinecraftでできることの幅が大きく広がる一方で、ゲームバランスを崩壊させることもできてしまう。そこで重要なのが権限管理だ。

 ConoHa for GAMEのサーバ管理画面には「権限者」というタブがあり、ここで権限者の追加と削除ができる。登録方法はホワイトリストの設定と同じで、対象のユーザーのIDを指定して「実行」ボタンを押すだけ。権限者になったプレイヤーはワールド内でコマンドが使えるようになる。

photo

管理者権限ってそんなに大事? 「かなり大事です」

── ホワイトリストに登録した人同士で遊ぶので、問題は起きにくいと思いますが、全員を権限者にしてしまうとどういうことが起きるのでしょうか?

松本さん 権限者はワールドの設定を変えられるので、建物を作る目的でクリエイティブモード(物資を自由に使えるモード)にしていたのに、勝手にサバイバルモード(物資は自由に使えず、敵が襲ってくるモード)に変えられて倒されることがあり得ます。

 他にも、味方同士で攻撃できないように設定していたのに、その設定を変えられてケンカになるなど問題が起きるかもしれません。

── 逆に言うと「権限昇格の脆弱性」って本当に大変なんだという話でもありますよね。

松本さん そうですね。権限昇格の脆弱性は、本来与えられないはずの権限を取得できてしまうバグのことです。Minecraftでいうと、コマンドを実行できないはずのプレイヤーでも権限昇格の脆弱性を悪用するとコマンドを実行できるようになってしまいます。

 実際のサーバ管理でこの脆弱性を悪用されると、サーバ内の情報を自由に閲覧したり、データを消したり暗号化したり、稼働中のサービスを勝手に止められたりと……さまざまな可能性が考えられます。

── だからこそ、高い権限を与えるのはできる限り少数にした方がいいですね。これは「認可」(誰に何を許可するか)の話にもなりますけど。

松本さん そうですね。個人情報を取り扱う会社なら特にそうだと思います。現実のサーバ管理においても、一般の従業員にサーバを初期化する権限を与えるのは意味がないしリスキーですよね。権限の付与についてMinecraftで感覚的に理解できるのはいいことかなと思います。

「チート」と権限管理

 これで権限管理もできるようになった。「権限昇格の脆弱性」や「認可」といった用語は子供どころか大人でも情報セキュリティを意識していなければよく分からないものでもある。

 それをゲームで学べるならIT時代の素養としてはかなり有益ではないか。Minecraftのコマンド機能を有効化するには設定画面をいじる必要があるのだが、その設定項目名が「チートの許可」になっている。この言葉を使うとより分かりやすくなるかもしれない。

 「権限昇格されると、一般プレイヤーがチートを使えるようになるよ」「認可を適切に管理できないと、チーターが大量発生するかもよ」と聞けば「それは大変だ」と感覚的に分かるだろう。

 次回はMinecraftで「バージョン管理」を学んでいく。

Copyright © ITmedia, Inc. All Rights Reserved.