Oracle Solaris 11セキュリティ: 開発者向け最新情報

2011年9月

Ramesh Nagappan

内容

ここでは、以下の5つの領域におけるOracle Solaris 11の新しいセキュリティ機能と機能強化について概要を説明します。

  • ホストとアプリケーションレベルのセキュリティ
  • ネットワークと通信のセキュリティ
  • 高パフォーマンスの暗号化サービス
  • 保管されているデータの保護
  • Oracle Solaris Trusted Extensionsによるマルチレベルのセキュリティ

以下の項では、これらの領域の新機能と変更点、および、アプリケーション開発の観点から、これらの新機能がさらに包括的なセキュリティ・アーキテクチャを構築する上でいかに役立つかの概要を説明します。

ホストとアプリケーションレベルのセキュリティ

ホストとアプリケーションのセキュリティ強化は、アクセス制御、権限管理、およびサービス管理機能における新機能と機能強化と、多岐に渡ります。

アクセス制御

Oracle Solaris 11では、Root as a Role強化されたpfexecが導入されており、既存の最小権限機能とロール・ベースのアクセス制御(RBAC)機能が拡張されています。

  • Root as a Roleにより、Oracle Solaris 11のrootアカウントがデフォルトでロールになりました。 認可ユーザーのみが直接rootユーザー・アカウントにログインせずに、rootロールを引き継ぐことができます。 そのため、root以外の認可ユーザーはスーパーユーザーの権限でタスクを実行できるようになっています。 特権アクションは、Oracle Solarisの監査を使用して、実際にアクションを起動したユーザーに容易に割り当てることができます。 ユーザーがログインするたびに、一意の監査セッションIDが生成されてユーザーのプロセスに関連付けられます。 ユーザーが別のユーザーに切り替わった場合は、同じ監査ユーザーIDですべてのユーザー・アクションが追跡されます。この機能は、複数の管理者がrootパスワードを共有していることが原因で、セキュリティとアカウンタビリティの問題が生じているアプリケーション環境で役立ちます。
  • 拡張されたpfexecは、より高い権限レベルを必要とする管理コマンドを実行するために使用します。 新しいプロセス・フラグを使用して、すべての後続プログラムをRBACポリシーに従って実行するように指定します。 このフラグは、プロファイル・シェル一式(pfsh(1)、pfcsh(1)、pfksh(1)、pfksh93(1)、pfbash(1)、pftcsh(1)、pfzsh(1)、pfexec(1))のいずれかのシェルが最初に起動されると設定され、子プロセスに継承されます。 この機能を利用すると、pfexecまたはプロファイル・シェルを起動するためにアプリケーションでシェル・スクリプトを変更する必要がなくなります。 またこの機能は、rootへのsetuidを使用してプログラムに付与される一連の権限を制限することにも適用できます。 従来、setuidメカニズムを必要とするプロセスは、すべての権限が付与された状態で実行されていました。 Forced Privileges権限プロファイルのエントリに指定された権限のみが付与された状態でプロセスが実行されるようになったため、システムへの攻撃を媒介する可能性を大幅に低減しています。

ファイル・アクセス権限

Oracle Solaris 11では、Oracle Solaris 10に存在する5つの権限の他に、3つの新しい"基本的"な権限(file_readfile_write、およびnet_access)が追加されています。これらの新しい権限は、読取りアクセス、書込みアクセス、およびアウトバウンド・ネットワーク・アクセスの制限において、いくつかのアプリケーション開発ニーズを満たしています。

Oracle Solaris 11のRBAC委任機能は、競合システムで提供されている機能よりもさらに徹底したものとなっています。 ユーザーは現在持っている権限のみを委任できるというのが、ポリシーです。 このポリシーは、ロール、グループ、およびプロファイルのメンバーシップに加えて、個々の認可や権限にも適用されます。 ユーザー管理ツールとパスワード管理ツールで委任を認可できるため、真の職務の分離を容易に実現できます。

新しいStopプロファイルは、ユーザー・アカウントのサンドボックス化、デフォルト・プロファイルの制限、および認可が可能です。

Service Management Facility(SMF)

Oracle Solaris 11のService Management Facility(SMF)では、アプリケーションの保護に役立つ機能がいくつか追加されています。

  • サービス状態の移行と障害管理トラップをSNMPトラップまたは電子メール・メッセージで管理者に通知する機能が導入されています。
  • SMFを使用すると、起動時にアプリケーション・プロセスを権限に割り当てて、起動後に権限を解除することができます。 これにより、アプリケーションをrootとして起動する際に伴うリスクに対して、セキュリティを強化できます。
  • SMFでは、ホスト/サービス・ベースのファイアウォールを構成および配置するipfilter機能が統合されます。 SMFでは、ipfilter構成の設定プロパティをサポートします。また、事前移入された構成を使用してカスタム・ポリシーを配置することも可能です。

Kerberosサービス

Oracle Solaris 11では、Kerberosサービスに対して次のような改良がいくつか導入されます。

  • DNSとOracle Solarisのプラガブル認証モジュール(PAM)による構成不要のKerberosクライアント、およびMicrosoft Active Directoryの連携。これにより、Windowsクライアントとの相互運用性が向上するとともに、UnixユーザーおよびグループをActive Directoryエンティティに適切にマッピングできるようになります。
  • PKINITのサポート。これにより、公開鍵暗号化を使用してユーザーが初期認証を実行できるようになります。

Oracle Solaris 11 Image Packaging System(IPS)

Oracle Solaris 11のImage Packaging System(IPS)では、署名付きIPSパッケージの概念が導入されています。これにより、パッケージの署名作成、パッケージの署名の検証、および署名属性と証明書属性の妥当性に関してどのチェックを実行する必要があるかを判別する、署名ポリシーの設定が可能になっています。

ネットワークと通信のセキュリティ

Oracle Solaris 11は、外部からのネットワーク攻撃を最小限に抑えるように設計された、"デフォルトでセキュアな"(Secure by Default)環境構成で提供されます。 デフォルトでは、ネットワーク・トラフィックを許可するsshd以外のネットワーク・サービスは有効化されません。 他の有効化されたネットワーク・サービスは、Oracle Solaris 11インスタンス内でリクエストを内部的にリスニングします。 そのため、すべてのネットワーク・サービスはデフォルトで無効になっているか、ローカルのシステム通信のみリスニングするように設定されています。

Oracle Solaris 11のゾーン・テクノロジーでは、Exclusive IP StacksおよびNetwork Virtualizationと呼ばれる機能を使用して、1つのゾーンに対して1つ以上の仮想化された専用ネットワーク・スタックを作成する機能が追加されています。 これらの機能を利用すると、ネットワーク管理者はゾーン単位できめ細かなネットワーク・セキュリティ・ポリシーを作成できます。 以下に構成例を示します。

  • ゾーン固有のIPルーティング、DHCPv4、およびIPv6ステートレス・アドレス構成
  • IPフィルタ構成とNAT構成
  • MAC、DHCP、およびIPのアンチ・スプーフィング機能
  • IPSECセキュリティ・アソシエーション向けの認証鍵データのプロビジョニングを自動化するIPSECとIKE

また、Oracle Solaris 11のゾーン管理機能は、委任ゾーン管理を容易に実行できるように拡張されており、各ゾーンの管理者として機能するユーザーとロールを指定できるようになっています。

  • この委任により、大域ゾーンから非大域ゾーンへのアクセスを制限できます。 ユーザーやロールに対する個別の認可が、ゾーンごとに指定できるようになりました。
  • 委任ゾーン管理では、ゾーンのログイン、クローニング、および管理を制限する、ユーザーごとの認可とゾーンごとの認可もサポートされています。

高パフォーマンスの暗号化サービス

より厳格な政府標準に対応するため、Oracle Solarisの暗号化フレームワークにNSA Suite Bアルゴリズムのサポートが追加されました。

  • IPSECとZFSの暗号化でも、CCM/GCMモードでAESを使用できるようになりました。
  • IKEでは、RSAとDSAに加えて、楕円曲線暗号(ECC)を使用して鍵を交換できるようになりました。

Oracle Solarisの暗号化フレームワークでは、Oracle Tシリーズ・プロセッサ、Intel Westmere(AES-NI)、およびPKCS#11ベースのサード・パーティのハードウェア・セキュリティ・モジュール(HSM)で提供されている、ハードウェア支援型の暗号化アクセラレーションをフルに活用できます。

  • JavaアプリケーションとJava以外のアプリケーションの両方で、Java PKCS#11プロバイダを使って、コンピュート・インテンシブな公開鍵暗号化、バルク暗号化、およびダイジェスト処理に関与するSSL/TLSタスクとWS-Securityタスクをハードウェアに委任できます。
  • Oracle Solarisの暗号化フレームワークは、データベース暗号化処理(AES CFBモード)をデータベース・サーバー内のOracle Tシリーズ・プロセッサまたはIntel Westmere(AES-NI)プロセッサに委任するのをサポートするメカニズムを提供します。 このハードウェア支援型の暗号化を使用すると、Transparent Data Encryption(TDE)を使用した列レベルと表領域の暗号化でOracle Databaseのパフォーマンスを向上できます。

Oracle Solaris 11にバンドルされているOpenSSLには、OpenSSLの動的エンジンのサポートを可能にする新機能が追加されており、サード・パーティ・ベンダーがベンダー自社のエンジン実装にプラグインできるようになっています。 FIPSオブジェクト・モジュールのサポートも追加されており、FIPS-140-2で検証済みのOpenSSLエンジンをFIPSモードで使用することが可能です。

  • Oracle SolarisのOpenSSL pkcs11エンジンは、Oracle Tシリーズ・プロセッサとIntel Westmere(AES-NI)プロセッサで提供されているハードウェア支援型の暗号化アクセラレーション・サポートを自動的に利用します。

バルク暗号化に関連する複雑な鍵管理タスクを支援するため、Oracle Solarisの暗号化フレームワークにはOracle Key Management Systemのプラグイン(pkcs11_kms)が用意されています。 このメカニズムは、PKCS#11対応のアプリケーションで使用できます。

トラステッド・プラットフォーム・モジュール(TPM)のサポート

Oracle Solaris 11では、トラステッド・プラットフォーム・モジュール(TPM)デバイスに関するTrusted Computing Group(TCG)仕様に従って、TPMのサポートが導入されています。 このサポートにより、Oracle Solarisでは、ほとんどのシステムのマザーボードで使用可能なTPMチップを利用して、暗号化処理をサポートする暗号化キーを安全に保管できます。 TPMをPKCS#11キーストアとして使用して、SPARCプラットフォームとx86/x64プラットフォームの両方でアプリケーションレベルの暗号化処理をサポートできます。

保管されているデータの保護

Oracle Solaris 11では、Oracle Solaris ZFSの暗号化サポートが導入されています。これには次のような特徴があります。

  • ZFS暗号化は、SANやローカル・ディスク上で不正アクセス、中間者攻撃、およびデータ盗用を防ぐことで、物理ストレージのデータを保護します。 データおよびファイル・システムのメタデータはすべて、包括的な暗号化鍵管理機能を使って暗号化されます。
  • ZFSデータセット、ボリューム(ZVOLS)、およびファイル・システムを暗号化できます。
  • 鍵暗号化鍵(ラッピング・キー)のロード機能や変更機能をユーザーにいつでも委任できます。 ユーザーは、ラッピング・キーをファイル、パスフレーズ、またはPKCS#11キーストア(Oracle Key Managerによる一元的な鍵管理をサポート)、つまりHTTPS URL上のいずれに保管するかを選択できます。
  • ZFS暗号化では、Oracle Solarisの暗号化フレームワークが使用されており、Oracle Tシリーズ・プロセッサとIntel Westmere(AES-NI)プロセッサで提供されているハードウェア支援型の暗号化アクセラレーションのメリットが自動的に得られます。
  • ZFS暗号化では、鍵の破棄による確実な削除もサポートされています。

また、強制書込みアクセスのレイヤーを追加して、ゾーン内のZFSデータセットを保護することもできます。 これを構成するには、ゾーンの構成にfile-mac-profileオプションを使用して、事前定義されたプロファイルのいずれかを選択します。

LOFI管理ユーティリティ(lofiadm)を使用して、ファイルをブロック・デバイスとして表示し、ファイルに書き込まれたすべてのブロックを暗号化できます。

Trusted Extensionsによるマルチレベルのセキュリティ

Oracle Solaris 10では、マルチレベルのセキュリティ環境を実現する特別な構成としてTrusted Extensionsが導入されています。 Trusted Extensionsは、強制アクセス制御(MAC)によってラベルとして適用されます。 Oracle Solaris 11のリリースでは、次のようなTrusted Extensionsの機能が改良されています。

  • Trusted Extensionsでは、そのデスクトップおよびウィンドウ・システムとしてGNOMEとXorg X11が使用されています。 GNOME Display Managerでは、マルチレベルのデスクトップ・セッションにアクセスできます。 XACE拡張を使用してTrusted Extensionsのセキュリティ・ポリシーを実装すると、オラクル製品と上流のXorg X11コミュニティとの間の同期を維持できます。 また、すべてのユーザー・アクティビティが、権限プロファイルに指定されているポリシーの対象となります。
  • Trusted Extensionsを使用して、ラベル単位やユーザー単位の資格証明を使用できるようになりました。 この機能を利用すると、管理者はラベルごとに一意のパスワードを要求できます。 また、このパスワードはセッションのログイン・パスワードであるため、管理者はゾーンごとの暗号化鍵を各ユーザーのホーム・ディレクトリにラベル単位で設定できます。
  • Trusted Extensionsの拡張により、ZFSデータセットにセキュリティ・ラベルを明示的に設定できるようになりました。 Trusted Extensionsのラベル付けが設定されている場合、新しいmlslabel機能によってZFSファイル・システムに自動的にラベルが付与されます。 この機能によって、特定のセキュリティ・ラベルの付いたZFSファイル・システムがラベルの異なるゾーンにマウントされることが防止されるため、不注意でデータがアップグレードまたはダウングレードされることがなくなります。
  • Trusted Extensions環境では、個別のラベル付きIPSECのセキュリティ・アソシエーション内でデータを転送することで、ラベル付きIPSEC/IKEをサポートしてラベル付きの通信を実現できるようになりました。 そのため、高コストの過剰な物理ネットワーク・インフラストラクチャが必要なくなり、マルチレベルのセキュリティ環境でラベル付けされたプロセスが、ラベル付けされ保護されたトラフィックを使用してシステム境界を越えて通信できるようになっています。

まとめ

Oracle Solaris 11のリリースにより、オラクルでは、一連の新しいセキュリティ機能と改良を強化することで、セキュリティへの取組みを強固にしています。 これらの新しいセキュリティ機能と改良により、ユーザーは、新たなセキュリティ脅威に適応するとともに、進化するセキュリティ標準に対応することが可能な、セキュアなアプリケーションを構築および配置することが可能です。

リビジョン1.1、19.09.11