JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 の管理: セキュリティーサービス     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I セキュリティーの概要

1.  セキュリティーサービス (概要)

パート II システム、ファイル、およびデバイスのセキュリティー

2.  マシンセキュリティーの管理 (概要)

3.  システムアクセスの制御 (タスク)

4.  ウイルススキャンサービス (タスク)

5.  デバイスアクセスの制御 (タスク)

6.  BART を使用したファイル整合性の検証 (タスク)

7.  ファイルアクセスの制御 (タスク)

UNIX アクセス権によるファイル保護

ファイルの監視と保護を行うコマンド

ファイルとディレクトリの所有権

UNIX ファイルアクセス権

特殊なファイルアクセス権 (setuidsetgid、スティッキービット)

setuid アクセス権

setgid アクセス

スティッキービット

umask のデフォルト値

ファイルアクセス権を設定するモード

アクセス制御リストによる UFS ファイルの保護

実行可能ファイルを原因とするセキュリティーへの悪影響を防止する

ファイルの保護 (タスク)

UNIX アクセス権によるファイルの保護 (タスクマップ)

ファイル情報を表示する方法

ファイルの所有者を変更する方法

ファイルのグループ所有権を変更する方法

ファイルアクセス権を記号モードで変更する方法

ファイルアクセス権を絶対モードで変更する方法

特殊なファイルアクセス権を絶対モードで変更する方法

セキュリティーリスクのあるプログラムからの保護 (タスクマップ)

特殊なファイルアクセス権が設定されたファイルを見つける方法

プログラムが実行可能スタックを使用できないようにする方法

パート III 役割、権利プロファイル、特権

8.  役割と特権の使用 (概要)

9.  役割に基づくアクセス制御の使用 (タスク)

10.  Oracle Solaris のセキュリティー属性 (参照)

パート IV 暗号化サービス

11.  暗号化フレームワーク (概要)

12.  暗号化フレームワーク (タスク)

13.  鍵管理フレームワーク

パート V 認証サービスと安全な通信

14.  プラグイン可能認証モジュールの使用

15.  Secure Shell の使用

16.  Secure Shell (参照)

17.  簡易認証セキュリティー層の使用

18.  ネットワークサービスの認証 (タスク)

パート VI Kerberos サービス

19.  Kerberos サービスについて

20.  Kerberos サービスの計画

21.  Kerberos サービスの構成 (タスク)

22.  Kerberos エラーメッセージとトラブルシューティング

23.  Kerberos 主体とポリシーの管理 (タスク)

24.  Kerberos アプリケーションの使用 (タスク)

25.  Kerberos サービス (参照)

パート VII Oracle Solaris での監査

26.  監査 (概要)

27.  監査の計画

28.  監査の管理 (タスク)

29.  監査 (参照)

用語集

索引

UNIX アクセス権によるファイル保護

ファイルは、UNIX ファイルアクセス権と ACL を通して保護することができます。スティッキービットが設定されたファイルと、実行可能なファイルは、特殊なセキュリティー対策が必要です。

ファイルの監視と保護を行うコマンド

この表は、ファイルとディレクトリのモニタリングと保護を行うコマンドについて説明したものです。

表 7-1 ファイルとディレクトリの保護を行うコマンド

コマンド
説明
マニュアルページ
ls
ディレクトリ内のファイルとファイル情報を表示します。
chown
ファイルの所有権を変更します。
chgrp
ファイルのグループ所有権を変更します。
chmod
ファイルのアクセス権を変更します。記号モード (文字と記号) または絶対モード (8 進数) を使用して、ファイルのアクセス権を変更できます。

ファイルとディレクトリの所有権

従来の UNIX ファイルアクセス権では、次に示す 3 つのユーザークラスに所有権を割り当てることができます。

ファイルアクセス権の割り当てや変更が行えるのは、通常、そのファイルの所有者だけです。さらに、root アカウントでもファイルの所有権を変更できます。システムポリシーをオーバーライドする方法については、例 7-2 を参照してください。

ファイルは、7 つの形式のいずれかになります。各形式は、次のように記号で示されます。

- (マイナス記号)

テキストまたはプログラム

b

ブロック型特殊ファイル

c

文字型特殊ファイル

d

ディレクトリ

l

シンボリックリンク

s

ソケット

D

ドア

P

名前付きパイプ (FIFO)

UNIX ファイルアクセス権

次の表に、各ユーザークラスに与えることができる、ファイルまたはディレクトリのアクセス権を示します。

表 7-2 ファイルとディレクトリのアクセス権

記号
アクセス権
オブジェクト
説明
r
読み取り
ファイル
ファイルの内容を開いて読み込むことができます。
ディレクトリ
ディレクトリ内のファイルを一覧表示できます。
w
書き込み
ファイル
ファイルの内容の変更またはファイルの削除を行えます。
ディレクトリ
ディレクトリに対してファイルまたはリンクを追加できます。また、ディレクトリ内のファイルまたはリンクの削除も行えます。
x
実行
ファイル
ファイルがプログラムまたはシェルスクリプトの場合、そのファイルを実行できます。また、exec(2) システム呼び出しの 1 つを使用してそのプログラムを実行することもできます。
ディレクトリ
ディレクトリ内のファイルを開いたり、実行したりできます。また、ディレクトリを作成し、その下にサブディレクトリを作成できます。
-
拒否
ファイルとディレクトリ
ファイルの読み込み、書き込み、または実行を行うことができません。

これらのファイルアクセス権は、通常のファイルと特殊ファイル (デバイス、ソケット、名前付きパイプ (FIFO) など) の両方に適用されます。

シンボリックリンクには、そのリンクが指すファイルのアクセス権が適用されます。

ディレクトリとそのサブディレクトリ内のファイルは、そのディレクトリに対するファイルアクセス権を制限することで保護できます。ただし、root 役割は、システム上のすべてのファイルとディレクトリにアクセスできることに注意してください。

特殊なファイルアクセス権 (setuidsetgid、スティッキービット)

実行可能ファイルと公開ディレクトリには、 3 種類の特殊なアクセス権 (setuidsetgid、およびスティッキービット) を設定できます。これらのアクセス権を設定すると、その実行可能ファイルを実行するユーザーは、そのファイルの所有者 (またはグループ) の ID を持つことができます。

特殊なアクセス権はセキュリティー上の問題を引き起こすため、設定するときは十分な注意が必要です。たとえば、ユーザーは、ユーザー ID (UID) を 0 (root の UID) に設定するプログラムを実行することによって root 権限を取得できます。また、すべてのユーザーは、所有するファイルに対して特殊なアクセス権を設定できるため、これもセキュリティー上の問題の原因となります。

root 権限を取得するための setuid アクセス権や setgid アクセス権の承認されていない使用がないかどうか、システムをモニターするようにしてください。疑わしいアクセス権によって、管理プログラムの所有権が rootbin にではなく、ユーザーに付与されます。この特殊なアクセス権を使用しているすべてのファイルを検索して一覧表示するには、「特殊なファイルアクセス権が設定されたファイルを見つける方法」を参照してください。

setuid アクセス権

setuid アクセス権を実行可能ファイルに設定すると、このファイルを実行するプロセスにはその実行可能ファイルを実行しているユーザーではなく、ファイルの所有者に基づいてアクセス権が与えられます。この特殊なアクセス権を使用すると、通常は所有者しか利用できないファイルやディレクトリにアクセスできます。

たとえば、passwd コマンドの setuid アクセス権によってユーザーはパスワードを変更できます。次に、setuid アクセス権のある passwd コマンドの例を示します。

-r-sr-sr-x   3 root     sys       28144 Jun 17 12:02 /usr/bin/passwd

この特殊なアクセス権は、プロセスの実行が終了したあとでも、高度な知識のあるユーザーは setuid プロセスによって与えられたアクセス権を維持する手段を見つけることができるため、セキュリティー上の危険が存在します。


注 - プログラムから、予約済みの UID (0 から 100) で setuid アクセス権を使用しても、実効 UID が正しく設定されないことがあります。シェルスクリプトを使用するか、setuid アクセス権では予約済み UID を使用しないようにしてください。


setgid アクセス

setgidアクセス権は setuid アクセス権に似ています。プロセスの実効グループ ID (GID) はファイルを所有するグループに変更され、ユーザーにはそのグループに与えられたアクセス権に基づくアクセス権が与えられます。/usr/bin/mail コマンドには、次のように setgid アクセス権が設定されています。

-r-x--s--x   1 root   mail     67504 Jun 17 12:01 /usr/bin/mail

setgidアクセス権がディレクトリに適用されると、このディレクトリ内で作成されたファイルはディレクトリが所属するグループに含まれることになります。生成するプロセスが所属するグループに含まれるわけではありません。ディレクトリに対する書き込み権および実行権を持つユーザーは、そのディレクトリにファイルを作成できます。ただし、作成したファイルはユーザーのグループではなくディレクトリを所有するグループに割り当てられます。

root 権限を取得するための setgid アクセス権の承認されていない使用がないかどうか、システムをモニターするようにしてください。疑わしいアクセス権によって、このようなプログラムへのグループアクセス権が、rootbin ではなく、意外なグループに与えられることがあります。このようなアクセス権を使用しているファイルをすべて検索し、一覧表示する方法は、「特殊なファイルアクセス権が設定されたファイルを見つける方法」を参照してください。

スティッキービット

「スティッキービット」は、ディレクトリ内のファイルを保護するアクセス権ビットです。ディレクトリにスティッキービットが設定されている場合、そのファイルを削除できるのはその所有者、ディレクトリの所有者、または特権ユーザーだけです。特権ユーザーの例として root ユーザーが挙げられます。スティッキービットにより、ユーザーは /tmp などの公開ディレクトリからほかのユーザーのファイルを削除できなくなります。

drwxrwxrwt 7  root  sys   400 Sep  3 13:37 tmp

TMPFS ファイルシステム上で公開ディレクトリを設定するときには、スティッキービットを手動で設定してください。手順については、例 7-5 を参照してください。

umask のデフォルト値

ファイルやディレクトリを作成するときには、デフォルトのアクセス権が設定されます。このシステムデフォルトは変更が可能です。テキストファイルのアクセス権は 666 であり、すべてのユーザーに読み取り権と書き込み権を与えます。ディレクトリと実行可能ファイルのアクセス権は 777 で、すべてのユーザーに読み取り権、書き込み権、および実行権を与えます。一般に、ユーザーは .bashrc.kshrc.user などの自分のシェル初期化ファイルでシステムデフォルトをオーバーライドします。管理者は、/etc/profile ファイルでデフォルトを設定することもできます。

umask コマンドによって割り当てられる値は、デフォルトから差し引かれます。この処理には、chmod コマンドでアクセス権を与えるのと同じ方法でアクセス権を拒否する効果があります。たとえば、chmod 022 コマンドはグループとその他のユーザーに書き込み権を与えますが、umask 022 コマンドはグループとその他のユーザーの書き込み権を拒否します。

次の表に、umask の標準的な値とその値が実行可能ファイルに与える影響を示します。

表 7-3 各セキュリティーレベルの umask 設定

セキュリティーレベル
umask 設定
許可されないアクセス権
緩やか (744)
022
グループとその他のユーザーによる w
中程度 (741)
026
グループによる w、その他のユーザーによる rw
厳密 (740)
027
グループによる w、その他のユーザーによる rwx
厳しい (700)
077
グループとその他のユーザーによる rwx

umask 値の設定の詳細は、umask(1) のマニュアルページを参照してください。

ファイルアクセス権を設定するモード

chmod コマンドを使用すると、ファイルのアクセス権を変更できます。ファイルやディレクトリのアクセス権を変更するには、root またはファイルまたはディレクトリの所有者になる必要があります。

chmod コマンドを使用して、次のどちらかのモードでアクセス権を設定できます。

次の表に、絶対モードでファイルのアクセス権を設定するための 8 進数値を示します。これらの数字を 3 つ組み合わせて、所有者、グループ、その他のユーザーのファイルアクセス権をこの順に設定します。たとえば、値 644 は、所有者に対して読み取り権と書き込み権を設定し、グループとその他のユーザーに対しては読み取り専用権を設定します。

表 7-4 絶対モードによるファイルのアクセス権の設定

8 進数値
ファイルのアクセス権
設定されるアクセス権
0
---
なし
1
--x
実行権のみ
2
-w-
書き込み権のみ
3
-wx
書き込み権と実行権
4
r--
読み取り権のみ
5
r-x
読み取り権と実行権
6
rw-
読み取り権と書き込み権
7
rwx
読み取り権、書き込み権、実行権

次の表に、記号モードでファイルアクセス権を設定するための記号の一覧を示します。記号では、アクセス権を設定または変更できる対象ユーザー、実行される操作、あるいは割り当てるまたは変更するアクセス権を指定できます。

表 7-5 記号モードによるファイルのアクセス権の設定

記号
機能
説明
u
<対象ユーザー>
ユーザー (所有者)
g
<対象ユーザー>
グループ
o
<対象ユーザー>
その他のユーザー
a
<対象ユーザー>
すべて
=
オペレータ
割り当て
+
オペレータ
追加
-
オペレータ
削除
r
アクセス権 (アクセス権ビット)
読み取り
w
アクセス権 (アクセス権ビット)
書き込み
x
アクセス権 (アクセス権ビット)
実行
l
アクセス権 (アクセス権ビット)
強制ロック、setgid ビットはオン、グループ実行ビットはオフ
s
アクセス権 (アクセス権ビット)
setuid または setgid ビットはオン
t
アクセス権 (アクセス権ビット)
スティッキービットはオン、その他の実行ビットはオン

機能列に <対象ユーザー> <操作> <アクセス権> の順で、ファイルまたはディレクトリのアクセス権を変更する記号を指定します。

who

アクセス権を変更する対象となるユーザーを指定します。

operator

実行する操作を指定します。

permissions

変更するアクセス権を指定します。

絶対モードまたは記号モードで、ファイルに特殊なアクセス権を設定できます。しかし、ディレクトリに setuid アクセス権を設定する場合と、ディレクトリからこのアクセス権を削除する場合は、記号モードを使用する必要があります。絶対モードでは、3 つ 1 組のアクセス権の左端に新しい 8 進数値を追加して、特殊なアクセス権を設定します。次の表に、ファイルに特殊なアクセス権を設定する 8 進数値を示します。

表 7-6 絶対モードによる特殊なファイルアクセス権の設定

8 進数値
特殊なファイルアクセス権
1
スティッキービット
2
setgid
4
setuid