情報処理安全確保支援士 - SE娘の剣 -

左門至峰による情報処理安全確保支援士試験に合格するためのサイトです。 過去問を引用しながら、試験に出る基礎知識を体系的かつ詳細に整理します。

アクセス制御

1.アカウント管理

過去問(H22SM午後1問4)には、アカウント管理のセキュリティ要件がまとまっているので、抜粋します。

想定脅威 セキュリティ要件
不正利用した個人を特定できない アカウントの付与は特定の個人を対象とし、規定された承認者の承認を得ること
退職者のアカウントの不正利用 アカウントを利用する必要がなくなった場合は、速やかに削除すること
管理者による不正利用 承認者と行為者の職務を分離すること
なりすましによる不正利用 パスワードは、定期的に変更することとし、類推が困難な文字列を採用すること

ここのセキュリティ要件に記載されている内容を理解しましょう。
では、過去問(H20春初級シスアド午前)を解いてみましょう

過去問(H20春初級シスアド午前)
問44 社内システムにおける利用者IDの管理として、適切なものはどれか。
ア システム資源の節約のために個人別のIDよりも共用のIDを推奨する。
イ 退職者のIDは本人から削除申請があるまで残しておく。
ウ 登録されているIDや利用者の権限などを定期的に点検する。
エ 利用者が異動になった場合、従来のアクセス権限に加えて新しいアクセス権限を付与する。

すべての選択肢に関して、適切であるのかそうでないのか。その理由はなにかを考えるようにしましょう。
そして、ID管理についてまとめるようにしましょう。





アは、不正解です。共用のIDを利用すると、不正が行われた場合に、本人を特定することができません。
イは不正解です。退職者用のIDは、即時に削除すべきです。たとえば、リモートアクセスの場合、そのIDを利用して不正なログインがなされる可能性があります。
ウは正解です。アクセス権が必要以上に割り当てられるなどしていると、情報漏えいなどのリスクが発生するからです。
エは不正解です。異動になった場合、従来のアクセス権は削除します。

【正解】ウ

2.アクセス権を設定 - 最小権限(need-to-know)

■(1)最小権限(need-to-know)
アクセス権の中で、「最小権限(need-to-know)」の考え方は理解しておきましょう。
アクセス権の付与は、その人に必要な最小限のみを与えるという考え方です。必要以上に付与することで、不正や事故が起こる可能性があります。

過去問(H21秋FE午前)を見ましょう。

過去問(H21秋FE午前)
問43 利用者情報を管理するデータベース(利用者データベース)がある。利用者データベースを検索し、検索結果を表示するアプリケーションに与えるデータベースのアクセス権限として、セキュリティ管理上適切なものはどれか。ここで、権限の範囲は次のとおりとする。
〔権限の範囲〕
参照権限:利用者データベースのレコードの参照が可能
更新権限:利用者データベースへのレコードの登録、変更、削除が可能
管理者権限:利用者データベースのテーブルの参照、登録、変更、削除が可能

ア 管理者権限
イ 更新権限
ウ 参照権限
エ 参照権限と更新権限






「利用者データベースを検索し、検索結果を表示する」というところがポイントです。正解は参照権限(のみ)なので、ウが正解です。

■(2)アクセス権に関する過去問をいくつか

過去問①(H20春初級シスアド午前)
問51 ディレクトリに、読取り、更新、配下のファイル作成のアクセス権を設定できるOSがある。この3種類のアクセス権は、それぞれに1ビットを使って許可、不許可を設定する。この3ビットを8進数表現0~7の数字で設定するとき、次の試行結果から考えて、適切なものはどれか。
〔試行結果〕
(1) 0を設定したら、一切のアクセスができなくなってしまった。
(2) 3を設定したら、読取りと更新はできたが、作成ができなかった。
(3) 7を設定したら、すべてのアクセスができるようになった。

ア 2を設定すると、読み取りと作成ができる。
イ 4を設定すると、作成だけができる。
ウ 5を設定すると、更新だけができる。
エ 6を設定すると、読取りと更新ができる。






Linuxなどによるファイルのアクセス権 644などの設定をイメージすると分かりやすいでしょう。

この問題では、3ビットでアクセス権を表します。
以下がその一覧です。

10進数 2進数
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

問題文より、0=000で一切のアクセスができず、7=111で全てのアクセスができることから、「1が許可、0が不許可」であることが分かります。
3=011により、読取りと更新はできたが、作成ができないので、最初の1ビットは、「配下のファイル作成のアクセス権」になります。 4=100であれば、作成だけができるので、イが正解です。

同様の過去問は、平成27年春FE午前問44にもあります。以下に解説を含めて記載しています。
(旧リンク)http://sg.seeeko.com/archives/154287.html

過去問②(19初級シスアド秋午前)
問47 部門内データの共用と個人用データの集中管理を行いたい。使用するファイルサーバでは、ディレクトリごとに利用者のアクセス権を設定できる。次のような条件で読込みと書込みのアクセス権を設定した場合、許可されるアクセスはどれか。
〔条件〕
(1) 個人のディレクトリは、その個人だけが使用する。
(2) 部門共用のディレクトリを使ってデータを共用し、部門内のだれでも同じデータを読み書きできるようにする。
(3) 部門共通フォームのディレクトリを使って、フォームなどの標準書式を共用する。標準書式の更新はサーバ管理者だけが行う。

ア サーバ管理者は、すべてのディレクトリに対して読取りと書込みができる。
イ サーバ管理者は、部門共通フォーム以外のディレクトリに対して読取りだけができる。
ウ サーバ管理者を除くすべての利用者は、自分以外のディレクトリに対して読取りだけができる。
エ サーバ管理者を除くすべての利用者は、部門共通フォームのディレクトリに対して読取りだけができる。






正解は、エである。

3.アクセス制御の方式(MACとDACとRBAC)

OSのアクセス制御の方式で理解すべき用語は以下の3つだ。

(1)任意アクセス制御(DAC:Discretionary Access Control)
Discretionaryは”自由裁量”という意味で、任意アクセス制御といわれる。
普通のOSを想定してもらえば分かるように、ユーザが自分で権限を設定できる。
Windowsであれば、右クリックで設定できるし、Linuxであればchmodコマンドで設定可能だ。
情報セキュリティスペシャリスト試験を目指す女性SE



この方式では何か問題がありますか?
このあとの過去問(H18SV午後Ⅱ問1)を見てもらうと分かる。たとえば、役員しか知らないファイルは役員しかアクセスできないようにアクセス権を設定したとする。しかし、その役員は、一般社員のフォルダにアクセス権を持つだろうから、そのフォルダにコピーできたりしてしまうのだ。すると、一般社員が閲覧できる可能性がある。自由裁量でやっている以上、セキュリティには抜けがでるだろう。だから、以下の強制アクセス制御の考え方も必要になってくる。

(2)強制アクセス制御(MAC:Mandatory Access Control)
Mandatoryは”強制的”という意味で、MACとは、管理者が強制的にアクセス権を設定する方式。
SElinuxなどで採用されている。

(3)役割ベースアクセス制御(RBAC:Role-Based Access Control)
この方法は、DACとMACと並列にある考え方ではない。DACとMACはどちらも一長一短があり、両者の改良版というような位置づけである。
RBACは役割ごとに権限を与える方法。Windowsの権限のグループと考えればよい。
たとえば、AdministratorsグループやPower Usersグループでは、実行できる権限がそれぞれ決められている。そのグループにユーザを入れることで、権限管理がしやすい。

その他
最小特権とは、WindowsのAdministrator権限のように全ての権限を持つのではなく、権限を小さく分割するもの。管理権限を小さく分離すれば、その権限が乗っ取られた場合でも受ける被害が小さくなる。

●過去問
強制アクセス制御(MAC)とラベルについて、H18SV午後Ⅱ問1にて出題されている。

過去問(H18SV午後Ⅱ問1)
H氏:そうだろうか。一般のOSでは,ファイルに対してアクセス制御を行っているだけなので,OSのアクセス制御機能だけでは足りないと思うよ。
G君:具体的には,何か足りないのでしょうか。
H氏:一般のOSでは,基本的にはファイル識別とファイルアクセス者の利用者IDに基づいてアクセス制御を行う。アクセス制御のルールはアクセス制御リストなどに保持されるが,このリスト管理はファイル所有者が行う。
G君:ファイル所有者の裁量によってアクセス権が規定されるので,[ d ]アクセス制御と呼ばれているのですね。でも,何が問題なのですか。
H氏:例えば,あるファイルを別のファイルにコピーするとしよう。元のファイルに対する参照権限と,コピー先ファイルへの書込み権限があれば,ファイルのコピーは可能だ。つまり,ファイルの内容を別のファイルに移動することが可能となる。その結果,[ d ]アクセス制御の場合には,重要なファイルの内容が意図せず漏えいしてしまう可能性が出てくる。
G君:分かりました。では,どのような対応が必要なのでしょうか。
H氏:ISO/IEC 15408 に基づいた,OS用プロテクションプロファイルの一つであるLabeled Security Protection Profile によると,高度な機密保護のためには,情報フロー制御が必要であるとされている。
G君:なるほど。X社情報セキュリティ対策基準では,情報が取扱レベルの上位から下位の方向へ移動しないように情報フロー制御されているのですね。
H氏:そのとおりだ。X社情報セキュリティ対策基準では,情報資産の機密性を重視するため,取扱レベルが社外秘以上の情報資産においては[ g ]アクセス制御が必要となるね。






dには任意が入る。つまりDACだ。
gには強制が入る。つまりMACだ。

4.アクセス制御の設定ファイル

情報処理安全確保支援士試験の過去問(H27年秋SC午後1問3)にて、アクセス制御の具体的な内容があるので紹介します。実際に、Linuxなどで設定されたことがある人には、おなじみの内容でしょう。

アクセス制御の設定(H27年秋SC午後1問3)
(a)WebAPサーバ1とWebAPサーバ2に,図4のアクセス制御の設定を行うことで,送信元のIPアドレスが127.0.0.1である場合だけ,サーブレットコンテナの管理画面へのアクセスを許可する。

------- 図4 アクセス制御の設定 ここから -------
<Location /manager/>
Order deny, allow
Deny from all
Allow from 127.0.0.1
</Location>
------- 図4 アクセス制御の設定 ここまで -------

この設定はApacheの設定ファイル(httpd.conf)で定義されるアクセス制御方法です。以下に意味を説明します。

<Location /manager/> →対象となるパス。この場合は/manager/
Order deny, allow →許可,拒否の順番。今回の場合、すべてを拒否し、allowで定義されているものだけ許可する。
Deny from all →拒否対象の定義。今回の場合は全てを拒否する。
Allow from 127.0.0.1 →許可対象の定義。今回の場合は自分自身(127.0.0.1)のみ許可する。
</Location>

この設定により/manager/へのアクセスは「127.0.0.1」からのみアクセスを許可するというルールになります。
もう少し説明すると、「全てのIPアドレスからの接続は拒否する」というdenyルールの後に,「127.0.0.1からのみ許可する」というallowルールが定義されていからです。
また、「127.0.0.1」はループバックアドレスと呼ばれ,自分自身を示すアドレスです。
この結果、インターネットや他の端末からはアクセスできませんが,サーバ自身にログインしてからならアクセスが許可されることになります。