Go to main content
Oracle® Solaris 11 セキュリティーと強化ガイドライン

印刷ビューの終了

更新: 2016 年 11 月
 
 

アプリケーションの保護と分離

アプリケーションは、マルウェアや悪意のあるユーザーのエントリポイントになる可能性があります。Oracle Solaris では、特権を使用し、アプリケーションをゾーン内に封じ込めることで、これらの脅威を軽減します。アプリケーションは、そのアプリケーションが必要とする特権でしか実行できないため、悪意のあるユーザーはシステムのほかの部分にアクセスするための root 特権を得られません。ゾーンにより、攻撃の範囲を制限できます。非大域ゾーン内のアプリケーションに対する攻撃は、そのゾーンのプロセスにのみ影響し、ゾーンのホストシステムには影響しません。

アドレス空間レイアウトのランダム化 (ASLR)、nxheap、および nxstack などのセキュリティー拡張機能は、侵入者が実行可能ファイルやヒープを損なうことを困難にします。詳細は、セキュリティー拡張機能を参照してください。また、サービス管理機能 (SMF) は、管理者がアプリケーションの開始、停止、および使用を制限できるようにすることで、アプリケーションを保護します。

Oracle Solaris の特権

特権は、プロセスに対する細かく設定された個別の権利で、カーネルで適用されます。Oracle Solaris では、file_read のような基本特権から proc_clock_highres のようなより特化した特権まで、80 以上の特権が定義されています。特権は、プロセス、ユーザー、または役割に対して付与できます。多くの Oracle Solaris コマンドおよびデーモンは、タスクを実行するために必要な特権でしか実行されません。特権対応のプログラムによって、侵入者がプログラム自体で使用される特権以外の特権を取得することを回避できます。

特権の使用は、プロセス権管理とも呼ばれます。特権を使用すると、組織はシステムで実行されるサービスおよびプロセスに付与される特権を指定 (制限) できます。

Oracle Solaris ゾーン

Oracle Solaris ゾーンソフトウェアのパーティション分割テクノロジーを使用すると、サーバーごとに 1 つのアプリケーションという開発モデルを保持しながら、同時にハードウェアリソースを共有できます。

ゾーンは仮想化されたオペレーティング環境であり、複数のアプリケーションを同じ物理ハードウェア上にある他の各アプリケーションから分離して実行できます。この分離によって、ゾーン内で実行されるプロセスが、他のゾーンで実行されるプロセスに対してモニタリングまたは影響したり、相互のデータを表示したり、基礎となるハードウェアを操作したりすることが回避されます。ゾーンは、アプリケーションが配備されたシステムの物理属性 (物理デバイスパスやネットワークインタフェース名など) からアプリケーションを分離する抽象レイヤーも提供します。

保護を追加するため、不変大域ゾーンと呼ばれる物理的な大域ゾーン、および Oracle Solaris カーネルゾーンと呼ばれる仮想的な大域ゾーンを読み取り専用にできます。不変大域ゾーンはカーネルゾーンよりやや強力ですが、どちらもシステムのハードウェアや構成を永続的に変更できません。読み取り専用ゾーンは、書き込みを許可するゾーンよりブート速度とセキュリティーが向上します。

不変大域ゾーンには、保守のためにトラステッドコンピューティングベース (TCB) と呼ばれる特別なプロセスのセットが定義されています。これは、トラステッドパスと呼ばれる保護されたログインを介して構成できます。詳細は、Oracle Solaris ゾーンの作成と使用 の 第 11 章, 不変ゾーンの構成と管理を参照してください。ゾーン構成のリソースについては、Oracle Solaris ゾーンの紹介を参照してください。mwac(5) および tpd(5) のマニュアルページも参照してください。

Oracle Solaris カーネルゾーンは、準拠するシステムを配備するのに役立ちます。たとえば、準拠するシステムを構成し、統合アーカイブを作成し、そのイメージをカーネルゾーンとして配備できます。詳細は、solaris-kz(5) のマニュアルページ、Oracle Solaris カーネルゾーンの作成と使用Oracle Solaris 11 仮想環境の紹介 の Oracle Solaris ゾーンの概要、およびOracle Solaris 11.3 でのシステム復旧とクローンを参照してください。

セキュリティー拡張機能

Oracle Solaris のセキュリティー拡張機能は、スタックやヒープを侵害から保護するためのカーネルレベルのフラグです。アドレス空間レイアウトのランダム化 (ASLR) は、特定のプログラムによって使用されるアドレスをランダム化します。nxheap および nxstack セキュリティー拡張機能は、悪意のあるコードによる実行可能ファイルのスタックやヒープの破損を防止します。詳細は、Oracle Solaris 11.3 でのシステムおよび接続されたデバイスのセキュリティー保護 の アドレス空間レイアウトのランダム化およびOracle Solaris 11.3 でのシステムおよび接続されたデバイスのセキュリティー保護 の 悪影響からのプロセスヒープと実行可能スタックの保護を参照してください。アプリケーションをコンパイルするときにこれらのセキュリティー拡張機能を使用する方法については、セキュアに実行されるアプリケーションの記述のリンクを参照してください。

サービス管理機能

サービスは、永続的に実行されるアプリケーションです。サービスは、実行中のアプリケーション、デバイスのソフトウェア状態、その他の一連のサービスのいずれかを表現できます。Oracle Solaris のサービス管理機能 (SMF) は、サービスを追加、削除、構成、および管理する際に使用されます。SMF は、権利管理を使用してシステム上のサービス管理機能へのアクセスを制御します。特に、SMF は承認を使用して、サービスを管理するユーザーおよびそのユーザーが実行できる機能を判定します。

SMF を使用すると、組織がサービスへのアクセスを制御することに加えて、それらのサービスの起動、停止、およびリフレッシュする方法も制御できます。

Java Cryptography Extension

Java には、Java アプリケーションの開発者用に Java Cryptography Extension (JCE) が用意されています。詳細は、Java SE セキュリティー (http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html)を参照してください。