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 アクセス権によるファイルの保護 (タスクマップ)

次のタスクマップは、ファイルアクセス権の一覧表示、ファイルアクセス権の変更、特殊なファイルアクセス権によるファイルの保護などの作業操作について説明した箇所を示しています。

タスク
参照先
ファイル情報を表示します。
ローカルファイルの所有権を変更します。
ローカルファイルのアクセス権を変更します。

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

ls コマンドを使用して、ディレクトリ内のすべてのファイルに関する情報を表示します。

例 7-1 ファイル情報を表示する

次の例では、/sbin ディレクトリ内のファイルを部分的に表示しています。

% cd /sbin
% ls -la
total 4960
drwxr-xr-x   2 root     sys           64 Dec  8 11:57 ./
drwxr-xr-x  39 root     root          41 Dec  8 15:20 ../
-r-xr-xr-x   1 root     bin        21492 Dec  1 20:55 autopush*
-r-xr-xr-x   1 root     bin        33680 Oct  1 11:36 beadm*
-r-xr-xr-x   1 root     bin       184360 Dec  1 20:55 bootadm*
lrwxrwxrwx   1 root     root          21 Jun  7  2010 bpgetfile -> ...
-r-xr-xr-x   1 root     bin        86048 Dec  1 20:55 cryptoadm*
-r-xr-xr-x   1 root     bin        12828 Dec  1 20:55 devprop*
-r-xr-xr-x   1 root     bin       130132 Dec  1 20:55 dhcpagent*
-r-xr-xr-x   1 root     bin        13076 Dec  1 20:55 dhcpinfo*

   .
   .
   .

それぞれの行には、ファイルについての情報が次の順で表示されています。

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

始める前に

ファイルまたはディレクトリの所有者でない場合は、Object Access Management 権利プロファイルが割り当てられている必要があります。公開オブジェクト であるファイルを変更するには、root 役割になる必要があります。

詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. ローカルファイルのアクセス権を表示します。
    % ls -l example-file
    -rw-r--r--   1 janedoe   staff   112640 May 24 10:49 example-file
  2. ファイルの所有者を変更します。
    # chown stacey example-file
  3. ファイルの所有者が変更されていることを確認します。
    # ls -l example-file
    -rw-r--r--   1 stacey   staff   112640 May 26 08:50 example-file 

    NFS マウントしたファイルのアクセス権を変更するには、『Oracle Solaris 11.1 でのネットワークファイルシステムの管理』の第 3 章「ネットワークファイルシステムへのアクセス (リファレンス)」を参照してください。

例 7-2 自分のファイルの所有権を変更するためのユーザーの有効化

セキュリティー上の考慮事項 – rstchown 変数の設定をゼロに変更するにはそれ相応の理由が必要です。デフォルト設定では、容量の割り当て制限を回避するために、ユーザーは自分のファイルがほかのユーザーの所有になっているときはそれを一覧表示できません。

この例では、rstchown 変数の値は、/etc/system ファイル内でゼロに設定されます。この設定によりファイルの所有者は、chown コマンドを使用してファイルの所有権をほかのユーザーに変更できます。所有者は chgrp コマンドを使用し、ファイルのグループ所有権を所有者自身が属していないグループに設定することもできます。変更は、システムのリブート時に適用されます。

set rstchown = 0

詳細は、chown(1) および chgrp(1) のマニュアルページを参照してください。

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

始める前に

ファイルまたはディレクトリの所有者でない場合は、Object Access Management 権利プロファイルが割り当てられている必要があります。公開オブジェクト であるファイルを変更するには、root 役割になる必要があります。

詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. ファイルのグループ所有権を変更します。
    $ chgrp scifi example-file

    グループの設定については、『Oracle Solaris 11.1 のユーザーアカウントとユーザー環境の管理』の第 1 章「ユーザーアカウントとユーザー環境の管理 (概要)」を参照してください。

  2. ファイルのグループ所有権が変更されていることを確認します。
    $ ls -l example-file
     -rw-r--r--   1 stacey   scifi   112640 June 20 08:55  example-file

    また、例 7-2 も参照してください。

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

次の手順では、ユーザーはそのユーザーが所有するファイルのアクセス権を変更します。

  1. アクセス権を記号モードで変更します。
    % chmod who operator permissions filename
    who

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

    operator

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

    permissions

    変更するアクセス権を指定します。有効な記号の一覧は、表 7-5 を参照してください。

    filename

    ファイルまたはディレクトリを指定します。

  2. ファイルのアクセス権が変更されていることを確認します。
    % ls -l filename

    注 - ファイルまたはディレクトリの所有者でない場合は、Object Access Management 権利プロファイルが割り当てられている必要があります。公開オブジェクト であるファイルを変更するには、root 役割になる必要があります。


例 7-3 アクセス権を記号モードで変更する

次の例では、その他のユーザーから読み取り権を削除します。

% chmod o-r example-file1

次の例では、ユーザー、グループなどのローカルファイルに読み取り権と実行権を追加します。

$ chmod a+rx example-file2

次の例では、ローカルファイルにグループの読み取り権、書き込み権、および実行権を割り当てます。

$ chmod g=rwx example-file3

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

次の手順では、ユーザーはそのユーザーが所有するファイルのアクセス権を変更します。

  1. アクセス権を絶対モードで変更します。
    % chmod nnn filename
    nnn

    所有者、グループ、その他のユーザーのアクセス権をこの順序で表す 8 進数値を指定します。有効な 8 進数値の一覧は、表 7-4 を参照してください。

    filename

    ファイルまたはディレクトリを指定します。


    注 - chmod コマンドを使用して、既存の ACL エントリを持つオブジェクトのファイルまたはディレクトリアクセス権を変更すると、それらの ACL エントリも変更される可能性があります。正確な変更は、chmod のアクセス権操作の変更と、ファイルシステムの aclmode および aclinherit プロパティー値に依存します。

    詳細は、『Oracle Solaris 11.1 の管理: ZFS ファイルシステム』の第 7 章「ACL および属性を使用した Oracle Solaris ZFS ファイルの保護」を参照してください。


  2. ファイルのアクセス権が変更されていることを確認します。
    % ls -l filename

    注 - ファイルまたはディレクトリの所有者でない場合は、Object Access Management 権利プロファイルが割り当てられている必要があります。公開オブジェクト であるファイルを変更するには、root 役割になる必要があります。


例 7-4 アクセス権を絶対モードで変更する

次の例では、公開されているディレクトリのアクセス権が、744 (読み取り/書き込み/実行、読み取り専用、読み取り専用) から 755 (読み取り/書き込み/実行、読み取り/実行、読み取り/実行) に変更されます。

# ls -ld public_dir
drwxr--r--  1 jdoe   staff    6023 Aug  5 12:06 public_dir
# chmod 755 public_dir
# ls -ld public_dir
drwxr-xr-x  1 jdoe   staff    6023 Aug  5 12:06 public_dir

次の例では、実行可能シェルスクリプトのアクセス権が、読み取り/書き込みから、読み取り/書き込み/実行に変更されます。

% ls -l my_script
-rw------- 1 jdoe   staff    6023 Aug  5 12:06 my_script
% chmod 700 my_script
% ls -l my_script
-rwx------ 1 jdoe   staff    6023 Aug  5 12:06 my_script

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

始める前に

ファイルまたはディレクトリの所有者でない場合は、Object Access Management 権利プロファイルが割り当てられている必要があります。公開オブジェクト であるファイルを変更するには、root 役割になる必要があります。

詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. 特殊なアクセス権を絶対モードで変更します。
    % chmod nnnn filename
    nnnn

    ファイルまたはディレクトリのアクセス権を変更する 8 進数値を指定します。一番左端の 8 進数値で、ファイルに特殊なアクセス権を設定します。特殊なアクセス権に有効な 8 進数値の一覧は、表 7-6 を参照してください。

    filename

    ファイルまたはディレクトリを指定します。


    注 - chmod コマンドを使用して ACL エントリを持つファイルのグループアクセス権を変更する場合、グループアクセス権と ACL マスクの両方が新しいアクセス権に変更されます。新しい ACL マスクのアクセス権は、そのファイル上に ACL エントリを持つ追加ユーザーおよびグループのアクセス権を変更する場合があるので注意が必要です。getfacl コマンドを使用して、すべての ACL エントリに適切なアクセス権が設定されていることを確認してください。詳細は、getfacl(1) のマニュアルページを参照してください。


  2. ファイルのアクセス権が変更されていることを確認します。
    % ls -l filename

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

次の例は、dbprog ファイルに setuid のアクセス権を設定します。

# chmod 4555 dbprog
# ls -l dbprog
-r-sr-xr-x   1 db     staff        12095 May  6 09:29 dbprog

次の例では、dbprog2 ファイルに setgid のアクセス権を設定します。

# chmod 2551 dbprog2
# ls -l dbprog2
-r-xr-s--x   1 db     staff       24576 May  6 09:30 dbprog2

次の例では、public_dir ディレクトリにスティッキービットのアクセス権を設定します。

# chmod 1777 public_dir
# ls -ld public_dir
drwxrwxrwt   2 jdoe   staff          512 May 15 15:27 public_dir

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

次のタスクマップは、リスクのある実行ファイルをシステム内に見つける作業や、プログラムが実行可能スタックを不正利用しないように防ぐ作業などの操作を説明した箇所を示しています。

タスク
説明
参照先
特殊なアクセス権を持つファイルを見つけます。
setuid ビットがセットされているが、root ユーザーによって所有されていないというファイルを見つけます。
実行可能スタックがオーバーフローするのを防ぎます。
プログラムが実行可能スタックを不正に利用しないように防ぎます。
実行可能スタックのメッセージがログに記録されるのを防ぎます。
実行可能スタックのメッセージのログ記録を無効にします。

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

この手順では、プログラム上での承認されていない可能性のある、setuid および setgid アクセス権の使用を見つけます。疑わしい実行可能ファイルによって、所有権が root または bin ではなく、通常のユーザーに与えられることがあります。

始める前に

root 役割になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. find コマンドを使用して setuid アクセス権が設定されているファイルを検索します。
    # find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
    find directory

    指定したディレクトリから始めて、マウントされているすべてのパスを検査します。ディレクトリとしてルート (/)、sysbin、または mail を指定できます。

    -user root

    root が所有するファイルを表示します。

    -perm -4000

    アクセス権が 4000 に設定されているファイルだけを表示します。

    -exec ls -ldb

    find コマンドの出力を ls -ldb 形式で表示します。

    /tmp/filename

    find コマンドの結果が書き込まれるファイルです。

  2. 結果を /tmp/filename に出力します。
    # more /tmp/filename

    setuid アクセス権の基本的な情報については、setuid アクセス権」を参照してください。

例 7-6 setuid アクセス権が設定されているファイルを検索する

次の例の出力は、rar というグループのユーザーが /usr/bin/sh のコピーを作成し、そのアクセス権を root への setuid に設定したことを示しています。この結果、/usr/rar/bin/sh プログラムは root アクセス権で実行されます。

この出力は、/var/tmp/chkprm ファイルをアーカイブに移動することによって、将来の参照のために保存されました。

# find / -user root -perm -4000 -exec ls -ldb {} \; > /var/tmp/ckprm
# cat /var/tmp/ckprm
-r-sr-xr-x 1 root bin 38836 Aug 10 16:16 /usr/bin/at
-r-sr-xr-x 1 root bin 19812 Aug 10 16:16 /usr/bin/crontab
---s--x--x 1 root sys 46040 Aug 10 15:18 /usr/bin/ct
-r-sr-xr-x 1 root sys 12092 Aug 11 01:29 /usr/lib/mv_dir
-r-sr-sr-x 1 root bin 33208 Aug 10 15:55 /usr/lib/lpadmin
-r-sr-sr-x 1 root bin 38696 Aug 10 15:55 /usr/lib/lpsched
---s--x--- 1 root rar 45376 Aug 18 15:11 /usr/rar/bin/sh
-r-sr-xr-x 1 root bin 12524 Aug 11 01:27 /usr/bin/df
-rwsr-xr-x 1 root sys 21780 Aug 11 01:27 /usr/bin/newgrp
-r-sr-sr-x 1 root sys 23000 Aug 11 01:27 /usr/bin/passwd
-r-sr-xr-x 1 root sys 23824 Aug 11 01:27 /usr/bin/su
# mv /var/tmp/ckprm /export/sysreports/ckprm

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

32 ビットの実行可能スタックのセキュリティーリスクについては、「実行可能ファイルを原因とするセキュリティーへの悪影響を防止する」を参照してください。

始める前に

root 役割になる必要があります。詳細は、「割り当てられている管理権限を使用する方法」を参照してください。

  1. /etc/system ファイルを編集し、次の行を追加します。
    set noexec_user_stack=1
  2. システムをリブートします。
    # reboot

例 7-7 実行可能スタックメッセージのログ記録を無効にする

この例では、実行可能スタックメッセージのログ記録が無効にされ、続いてシステムのリブートが行われます。

# cat /etc/system
set noexec_user_stack=1
set noexec_user_stack_log=0
# reboot

参照

詳細は、次を参照してください。