この章では、ユーザー、ユーザーアカウント、権利プロファイルを構成および管理する Solaris Trusted Extensions の手順について説明します。
すべてのユーザー用にシステムをカスタマイズする、または個々のユーザーアカウントをカスタマイズするときに実行できる一般的なタスクは、次の作業マップのとおりです。
作業 |
説明 |
参照先 |
---|---|---|
ラベル属性の変更 |
最小ラベルやデフォルトのラベル表示など、ユーザーアカウントのラベル属性を変更します。 | |
システムのすべてのユーザーに対して Trusted Extensions ポリシーを変更します。 |
policy.conf ファイルを変更します。 | |
設定した時間のあとにスクリーンセーバーを起動します。 設定した一定時間システムがアイドルになったあとにユーザーをログアウトします。 | ||
システムの一般ユーザーすべてから不要な特権を削除します。 | ||
公共キオスクでのプリントアウトからラベルを削除します。 | ||
ユーザーの初期設定ファイルを構成します。 |
.cshrc、.copy_files、.soffice など、すべてのユーザーの起動ファイルを構成します。 | |
ファイルのラベル再設定のタイムアウトを延長します。 |
一部のアプリケーションで承認ユーザーがファイルのラベルを再設定できるように構成します。 | |
フェイルセーフセッションへログインします。 |
ユーザーの初期設定ファイルの障害を修正します。 |
最初のシステムの構成中に、デフォルトのユーザーラベル属性を変更することができます。変更はすべての Trusted Extensions ホストにコピーする必要があります。
大域ゾーンでセキュリティー管理者役割になります。詳細は、「Trusted Extensions の大域ゾーンに入る」を参照してください。
/etc/security/tsol/label_encodings ファイルで、デフォルトのユーザー属性設定を確認します。
デフォルトについては 「label_encodings ファイルのデフォルト」を参照してください。
label_encodings ファイルで、ユーザー属性設定を修正します。
トラステッドエディタを使用します。詳細は、「Trusted Extensions の管理ファイルを編集する」を参照してください。Trusted CDE では、「ラベルエンコーディングの編集」アクションも使用できます。詳細は、「Trusted Extensions の CDE 管理アクションを起動する」を参照してください。
label_encodings ファイルは、すべてのホストで同一である必要があります。
ファイルのコピーを各 Trusted Extensions ホストに配布します。
Trusted Extensions で policy.conf のデフォルトを変更する方法は、Solaris OS でセキュリティー関連のシステムファイルを変更する方法に類似しています。Trusted Extensions では、トラステッドエディタを使用してシステムファイルを修正します。
大域ゾーンでセキュリティー管理者役割になります。詳細は、「Trusted Extensions の大域ゾーンに入る」を参照してください。
/etc/security/policy.conf ファイルで、デフォルト設定を確認します。
Trusted Extensions のキーワードについては、表 6–1 を参照してください。
設定を修正します。
トラステッドエディタを使用して、システムファイルを編集します。詳細は、「Trusted Extensions の管理ファイルを編集する」を参照してください。
この例では、セキュリティー管理者が、アイドル状態のシステムがログイン画面に戻るように設定します。デフォルトでは、アイドル状態のシステムはロックされます。そこで、セキュリティー管理者役割は次のようにして、IDLECMD キーワード = 値のペアを /etc/security/policy.conf ファイルに追加します。
IDLECMD=LOGOUT |
また管理者は、システムがアイドル状態になってからログアウトするまでの時間を短くします。そこで、セキュリティー管理者役割は次のようにして、IDLETIME キーワード = 値のペアを policy.conf ファイルに追加します。
IDLETIME=10 |
これで、システムが 10 分間アイドル状態になったあとでユーザーがログアウトされるようになります。
この例では、Sun Ray インストールのセキュリティー管理者が、一般ユーザーにほかの Sun Ray ユーザーのプロセスを表示できないようにします。そこで、Trusted Extensions によって構成されている各システムで、管理者は基本的な特権セットから proc_info を削除します。/etc/policy.conf ファイルの PRIV_DEFAULT 設定を、次のように修正します。
PRIV_DEFAULT=basic,!proc_info |
この例では、セキュリティー管理者が、コンピュータの /etc/security/policy.conf ファイルで次のように入力して、公共キオスクコンピュータからラベルのない印刷をできるようにしています。次の起動以降、このキオスクのあらゆるユーザーによる印刷ジョブは、ページラベルなしで実行されます。
AUTHS_GRANTED= solaris.print.unlabeled |
管理者は次に、バナーページとトレーラページを削除して、紙を節約することにします。管理者はまず、印刷マネージャーの「バナーを常に印刷」チェックボックスがチェックされていないことを確認します。次に、policy.conf エントリを次のように修正し、再起動します。これで、すべての印刷ジョブはラベルなしになり、バナーページもトレーラページもなくなります。
AUTHS_GRANTED= solaris.print.unlabeled,solaris.print.nobanner |
ユーザーは、.copy_files ファイルと .link_files ファイルを、最小の機密ラベルに対応するラベルのホームディレクトリに配置することができます。また、ユーザーの最小ラベルで既存の .copy_files および .link_files ファイルを修正することもできます。この手順は、管理者役割がサイトの設定を自動化するためのものです。
大域ゾーンで、システム管理者役割になっている必要があります。詳細は、「Trusted Extensions の大域ゾーンに入る」を参照してください。
2 つの Trusted Extensions 起動ファイルを作成します。
起動ファイルのリストに、.copy_files および .link_files を追加します。
# cd /etc/skel # touch .copy_files .link_files |
.copy_files ファイルをカスタマイズします。
トラステッドエディタを起動します。
詳細は、「Trusted Extensions の管理ファイルを編集する」を参照してください。
.copy_files ファイルへのフルパス名を入力します。
/etc/skel/.copy_files |
.copy_files に、すべてのラベルでユーザーのホームディレクトリにコピーするファイルを、1 行に 1 ファイルずつ入力します。
「.copy_files ファイルと .link_files ファイル」 を参照してください。サンプルファイルについては、例 7–4 を参照してください。
.link_files ファイルをカスタマイズします。
ユーザーのほかの起動ファイルをカスタマイズします。
起動ファイルに含める内容については、『System Administration Guide: Basic Administration』の「Customizing a User’s Work Environment」を参照してください。
詳細は、『System Administration Guide: Basic Administration』の「How to Customize User Initialization Files」を参照してください。
例については、例 7–4 を参照してください。
(省略可能) デフォルトのシェルがプロファイルシェルであるユーザーに、 skelP サブディレクトリを作成します。
P はプロファイルシェルを表します。
カスタマイズした起動ファイルを、適切なスケルトンディレクトリにコピーします。
ユーザーを作成するときには、適切な skelX パス名を使用します。
X はシェル名の先頭の文字を表します。たとえば、Bourne シェルの場合は B、Korn シェルの場合は K、C シェルの場合は C、プロファイルシェルの場合は P です。
この例では、セキュリティー管理者が各ユーザーのホームディレクトリのファイルを構成します。ファイルは、ユーザーのログイン前に配置されています。ファイルは、ユーザーの最小ラベルにあります。このサイトでは、ユーザーのデフォルトのシェルは C シェルです。
セキュリティー管理者は、トラステッドエディタで次の内容を含む .copy_files および .link_files ファイルを作成します。
## .copy_files for regular users ## Copy these files to my home directory in every zone .mailrc .mozilla .soffice :wq |
## .link_files for regular users with C shells ## Link these files to my home directory in every zone .cshrc .login .Xdefaults .Xdefaults-hostname :wq |
## .link_files for regular users with Korn shells # Link these files to my home directory in every zone .ksh .profile .Xdefaults .Xdefaults-hostname :wq |
シェルの初期設定ファイルで、管理者はユーザーの印刷ジョブがラベル付きプリンタで実行されることを確認します。
## .cshrc file setenv PRINTER conf-printer1 setenv LPDEST conf-printer1 |
## .ksh file export PRINTER conf-printer1 export LPDEST conf-printer1 |
管理者は、.Xdefaults- home-directory-server ファイルを修正して、dtterm コマンドによる新しい端末の .profile ファイルの読み取りを強制しました。
## Xdefaults-HDserver Dtterm*LoginShell: true |
カスタマイズしたファイルが、適切なスケルトンディレクトリにコピーされます。
$ cp .copy_files .link_files .cshrc .login .profile \ .mailrc .Xdefaults .Xdefaults-home-directory-server \ /etc/skelC $ cp .copy_files .link_files .ksh .profile \ .mailrc .Xdefaults .Xdefaults-home-directory-server \ /etc/skelK |
最小のラベルで .copy_files ファイルを作成する場合、上位のゾーンにログインして updatehome コマンドを実行します。コマンドがアクセスエラーで失敗したら、次のようにしてください。
上位レベルのゾーンから下位レベルのディレクトリを表示できるかどうかを確認します。
higher-level zone# ls /zone/lower-level-zone/home/username ACCESS ERROR: there are no files under that directory |
そのディレクトリを表示できない場合、上位レベルのゾーンで自動マウントサービスを再起動します。
higher-level zone# svcadm restart autofs |
ホームディレクトリの NFS マウントを使用しないかぎり、上位ゾーンのオートマウンタは /zone/lower-level-zone/export/home/username から /zone/lower-level-zone/home/username にループバックマウントするはずです。
Trusted Extensions では、選択マネージャーがラベル間の情報の転送を仲介します。選択マネージャーは、ドラッグ&ドロップ操作やカット&ペースト操作のときに表示されます。一部のアプリケーションでは、選択マネージャーが介入する時間を考慮して、適切なタイムアウトを設定する必要があります。時間は 2 分で十分です。
ラベルなしのシステムでは、デフォルトのタイムアウト値を変更しないでください。デフォルト値よりも長いタイムアウト値に変更すると、処理はエラーとなります。
大域ゾーンで、システム管理者役割になっている必要があります。詳細は、「Trusted Extensions の大域ゾーンに入る」を参照してください。
StarSuite アプリケーションの場合は、次の手順を実行します。
ファイル office-install-directory/VCL.xcu にナビゲートします。
office-install-directory は StarSuite のインストールディレクトリで、たとえば次のようになります。
office-top-dir/share/registry/data/org/staroffice |
SelectionTimeout プロパティーの値を 120 に変更します。
トラステッドエディタを使用します。詳細は、「Trusted Extensions の管理ファイルを編集する」を参照してください。
デフォルト値は 3 秒です。値を 120 に設定すると、タイムアウトは 2 分になります。
GNOME ToolKit (GTK) ライブラリを利用するアプリケーションのユーザーの場合は、選択タイムアウトのプロパティー値を 2 分に変更します。
別な方法として、各ユーザーに選択タイムアウトのプロパティー値を変更させることもできます。
大部分の Sun Java Desktop System アプリケーションは、GTK ライブラリを利用します。Mozilla、Firefox、Thunderbird などの Web ブラウザも GTK ライブラリを利用しています。
デフォルトでは、選択のタイムアウト値は 300、つまり 5 秒です。値を 7200 に設定すると、タイムアウトは 2 分になります。
(省略可能) .gtkrc-mine ファイルを、各ユーザーの .link_files ファイルのリストに追加します。
詳細については、「Trusted Extensions のユーザーの起動ファイルを構成する」を参照してください。
Trusted Extensions では、復旧ログインは保護されています。一般ユーザーがシェル初期設定ファイルをカスタマイズしており、現在ログインできない場合は、フェイルセーフログインを使用してユーザーのファイルを修正することができます。
root のパスワードを知っている必要があります。
Solaris OS の場合と同様に、ログイン画面で「オプション (Options)」メニューから「復旧セッション (Failsafe Session)」を選択します。
プロンプトに従って、ユーザーがユーザー名とパスワードを入力します。
root のパスワードを求めるプロンプトで、root のパスワードを入力します。
これで、ユーザーの初期設定ファイルをデバッグできるようになります。
Trusted Extensions では、Solaris 管理コンソールを使用してユーザー、承認、権利、および役割を管理する必要があります。ユーザーとそのセキュリティー属性を管理するには、セキュリティー管理者役割である必要があります。次の作業マップでは、ラベル付きの環境で操作するユーザーに対して実行する一般的な作業について説明します。
作業 |
説明 |
参照先 |
---|---|---|
ユーザーのラベル範囲を変更します。 |
ユーザーが作業できるラベルを修正します。この変更により、label_encodings ファイルで許可される範囲を制限または拡張できます。 | |
使いやすい承認のための権利プロファイルを作成します。 |
一般ユーザーに役立つ承認はいくつか存在します。これらの承認の資格を持つユーザーのプロファイルを作成します。 | |
ユーザーのデフォルト特権セットを修正します。 |
ユーザーのデフォルトの特権セットから特権を削除します。 | |
特定ユーザーのアカウントロックを回避します。 |
役割になることができるユーザーに対しては、アカウントロックをオフにする必要があります。 | |
ユーザーがデータに再ラベル付けできるようにします。 |
ユーザーによる情報のダウングレードまたはアップグレードを許可します。 | |
システムからユーザーを削除します。 |
ユーザーおよびユーザーのプロセスを完全に削除します。 | |
ほかのタスクを処理します。 |
Solaris 管理コンソールを使用して、Trusted Extensions に固有ではないタスクを処理します。 |
ユーザーのラベル範囲を拡張して、ユーザーに管理用アプリケーションへの読み取りアクセスを許可したい場合があります。たとえば、大域ゾーンにログインできるユーザーは、Solaris 管理コンソールを実行できます。ユーザーは内容を表示できますが、内容の変更はできません。
また、ユーザーのラベル範囲を制限したい場合もあります。たとえば、ゲストユーザーを 1 つのラベルに制限することができます。
大域ゾーンでセキュリティー管理者役割になります。
Solaris 管理コンソールで Trusted Extensions ツールボックスを開きます。
適切な有効範囲のツールボックスを使用します。詳細は、『Oracle Solaris Trusted Extensions 構成ガイド』の「Trusted Extensions で Solaris 管理コンソールサーバーを初期化する」を参照してください。
「システムの構成」で、「ユーザーアカウント」にナビゲートします。
パスワードプロンプトが表示されます。
役割のパスワードを入力します。
ユーザーアカウントから個々のユーザーを選択します。
「Trusted Extensions の属性」タブをクリックします。
「了解」をクリックして変更を保存します。
サイトのセキュリティーポリシーで許可される場合、承認の必要なタスクを実行できるユーザーに対する承認を含む権利プロファイルを作成することができます。特定システムのすべてのユーザーが承認されるようにするには、「policy.conf のデフォルトを修正する」を参照してください。
大域ゾーンでセキュリティー管理者役割になります。
Solaris 管理コンソールで Trusted Extensions ツールボックスを開きます。
適切な有効範囲のツールボックスを使用します。詳細は、『Oracle Solaris Trusted Extensions 構成ガイド』の「Trusted Extensions で Solaris 管理コンソールサーバーを初期化する」を参照してください。
「システムの構成」で、「権利」にナビゲートします。
パスワードプロンプトが表示されます。
役割のパスワードを入力します。
権利プロファイルを追加するには、「アクション」 –> 「権利を追加」をクリックします。
次の 1 つ以上の承認を含む権利プロファイルを作成します。
詳細な手順については、『System Administration Guide: Security Services』の「How to Create or Change a Rights Profile」を参照してください。
次の図では、ユーザーにとって便利な承認が「含まれる承認」ウィンドウに表示されています。
「デバイスの割り当て」– マイクロフォンなどの周辺機器の割り当てをユーザーに承認します。
デフォルトでは、Solaris のユーザーは CD-ROM に対して読み取りと書き込みが可能です。一方、Trusted Extensions で CD-ROM ドライブにアクセスできるのは、デバイスを割り当てることができるユーザーだけです。使用するドライブを割り当てるには、承認が必要です。したがって、Trusted Extensions で CD-ROM に対する読み取りと書き込みを行うには、ユーザーは「デバイスの割り当て」承認が必要です。
「Downgrade DragNDrop or CutPaste Info」– 下位レベルファイルからの情報の選択と、上位レベルファイルへの情報の配置をユーザーに承認します。
「Downgrade File Label」– ファイルのセキュリティーレベル引き下げをユーザーに承認します。
「内容を表示せずに DragNDrop またはCutPaste を行う」– 移動する情報を表示せずに情報を移動することをユーザーに承認します。
「Postscript を印刷」– PostScript ファイルの印刷をユーザーに承認します。
「バナーなしで印刷」- バナーページなしのハードコピーの印刷をユーザーに承認します。
「ラベルなしで印刷」– ラベルを表示しないハードコピーの印刷をユーザーに承認します。
「リモートログイン」– 遠隔ログインをユーザーに承認します。
「システムの停止」– システムの停止とゾーンの停止をユーザーに承認します。
「Upgrade DragNDrop or CutPaste Info」– 低レベルファイルからの情報の選択と、高レベルファイルへの情報の配置をユーザーに承認します。
「Upgrade File Label」– ファイルのセキュリティーレベル引き上げをユーザーに承認します。
ユーザーまたは役割に権利プロファイルを割り当てます。
詳細は、オンラインヘルプを参照してください。詳細な手順については、『System Administration Guide: Security Services』の「How to Change the RBAC Properties of a User」を参照してください。
次の例では、セキュリティー管理者が、本文ページのラベルなしでジョブを印刷することを、役割に許可します。
Solaris 管理コンソールで、セキュリティー管理者は管理者役割にナビゲートします。特定の役割に含まれている権利プロファイルを確認してから、印刷関連の承認が役割の権利プロファイルの 1 つに含まれていることを確認します。
サイトのセキュリティーのために、ユーザーに割り当てられた特権をデフォルトより少なくしなければならないことがあります。たとえば、Sun Ray システム上で Trusted Extensions を使用するサイトで、ユーザーが Sun Ray サーバー上のほかのユーザーのプロセスを表示できないようにすることができます。
大域ゾーンでセキュリティー管理者役割になります。
Solaris 管理コンソールで Trusted Extensions ツールボックスを開きます。
適切な有効範囲のツールボックスを使用します。詳細は、『Oracle Solaris Trusted Extensions 構成ガイド』の「Trusted Extensions で Solaris 管理コンソールサーバーを初期化する」を参照してください。
「システムの構成」で、「ユーザーアカウント」にナビゲートします。
パスワードプロンプトが表示されます。
役割のパスワードを入力します。
ユーザーのアイコンをダブルクリックします。
basic セットにある 1 つ以上の特権を削除します。
ユーザーのアイコンをダブルクリックします。
「権利」タブをクリックします。
right_extended_attr フィールドの basic セットの右にある「編集」ボタンをクリックします。
proc_session または file_link_any を削除します。
proc_session 特権を削除することにより、ユーザーは現在のセッション外のプロセスを検査できなくなります。file_link_any 特権を削除することにより、ユーザーは所有していないファイルへのハードリンクを作成できなくなります。
proc_fork 特権または proc_exec 特権は削除しないでください。これらの特権がないと、ユーザーはシステムを使用することができません。
「了解」をクリックして変更を保存します。
Trusted Extensions では、Solaris 管理コンソールのユーザーセキュリティー機能を拡張してアカウントロックが追加されています。役割になれるユーザーに対してアカウントロックをオフにする必要があります。
大域ゾーンでセキュリティー管理者役割になります。
Solaris 管理コンソールを起動します。
適切な有効範囲のツールボックスを使用します。詳細は、『Oracle Solaris Trusted Extensions 構成ガイド』の「Trusted Extensions で Solaris 管理コンソールサーバーを初期化する」を参照してください。
「システムの構成」で、「ユーザーアカウント」にナビゲートします。
パスワードプロンプトが表示されます。
役割のパスワードを入力します。
ユーザーのアイコンをダブルクリックします。
「Trusted Extensions の属性」タブをクリックします。
「アカウントの利用」セクションで、「ログイン失敗の最大回数に達したあとでアカウントをロックする」 の隣にあるプルダウンメニューから 「いいえ」 を選択します。
「了解」をクリックして変更を保存します。
一般ユーザーまたは役割には、ファイルおよびディレクトリのセキュリティーレベルまたはラベルを変更する承認を与えることができます。この承認に加えて、ユーザーまたは役割を、複数のラベルで作業するように構成する必要があります。ラベル付きゾーンは、再ラベル付けを許可するように構成する必要があります。手順については、「ラベル付きゾーンからファイルに再ラベル付けできるようにする」を参照してください。
データのセキュリティーレベルの変更は特権操作です。このタスクは、信頼できるユーザーのみを対象とします。
大域ゾーンでセキュリティー管理者役割になります。
「便利な承認のための権利プロファイルを作成する」 の手順に従って、権利プロファイルを作成します。
次の承認によって、ユーザーがファイルに再ラベル付けできるようになります。
「Downgrade File Label」
「Upgrade File Label」
次の承認によって、ユーザーがファイル内の情報に再ラベル付けできるようになります。
「Downgrade DragNDrop or CutPaste Info」
「DragNDrop or CutPaste Info Without Viewing」
「Upgrade DragNDrop or CutPaste Info」
Solaris 管理コンソールを使用して、適切なユーザーおよび役割にプロファイルを割り当てます。
詳細は、オンラインヘルプを参照してください。詳細な手順については、『System Administration Guide: Security Services』の「How to Change the RBAC Properties of a User」を参照してください。
ユーザーをシステムから削除する場合、管理者は、ユーザーのホームディレクトリと、そのユーザーが所有するオブジェクトも、確実に削除する必要があります。ユーザーの所有するオブジェクトを削除する代わりに、管理者はそのオブジェクトの所有権を有効なユーザーに変更することができます。
管理者は、削除されたユーザーに関連付けられているバッチジョブも、すべて確実に削除する必要があります。削除されたユーザーに属するオブジェクトまたはプロセスがシステムに残っていないことを確認してください。
システム管理者役割である必要があります。
各ラベルでユーザーのホームディレクトリをアーカイブします。
各ラベルでユーザーのメールファイルをアーカイブします。
Solaris 管理コンソールで、ユーザーアカウントを削除します。
Solaris 管理コンソールで Trusted Extensions ツールボックスを開きます。
適切な有効範囲のツールボックスを使用します。詳細は、『Oracle Solaris Trusted Extensions 構成ガイド』の「Trusted Extensions で Solaris 管理コンソールサーバーを初期化する」を参照してください。
「システムの構成」で、「ユーザーアカウント」にナビゲートします。
パスワードプロンプトが表示されます。
役割のパスワードを入力します。
削除するユーザーアカウントを選択して、「削除」ボタンをクリックします。
ユーザーのホームディレクトリとメールファイルを削除するプロンプトが表示されます。プロンプトを受け入れると、ユーザーのホームディレクトリとメールファイルが大域ゾーンでのみ削除されます。
各ラベル付きゾーンで、ユーザーのディレクトリとメールファイルを手動で削除します。
すべてのラベルで、/tmp ディレクトリのファイルなど、ユーザーの一時ファイルを検索して削除します。
Solaris の手順に従って、Solaris 管理コンソールでタスクを処理します。スーパーユーザーになるか、大域ゾーンで役割になる必要があります。次の作業マップに基本的な Solaris 管理コンソール 作業を示します。
作業 |
参照先 |
---|---|
Solaris 管理コンソールを使用して管理タスクを実行します。 | |
ユーザーを作成します。 | |
役割を作成します。 |
『System Administration Guide: Security Services』の「How to Create and Assign a Role by Using the GUI」 |
役割を修正します。 |
『System Administration Guide: Security Services』の「How to Change the Properties of a Role」 |
権利プロファイルを作成または修正します。 |
『System Administration Guide: Security Services』の「How to Create or Change a Rights Profile」 |
ユーザーのほかのセキュリティー属性を変更します。 |
『System Administration Guide: Security Services』の「How to Change the RBAC Properties of a User」 |
役割のアクションを監査します。 |
『System Administration Guide: Security Services』の「How to Audit Roles」 |
smprofile list -D name-service-type:/server-name/ domain-name を使用して権利プロファイルをリスト |
『System Administration Guide: Security Services』の第 9 章「Using Role-Based Access Control (Tasks)」またはsmprofile(1M) のマニュアルページ |