問題 57★★☆

夜間バッチがデータベースへの接続に使うIDに、データベース管理者と同じ権限が与えられていた。 バッチの処理は、売上表の読み取りと集計表への書き込みだけである。 このIDに対する対策として、最も適切なものはどれか。

正解:ウ

各選択肢の解説

  1. アIDのパスワードを長く複雑なものに変え、推測されにくくする。

    誤り。推測による不正ログインは防ぎやすくなりますが、バッチのサーバが乗っ取られて 設定ファイルからパスワードを読まれれば同じことです。そのとき何でもできる権限が 残っている点は変わらず、被害の大きさは減りません。

  2. イこのIDの操作ログを取得し、毎月内容を確認する。

    誤り。ログの確認は、不正な操作があった後にそれを見つけるための対策です。 IDでできることの範囲は変わらないので、全表の削除や持ち出しも実行できてしまい、 見つかるのは被害の後になります。

  3. ウ売上表の読み取りと集計表への書き込みだけができる権限に絞る。

    正解。処理に必要な操作だけを許す最小特権にすれば、IDが悪用されても できるのはその2つだけになり、ほかの表の閲覧や削除はできません。

  4. エデータベースを暗号化し、保存されたデータを読めないようにする。

    誤り。データベース暗号化は、記憶媒体やファイルを持ち出されたときに読ませない対策です。 正規のIDでデータベースに接続すれば、データは復号されて見えるので、 このIDの権限が大きすぎる問題は解決しません。

理解を深めるために

合鍵は、開ける必要のある部屋の分だけ

清掃業者に2部屋だけ掃除を頼むのに、ビルの全部屋を開けられるマスターキーを渡す必要はありません。 鍵が盗まれたときに入られるのは、渡した鍵で開く部屋だけです。 最初から2部屋の鍵だけ渡しておけば、盗まれても被害はその2部屋で止まります。

なぜ権限を絞るのか

最小特権は、利用者やプログラムに、業務や処理に必要な最小限の権限だけを与える考え方です。 人のIDだけでなく、バッチやアプリケーションが使うIDにも当てはまります。

プログラムが使うIDは、次の理由で狙われやすく、権限が大きいと被害が広がります。

  • パスワードが設定ファイルなどに書かれていて、サーバを乗っ取られると読まれやすい
  • 人が毎回ログインしないので、不審な使われ方に気づきにくい
  • 「動かなくなると困る」という理由で、強い権限がそのまま放置されがち

このIDの処理は「売上表の読み取り」と「集計表への書き込み」だけなので、 その2つの操作だけを許可します。ほかの表の参照、データの削除、 ほかのIDの作成といった管理者の操作はできなくなります。

権限を絞ったうえで操作ログも取れば、想定外の操作を見つける手がかりになります。 ただしログは被害の範囲を狭めるものではなく、権限の見直しの代わりにはなりません。

混同しやすいものとの違い

対策 何を防ぐか
最小特権 IDが悪用されたときに、できることの範囲を狭める
パスワードの強化 推測による不正ログインを防ぐ(読み取られた場合は防げない)
操作ログの確認 不正な操作を後から見つける
データベース暗号化 媒体やファイルを持ち出されたときに中身を読ませない

試験では、「ログインされないようにする」「後で見つける」「できることを減らす」の どれが問われているかで見分けます。

前の問題へ次の問題へ