Oracle® Solaris 11.2 でのユーザーとプロセスのセキュリティー保護

印刷ビューの終了

更新: 2014 年 7 月
 
 

特権の割り当て

特権」という用語は従来、権利の強化を意味します。Oracle Solaris システムの各プロセスは何らかの権利を使用して実行されるため、特権を削除することでプロセスの権利を減らすことができます。このリリースでは、拡張特権ポリシーを使用することで、特定のリソースにデフォルトで付与されている特権を除くほとんどの特権を削除できます。

ユーザーおよびプロセスへの特権の割り当て

セキュリティー管理者として、特権の割り当てを担当します。既存の権利プロファイルでは、プロファイル内のコマンドに特権がすでに割り当てられています。権利プロファイルを役割またはユーザーに割り当てます。

特権はまた、ユーザー、役割、または権利プロファイルに直接割り当てることもできます。セッションで特権を適切に使用すると信頼できるユーザーには、特権を直接割り当てることができます。直接の割り当てが適するものとしては、影響の少ない特権 (proc_clock_highres など) が挙げられます。直接の割り当てに適しない候補としては、file_dac_write などの、影響が広範囲に及ぶ特権があります。詳細は、権利の割り当てにおけるセキュリティーに関する考慮事項を参照してください。

ユーザー、役割、またはプロセスに対する特権が拒否されることもあります。ユーザーまたは役割の初期継承可能セットまたは制限セットから特権を削除する場合は、注意が必要です。

ユーザーまたは役割の特権の拡張

ユーザーや役割には、継承可能な特権セットがあります。制限セットには初めにすべての特権が設定されるため、このセットは削減のみ可能です。ユーザー、役割、およびプロセスの初期継承可能セットは、その継承可能セットにない特権を割り当てることで拡張できます。

    使用可能な特権を 3 つの方法で拡張できます。

  • 初期継承可能セットには含まれていないが制限セットに含まれている特権は、ユーザーと役割に割り当てることができます。この割り当ては、権利プロファイルの特権付きコマンドを使用して間接的に行うか、または直接行うことができます。

  • 継承可能セットに含まれていない特権は、スクリプトまたはアプリケーションへの特権の追加などのように、プロセスに明示的に割り当てることができます。

  • 継承可能セットに含まれていないが制限セットに含まれている特権は、ネットワークポート、UID、またはファイルオブジェクトに明示的に割り当てることができます。このような特権の使用は拡張特権ポリシーと呼ばれ、使用可能な特権を制限する手段でもあります。詳細は、拡張特権ポリシーを使用した特権使用の制限を参照してください。

特権を必要とする管理タスクにのみその特権を割り当てることは、ユーザーまたは役割の特権をもっとも的確に拡張する方法です。コマンドまたはスクリプトとその必要な特権が含まれている権利プロファイルを作成します。次に、ユーザーまたは役割にその権利プロファイルを割り当てます。このように割り当てることで、ユーザーまたは役割はその特権付きコマンドを実行できます。このようにしないと、ユーザーはその特権を使用できません。

ユーザーまたは役割の初期継承可能特権セットの拡張は、特権を割り当てる方法として適切とは言えません。継承可能セット内の特権はすべて、許可されたセットと有効セット内に存在します。シェル内でユーザーまたは役割が入力するコマンドはすべて、直接割り当てられた特権を使用できます。詳細は、権利の割り当てにおけるセキュリティーに関する考慮事項を参照してください。

不必要に特権が使用可能である状況を減らすには、拡張特権をネットワークポート、UID、およびファイルオブジェクトに割り当てることができます。このように割り当てることで、拡張特権割り当てに含まれない特権が有効セットから削除されます。詳細は、拡張特権ポリシーを使用した特権使用の制限を参照してください。

ユーザーまたは役割の特権の制限

信頼できないユーザーの権利を制限するため、特権と権利プロファイルを信頼できないユーザーに適用することもできます。特権を削除することで、ユーザーと役割による特定のタスク実行を不可能にできます。特権は、初期継承可能セットから削除することも、制限セットから削除することもできます。デフォルトセットよりも小さい初期継承可能セットまたは制限セットを配布する場合は、あらかじめ特権の削除を慎重にテストすることが望まれます。たとえば、初期継承可能セットから特権を削除したためにユーザーがログインできなくなる可能性があります。制限セットから特権を削除すると、削除した特権を必要とする古い setuid root プログラムが失敗する可能性があります。特権削除の例については、Example 3–21 およびExample 5–6 を参照してください。

ユーザー ID、ポート、またはファイルオブジェクトに対して使用可能な特権を制限するには、拡張特権ポリシーを使用した特権使用の制限を参照してください。

スクリプトへの特権の割り当て

スクリプトは、コマンドと同様に実行可能ファイルです。このため、コマンドに特権を追加する場合と同じ方法で、権利プロファイルでスクリプトに特権を追加できます。権利プロファイルが割り当てられたユーザーまたは役割がプロファイルシェルでスクリプトを実行すると、スクリプトは、それらの追加された特権で実行されます。スクリプトに特権が必要なコマンドが含まれている場合は、特権が追加されたコマンドも、割り当てられた権利プロファイルに含まれている必要があります。例については、アプリケーションおよびスクリプトへの権利の割り当てを参照してください。

拡張特権ポリシーを使用した特権使用の制限

拡張特権ポリシーは、基本特権および明示的に付与した特権を除き、ポート、ユーザー ID、またはファイルオブジェクトへのアクセスを制限できます。少ない数の特権では、システムを攻撃する目的でリソースを容易に使用することはできません。実際に、ユーザーは所有するファイルとディレクトリを、悪意のあるプロセスによるアクセスから保護できます。拡張特権ポリシーの例については、アプリケーション、スクリプトおよびリソースの特定の権利への制限を参照してください。