Oracle® Solaris Cluster セキュリティーガイド

印刷ビューの終了

更新: 2014 年 7 月、E62235
 
 

開発者向けのセキュリティーの考慮事項

このセクションでは、Oracle Solaris Cluster を使用してアプリケーションを作成する開発者にとって役立つ情報を提供します。開発者は、 Oracle Solaris Cluster API を使用します。詳細は、Oracle Solaris Cluster Concepts Guide の第 3 章Key Concepts for System Administrators and Application Developersを参照してください。

開発者が作成するエージェントアプリケーションは、製品のセキュリティーフレームワーク内で動作し、次のセキュリティー機能を考慮する必要があります。

  • Oracle Solaris Cluster は広範囲のアプリケーションエージェントをサポートしています。これらは一連のコールバックメソッドとして実装され、アプリケーションの起動、停止、プローブ、検証を制御します。StartStopValidate などのコールバックメソッドは常に root として実行されます。これらの実行可能メソッドファイルに root ユーザー以外が書き込み可能な場合には脆弱性が発生し、非 root ユーザーがコールバックメソッドにコードを挿入することで、不正に権限を引き上げることが可能になってしまいます。Oracle Solaris Cluster はこうしたコールバックメソッドの実行可能ファイルの所有権とアクセス権をチェックします。このチェックは resource_security クラスタプロパティー設定によって制御されます。resource_securitySECURE に設定されており、メソッドコードに非 root ユーザーが書き込み可能であることが判明した場合、メソッドの実行は失敗します。

    一方、エージェントメソッドは、アプリケーション固有の管理コマンドなどの外部プログラムをしばしば実行します。エージェントメソッドはこうした外部プログラムをすべてラッパーを使用して実行することで、外部プログラムが可能なかぎり最小限の権限で実行されるようにする必要があります。Oracle Solaris Cluster では application_user および resource_security プロパティーと scha_check_app_user API が提供されており、アプリケーションがセキュアに実行されていることをデータサービスで確認できるようになっています。scha_check_app_user コマンドをスクリプトで呼び出すことで、構成済みの Application_user および Resource_security 設定に対してユーザー名を検証できます。詳細は、scha_check_app_user(1HA ) のマニュアルページ、r_properties(5) のマニュアルページ、および cluster(1CL) のマニュアルページを参照してください。

  • アプリケーションへのセキュアなアクセス – 管理コマンドまたは構成コマンドを発行する場合、アプリケーションへのセキュアなアクセスが必要になることがあります。このセキュアなアクセスは、Oracle Wallet Manager などの資格証明に基づくメソッドで実行する必要があります。パスワードを指定する必要がある場合、パスワードは不明瞭化されたフォームでセキュアに使用して格納する必要があります。たとえば、ps(1) コマンドを使用してユーザーが表示できるコマンド行に渡すことはできません。Oracle Solaris Cluster では、プライベート文字列を作成するための clpstring コマンドが提供されています。このプライベート文字列は、エンコードされたパスワードをクラスタ内にセキュアに保存するために使用でき、管理タスクを実行するためにパスワードの使用が必要な場合に取得できます。このコマンドの詳細は、clpstring(1CL) のマニュアルページを参照してください。

データサービスの開発時にこれらのセキュリティー機能を使用する方法については、Oracle Solaris Cluster Data Services Developer’s Guide を参照してください。