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.  マシンセキュリティーの管理 (概要)

コンピュータシステムへのアクセスを制御する

物理的なセキュリティーの管理

ログイン制御の管理

パスワード情報の管理

パスワードの暗号化

特殊なシステムアカウント

リモートログイン

デバイスアクセスの制御

デバイスポリシー (概要)

デバイス割り当て (概要)

マシンリソースへのアクセス制御

アドレス空間レイアウトのランダム化

スーパーユーザーアクセスの制限とモニタリング

役割に基づくアクセス制御を構成してスーパーユーザーを置き換える

システムリソースの意図しない誤用の回避

PATH 変数の設定

ユーザーに制限付きシェルを割り当てる

ファイル内のデータへのアクセス制限

setuid 実行可能ファイルの制限

デフォルトでのセキュリティー強化 (Secure By Default) 構成の使用

リソース管理機能の使用

Oracle Solaris ゾーンの使用

マシンリソースの使用状況のモニタリング

ファイルの整合性のモニタリング

ファイルアクセスの制御

暗号化によるファイルの保護

アクセス制御リストの使用

マシン間でのファイルの共有

共有ファイルへの root アクセスの制限

ネットワークアクセスの制御

ネットワークセキュリティーメカニズム

リモートアクセスの認証と承認

ファイアウォールシステム

暗号化システムとファイアウォールシステム

セキュリティー問題の報告

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

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

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

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

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

パート 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.  監査 (参照)

用語集

索引

コンピュータシステムへのアクセスを制御する

ワークスペースでは、サーバーに接続されたすべてのマシンを 1 つの大規模多重システムと見なすことができます。システム管理者は、この大規模なシステムのセキュリティー管理に責任があります。システム管理者は、ネットワークの外部からの侵入を防ぐ必要があります。また、ネットワーク内部のコンピュータ上のデータの完全性を確保する必要もあります。

ファイルレベルにおいて、Oracle Solaris には標準セキュリティー機能が組み込まれており、ファイル、ディレクトリ、およびデバイスを保護するために使用できます。システムレベルとネットワークレベルでは、セキュリティーの内容はほぼ同じです。以降のセクションで説明されているように、セキュリティー防御の第一線はシステムへのアクセスを制御することです。

物理的なセキュリティーの管理

システムへのアクセスを制御するには、コンピュータ環境の物理的なセキュリティーを管理する必要があります。たとえば、システムにログインしたままこれを放置することは未承認アクセスを招く原因になります。侵入者がオペレーティングシステムやネットワークにアクセスしないとも限らないからです。コンピュータの周辺環境やコンピュータハードウェアは、不当なアクセスから物理的に保護される必要があります。

システム管理者は、ハードウェア設定に対する不当なアクセスから SPARC システムを保護することができます。eeprom コマンドを使って、パスワードがないと PROM にアクセスできないようにしてください。詳細は、「SPARC ハードウェアへのアクセスにパスワードを必要にする方法」を参照してください。x86 ハードウェアを保護するには、ベンダーのドキュメントを参照してください。

ログイン制御の管理

システムやネットワークへの無許可のログインも防止する必要があります。この制限は、パスワード割り当てとログイン制御によって行うことができます。システム上のすべてのアカウントには、パスワードが必要です。パスワードはシンプルな認証メカニズムです。アカウントにパスワードを設定しないと、ユーザー名を推測できる侵入者であれば誰でもネットワーク全体にアクセスできることになります。力ずくの野蛮な攻撃を許さないためには、強力なパスワードアルゴリズムが必要です。

ユーザーがシステムにログインすると、login コマンドはネームスイッチサービス svc:/system/name-service/switch 内の情報に従って、該当するネームサービスまたはディレクトリサービスデータベースを確認します。次のデータベースがログインに影響を与えることがあります。

ネームサービスについては、nscd(1M) のマニュアルページを参照してください。ネームサービスおよびディレクトリサービスについては、『Oracle Solaris Administration: Naming and Directory Services 』を参照してください。

login コマンドは、指定されたユーザー名とパスワードを検証します。ユーザー名がパスワードデータベース内に存在しない場合、login コマンドはシステムへのアクセスを拒否します。あるいは、指定されたユーザー名に対するパスワードが正しくないと、login コマンドはシステムへのアクセスを拒否します。有効なユーザー名とそれに対応するパスワードが入力されれば、システムはシステムへのアクセスをユーザーに認可します。

PAM モジュールには、システムへのログインが正常に完了したあとでアプリケーションへのログインをスムーズに行わせる効果があります。詳細は、第 14 章プラグイン可能認証モジュールの使用を参照してください。

Oracle Solaris システムには、精巧な認証メカニズムと承認メカニズムが備わっています。ネットワークレベルでの認証メカニズムや承認メカニズムについては、「リモートアクセスの認証と承認」を参照してください。

パスワード情報の管理

ユーザーはシステムにログインするときに、ユーザー名とパスワードの両方を入力する必要があります。ログイン名は公開されていますが、パスワードは秘密にしなければなりません。ユーザーは、自分のパスワードを他人に知られてはいけません。ユーザーは、自分のパスワードを慎重に選択し、頻繁に変更する必要があります。

パスワードは、最初にユーザーアカウントを設定するときに作成されます。ユーザーアカウントのセキュリティーを管理するために、パスワード有効期限を設定し、パスワードを定期的に強制変更することができます。また、ユーザーアカウントを無効にして、パスワードをロックすることもできます。パスワードの管理の詳細は、『Oracle Solaris 11.1 のユーザーアカウントとユーザー環境の管理』の第 1 章「ユーザーアカウントとユーザー環境の管理 (概要)」および passwd(1) のマニュアルページを参照してください。

ローカルパスワード

ネットワークでローカルファイルを使用してユーザーの認証を行なっている場合、パスワード情報はシステムの /etc/passwd ファイルと /etc/shadow ファイルに保持されます。ユーザー名などの情報は、/etc/passwd ファイルに保持されます。暗号化されたパスワードは、/etc/shadow という「シャドウ」ファイルに保持されます。このセキュリティー方式によって、暗号化されたパスワードにアクセスされることを防ぎます。/etc/passwd ファイルは、システムにログインできるすべてのユーザーが使用できますが、/etc/shadow ファイルを読み取ることができるのは root アカウントだけです。passwd コマンドを使用すると、ローカルシステム上のユーザーのパスワードを変更できます。

NIS パスワード

ネットワークで NIS を使用してユーザーの認証を行なっている場合、パスワード情報は NIS パスワードマップに保持されます。NIS では、パスワードの有効期間を指定できません。NIS パスワードマップに保持されているユーザーのパスワードを変更するには、コマンド passwd -r nis を使用します。

LDAP パスワード

Oracle Solaris の LDAP ネームサービスは、パスワード情報とシャドウ情報を LDAP ディレクトリツリーの ou=people コンテナに格納します。Oracle Solaris LDAP ネームサービスクライアントでユーザーのパスワードを変更するには、passwd -r ldap コマンドを使用します。LDAP ネームサービスは、パスワードを LDAP リポジトリに格納します。

パスワードポリシーは Oracle Directory Server Enterprise Edition で適用されます。具体的には、クライアントの pam_ldap モジュールは Oracle Directory Server Enterprise Edition で適用されているパスワードポリシー制御に従います。詳細は、『Oracle Solaris 11.1 でのネームサービスおよびディレクトリサービスの作業』の「LDAP ネームサービスのセキュリティーモデル」を参照してください。

パスワードの暗号化

パスワードの強力な暗号化は攻撃に対する最初の障壁になります。Oracle Solaris ソフトウェアには 6 つのパスワード暗号化アルゴリズムが提供されています。BlowfishMD5、および SHA アルゴリズムは、強力なパスワード暗号化を提供します。

パスワードアルゴリズムの識別子

サイトのアルゴリズムの構成は、/etc/security/policy.conf ファイルに指定します。policy.conf ファイルには、次の表に示す識別子でアルゴリズムを指定します。識別子とアルゴリズムのマッピングについては、/etc/security/crypt.conf ファイルを参照してください。

表 2-1 パスワードの暗号化アルゴリズム

識別子
説明
アルゴリズムのマニュアルページ
1
BSD システムや Linux システムの MD5 アルゴリズムと互換性のある MD5 アルゴリズム。
crypt_bsdmd5(5)
2a
BSD システムの Blowfish アルゴリズムと互換性のある Blowfish アルゴリズム。
crypt_bsdbf(5)
md5
BSD バージョンや Linux バージョンの MD5 よりも強力とされている Sun MD5 アルゴリズム。
crypt_sunmd5(5)
5
SHA256 アルゴリズム。SHA は、Secure Hash Algorithm (セキュアハッシュアルゴリズム) を表します。このアルゴリズムは、SHA-2 ファミリのメンバーです。SHA256 では 255 文字のパスワードがサポートされます。
crypt_sha256(5)
6
SHA512 アルゴリズム。
crypt_sha512(5)
__unix__
非推奨。従来の UNIX 暗号化アルゴリズム。このアルゴリズムは、古いシステムに接続するときに使用できます。
crypt_unix(5)
policy.conf ファイルのアルゴリズム構成

次に、policy.conf ファイルに指定されたデフォルトのアルゴリズム構成を示します。

#
…
# crypt(3c) Algorithms Configuration
#
# CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed
to
# be used for new passwords.  This is enforced only in crypt_gensalt(3c).
#
CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6

# To deprecate use of the traditional unix algorithm, uncomment below
# and change CRYPT_DEFAULT= to another algorithm.  For example,
# CRYPT_DEFAULT=1 for BSD/Linux MD5.
#
#CRYPT_ALGORITHMS_DEPRECATE=__unix__

# The Oracle Solaris default is a SHA256 based algorithm.  To revert to
# the policy present in Solaris releases set CRYPT_DEFAULT=__unix__,
# which is not listed in crypt.conf(4) since it is internal to libc.
#
CRYPT_DEFAULT=5
…

CRYPT_DEFAULT の値を変更すると、新しいユーザーのパスワードは、新しい値に対応するアルゴリズムを使って暗号化されます。

既存のユーザーがパスワードを変更したときに新しいパスワードがどのアルゴリズムで暗号化されるかは、古いパスワードがどのように暗号化されているかによって異なります。たとえば、CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 かつ CRYPT_DEFAULT=1 であるとします。次の表は、パスワードの暗号化にどのアルゴリズムが使用されるかを示します。

識別子 = パスワードアルゴリズム
意味
元のパスワード
変更後のパスワード
1 = crypt_bsdmd5
同じアルゴリズムを使用します。
1 識別子は CRYPT_DEFAULT の値でもあります。ユーザーのパスワードは引き続き crypt_bsdmd5 アルゴリズムで暗号化されます。
2a = crypt_bsdbf
同じアルゴリズムを使用します。
2a 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。このため、新しいパスワードは crypt_bsbdf アルゴリズムで暗号化されます。
md5 = crypt_md5
同じアルゴリズムを使用します。
md5 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。このため、新しいパスワードは crypt_md5 アルゴリズムで暗号化されます。
5 = crypt_sha256
同じアルゴリズムを使用します。
5 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。このため、新しいパスワードは crypt_sha256 アルゴリズムで暗号化されます。
6 = crypt_sha512
同じアルゴリズムを使用します。
6 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。このため、新しいパスワードは crypt_sha512 アルゴリズムで暗号化されます。
__unix__ = crypt_unix
crypt_bsdmd5 アルゴリズムを使用します。
__unix__ 識別子は CRYPT_ALGORITHMS_ALLOW リストにありません。このため、crypt_unix アルゴリズムを使用することはできません。新しいパスワードは CRYPT_DEFAULT アルゴリズムで暗号化されます。

選択したアルゴリズムの構成の詳細については、policy.conf(4) のマニュアルページを参照してください。パスワード暗号化アルゴリズムを指定する場合は、「パスワード暗号化のデフォルトアルゴリズムの変更 (タスク)」を参照してください。

特殊なシステムアカウント

root アカウントは特殊なシステムアカウントの 1 つです。これらのアカウントのうち、root アカウントにのみパスワードが割り当てられ、ログインできます。nuucp アカウントはファイル転送用にログインできます。他のシステムアカウントは、ファイルを保護したり、または root の完全な権限を使用せずに管理プロセスを実行したりします。


注意

注意 - システムアカウントのパスワード設定は決して変更しないでください。Oracle Solaris からのシステムアカウントは、安全かつ確実な状態で配布されます。


次の表に、一部のシステムアカウントとその使用方法の一覧を示します。システムアカウントは特殊な機能を実行します。各アカウントは、100 より小さい UID を持ちます。

表 2-2 選択されたシステムアカウントとその使用

システムアカウント
UID
用途
root
0
ほぼ無制限です。他の保護および許可をオーバーライドできます。root アカウントはシステム全体へのアクセス権を持ちます。root アカウントのパスワードは、非常に注意深く保護するようにしてください。root アカウントは、ほとんどの Oracle Solaris コマンドを所有しています。
daemon
1
バックグラウンド処理を制御します。
bin
2
一部の Oracle Solaris コマンドを所有します。
sys
3
多数のシステムファイルを所有します。
adm
4
一部のシステム管理ファイルを所有します。
lp
71
プリンタ用のオブジェクトデータファイルとスプールデータファイルを所有します。
uucp
5
UNIX 間のコピープログラム、UUCP 用のオブジェクトデータファイルとスプールデータファイルを所有します。
nuucp
9
システムにログインしてファイル転送を開始するためにリモートシステムで使用されます。

リモートログイン

侵入者にとって、リモートログインは魅力的な手段です。Oracle Solaris は、リモートログインをモニター、制限、および無効にする、いくつかのコマンドを提供します。手順については、「ログインとパスワードの保護 (タスクマップ)」を参照してください。

デフォルトでは、システムのマウスやキーボード、フレームバッファー、オーディオデバイスなど、特定のシステムデバイスを、リモートログインを通して制御したり読み取ったりすることはできません。詳細は、logindevperm(4) のマニュアルページを参照してください。