このセクションでは、このリリースの新しいセキュリティーおよびコンプライアンス機能について説明します。これらの新機能は、マルウェアに対する保護によって新しい脅威を回避し、もっとも厳しいコンプライアンスの義務を果たすことができます。
サンドボックスは、セキュリティーとリソースの分離の要件を指定するために使用できる、一意の名前が付けられたプロセス属性のセットです。Oracle Solaris 11.4 では、信頼できないプロセスを一時的なサンドボックス内で実行できます。永続的な階層構造のサンドボックスは、sandboxadm コマンドを使用して作成できます。一時的なサンドボックスと永続的なサンドボックスの両方を入力するには、sandbox コマンドを使用します。
サンドボックスは、特権アプリケーションと非特権アプリケーションの両方を制約するのに適しています。SPARC の Silicon Secured Memory を利用する拡張されたエクスプロイト軽減制御によって、重要なアプリケーションおよびシステムカーネルが自動的に保護されます。
詳細は、Oracle Solaris 11.4 でのユーザーとプロセスのセキュリティー保護 の プロジェクトの分離のためのサンドボックスの構成と、sandboxing(7)、sandbox(1)、および sandboxadm(8) の各マニュアルページを参照してください。
この Oracle Solaris リリースでは、コンプライアンスレポートをリモートで実行および保存したり、メタデータに基づいてレポートをフィルタリングしたりする機能がサポートされています。
コンプライアンスレポートを中央のシステムから実行および管理し、共通のサーバー上に保存できます。Oracle Solaris 11.4 Compliance Guide の 第 2 章, Centrally Managing Compliance Assessments、および compliance-roster(8) のマニュアルページを参照してください。
識別およびフィルタリング用にコンプライアンス評価をタグ付けできます。Oracle Solaris 11.4 Compliance Guide の Using Metadata to Manage Assessments、および compliance(8) のマニュアルページの照合パラメーターのセクションを参照してください。
Oracle Solaris の compliance コマンドの標準ベンチマークには、Oracle Solaris Cluster 用のチェックが含まれています。Oracle Solaris Cluster のチェックは、システムに Oracle Solaris Cluster がインストールされ構成されている場合にのみ実行されます。
ベンチマーク、プロファイル、compliance コマンド、および Oracle Solaris Cluster のコンプライアンスチェックについては、次のドキュメントを参照してください。
compliance(8) のマニュアルページ
Oracle Solaris 11.4 Compliance Guide の What’s New in Compliance in Oracle Solaris 11.4
Oracle Solaris Cluster 4.4 セキュリティーガイドライン
Oracle Solaris 11.4 のファイル単位の監査では、特定のファイルおよびディレクトリのきめ細かい常時監査を行います。この機能により、システム管理者やセキュリティー管理者は指定したファイルを監査の対象にすることができます。指定したファイルにはいくつかの方法でアクセスでき、監査データの収集や分析がこれまでよりもはるかに容易になります。
たとえば、次のように設定できます。
# chmod A+everyone@:write_data/read_data:successful_access/failed_access:audit /data/db1
この監査 ACE は、システム上のユーザーによって /data/db1 ファイルへのアクセスが成功した場合も拒否された場合も読み取りまたは書き込み用の監査レコードが生成されることを保証します。メタデータの変更用の監査 ACE を追加することもできます。
詳細は、Managing Auditing in Oracle Solaris 11.4 の What’s New in the Audit Service in Oracle Solaris 11.4を参照してください。
Oracle Solaris 11.4 では、この新機能によってカーネルモジュールの署名検証の結果を示す監査レコードを生成できます。この機能では、Oracle Solaris 11.4 のブート時にベリファイドブートの boot_policy 値をチェックし、その値を AUE_SYSTEMBOOT イベントの監査レコードに出力します。ベリファイドブートが有効になっていて、boot_policy プロパティーの値が warning または enforce の場合は、モジュールがロードされるときに elfsign 署名検証が失敗すると、Oracle Solaris の監査により、AUE_MODLOAD 監査イベントが生成されます。ベリファイドブートが有効になっていると、無効な署名またはシステムにロードされていない署名を持つカーネルモジュールのイベントを追跡できます。
詳細は、Managing Auditing in Oracle Solaris 11.4 の New Feature – Auditing Verified Bootを参照してください。
Oracle Solaris 11.4 に導入された admhist ユーティリティーを使用すると、システムで実行されていたシステム管理関連イベントのサマリーをわかりやすい有用なフォーマットで提供できます。admhist ユーティリティーは、より詳細なログ分析を提供するために praudit および auditreduce ユーティリティーを有効にする監査データを活用します。
各種オプションを使用して、分析結果を次のようにユーザー、日付、時間、またはイベントタイプで絞り込むことができます。たとえば、過去 24 時間以内の特定のユーザー ID による特権コマンドの実行を確認できます。
# admhist -v -a "last 24 hours" 2017-05-09 10:58:55 user1@example.com cwd=/export/home/user1 /usr/sbin/zfs get quota rpool/export/home/user1 2017-05-09 10:59:16 user1@example.com cwd=/export/home/user1 /usr/sbin/zfs set quota 40g 2017-05-09 10:59:27 user1@example.com cwd=/export/home/user1 /usr/sbin/zfs get quota rpool/export/home/user1 2017-05-09 10:59:31 user1@example.com cwd=/export/home/user1 /usr/bin/bash 2017-05-09 10:59:31 user1@example.com cwd=/ /usr/bin/su
この出力は、user1 ユーザーが root ユーザーに変わり、その割り当て量が増えたことを示しています。プロセスの有効期間を通じて使用される特権はコマンドの終了時に検査され、su 操作が出力の最後に表示されるのはこのためです。
詳細は、admhist(8) のマニュアルページ、Managing Auditing in Oracle Solaris 11.4 の New Feature – Per-Privilege Logging of Audit Events、およびOracle Solaris 12 Analytics の使用を参照してください。
Oracle Solaris 11.4 は、Key Management Interoperability Protocol (KMIP) バージョン 1.1 を使用するためのクライアントサポートを提供します。Oracle Solaris 暗号化フレームワークの新しい PKCS#11 プロバイダ pkcs11_kmip により、PKCS#11 アプリケーションは KMIP クライアントとして機能して、KMIP 準拠のサーバーと通信できるようになります。
Oracle Solaris 11.4 には、pkcs11_kmip プロバイダの状態を初期化および管理する新しい kmipcfg コマンドも含まれています。
詳細は、Managing Encryption and Certificates in Oracle Solaris 11.4 の 第 5 章, KMIP and PKCS #11 Client Applicationsと、pkcs11_kmip(7) および kmipcfg(8) の各マニュアルページを参照してください。
Oracle Solaris 11.4 のファイルおよびプロセスのラベル付けは、機密情報へのアクセスを制限するためのフレームワークを提供します。ファイルおよびディレクトリにラベル付けをすることで、十分な clearance を持つユーザーや役割にアクセスを提供できるようになりました。clearance ポリシーはすべての特権を持つプロセスにも適用されます。Oracle Solaris 11.4 では、ラベル付けされたファイルにアクセスするたびにログを生成します。このログは、PCI-DSS や HIPAA といったコンプライアンス基準を満たすために使用できます。
詳細は、Oracle Solaris 12 でのファイルのセキュリティー保護とファイル整合性の検証 の ラベルと認可上限、および clearance(7) のマニュアルページを参照してください。
Silicon Secured Memory (SSM) によってメモリー内のデータへのアクセスのリアルタイムチェックが追加されることで、本番環境での不正アクセスや欠陥のあるプログラムコードを防御してセキュリティーや信頼性を高めることができます。
SSM は、デフォルトのシステムメモリーアロケータを介して、カーネルゾーンの内側で使用できます。Oracle Solaris カーネルゾーンでの Silicon Secured Memory のサポートを参照してください。
システムのデフォルトアロケータ (libc malloc) は Application Data Integrity (ADI) 対応になりました。sxadm コマンドでタグ付けされたバイナリは自動的に保護の対象になります。sxadm(8) のマニュアルページのセキュリティー拡張セクションに記載されている ADIHEAP および ADISTACK の保護機能を参照してください。
SSM アプリケーションプログラミングインタフェースは、高度なカスタマイズに使用できます。Oracle Solaris 11.4 でのシステムおよび接続されたデバイスのセキュリティー保護 の セキュリティー拡張を使用した、マルウェアに対する保護、および adi(2) のマニュアルページを参照してください。
Oracle Solaris 11.4 には、TCP/IP トラフィックをフィルタリングするための OpenBSD パケットフィルタ (PF) ファイアウォールが含まれています。PF ファイアウォールは Oracle Solaris 11.4 の IP フィルタ (IPF) の代替機能であり、帯域幅の管理およびパケットの優先度付けの両方が可能になります。PF ファイアウォールを使用するには、pkg:/network/firewall パッケージをインストールして、svc:/network/firewall:default サービスインスタンスを有効にします。
PF には pflogd 機能 (PF ファイアウォールによって記録されたパケットを安全に保存するパケットロギングデーモン) が含まれています。これらのパケットは取得用データリンクから入手できます。デーモンは、このデータリンクからパケットを読み取ってファイルに保存します。詳細は、pflogd(8) のマニュアルページを参照してください。
PF は、FTP の半透過型プロキシである ftp-proxy (IPv4 NAT に対応) をサポートしています。NAT に対して PF ファイアウォールが動作しているシステムでは、ftp-proxy を使用して、FTP 接続がファイアウォールを通過できるようにすることが可能です。詳細は、ftp-proxy(8) のマニュアルページを参照してください。
詳細は、Securing the Network in Oracle Solaris 11.4 の 第 4 章, Oracle Solaris Firewallと、pfctl(8)、pf.conf(7)、および pf.os(7) の各マニュアルページを参照してください。
Oracle Solaris 11.4 では Kerberos の更新版が提供されており、この中には最新バージョンの MIT Kerberos が提供している改善および Oracle Solaris 向けの機能拡張が含まれています。Kerberos ではネットワーク認証を提供しており、アプリケーションでの使用法に応じて、オプションでメッセージの整合性と機密性も提供します。
詳細は、Managing Kerberos in Oracle Solaris 11.4 の 第 1 章, Kerberos on Oracle Solaris、および kerberos.7 のマニュアルページを参照してください。
簡易認証セキュリティー層 (SASL) フレームワークは、ネットワークプロトコル用の認証サービスとセキュリティーサービス (オプション) を提供します。Oracle Solaris 11.4 では、オープンソースの Cyrus SASL バージョン 2.1.26 にいくつかの変更を加えたものをベースとして SASL の実装を行います。
SASL プラグインは /usr/lib/sasl2 ディレクトリに入っており、SASL 構成ファイルのデフォルトの場所は /etc/sasl2 ディレクトリです。Oracle Solaris 11.4 では、ベースとする SASL のバージョンをオープンソースとすることで、最新の SASL 機能 (セキュリティー更新を含む) を提供できます。
詳細は、Managing Authentication in Oracle Solaris 11.4 の 第 2 章, Using Simple Authentication and Security Layerを参照してください。
この Oracle Solaris リリースでは、/etc ディレクトリ内の個々のファイルを編集してシステムポリシーを作成する選択肢を提供します。account-policy サービス管理機能 (SMF) サービスは、login、su、シェル変数、ロギング、セキュリティーポリシー (policy.conf)、および RBAC 設定を SMF のプロパティーとして保存します。このサービスが有効になっているときは、このサービスからシステムポリシーの設定や取得を行います。/etc ファイルには有効になっているポリシーが示されない場合があるので注意してください。詳細は、account-policy(8S) のマニュアルページおよびOracle Solaris 11.4 でのユーザーとプロセスのセキュリティー保護 の SMF プロパティーとしてのシステム全体での権利の変更を参照してください。
Oracle Solaris 暗号化フレームワークは、PKCS #11 v2.20 から PKCS #11 v2.40 に更新されました。この更新には、PKCS #11 v2.40 の最新のメカニズム (PKCS #11 v2.30 のメカニズムを含む) のいくつかが含まれています。PKCS #11 v2.40 には新しいエラーコードや新しい値も導入されています。次の新しいメカニズムが追加されました。
AES での署名および検証
CKM_AES_XCBC_MAC CKM_AES_XCBC_MAC_96 CKM_AES_CMAC CKM_AES_GMAC
AES での暗号化および復号化
CKM_AES_GCM CKM_AES_CCM CKM_AES_CFB128
SHA-512/t のメッセージダイジェスト
CKM_SHA512_224 CKM_SHA512_256 CKM_SHA512_T
HMAC を使用する SHA-512/t の一般的な長さ
CKM_SHA512_224_HMAC_GENERAL CKM_SHA512_256_HMAC_GENERAL CKM_SHA512_T_HMAC_GENERAL CKM_SHA512_224_HMAC CKM_SHA512_256_HMAC CKM_SHA512_T_HMAC
SHA-512/t の鍵派生
CKM_SHA512_224_KEY_DERIVATION CKM_SHA512_256_KEY_DERIVATION CKM_SHA512_T_KEY_DERIVATION
TLS 1.2
CKM_TLS12_MASTER_KEY_DERIVE CKM_TLS12_MASTER_KEY_DERIVE_DH CKM_TLS12_KEY_AND_MAC_DERIVE CKM_TLS12_KEY_SAFE_DERIVE CKM_TLS_KDF - replacing CKM_TLS_PRF CKM_TLS_MAC - replacing CKM_TLS_PRF
楕円曲線用のエラーコード CKR_CURVE_NOT_SUPPORTED
特定の楕円曲線がサポートされていない場合は、エラーコード CKR_CURVE_NOT_SUPPORTED が返されます。以前のバージョンでは、その曲線がサポートされていない場合は CKR_TEMPLATE_INCONSISTENT が返されていました。
CK_UNAVAILABLE_INFORMATION
C_GetAttributeValue() が呼び出されたときに、それが無効または使用不可であるために属性を返せない場合は、ulValueLen が CK_UNAVAILABLE_INFORMATION に設定されます。呼び出し側では、ulValueLen を CK_UNAVAILABLE_INFORMATION と比較して、返された属性値が無効または使用不可であるかどうかを確認する必要があります。さらに、呼び出し側では ulValueLen = 0 を有効な値として扱う必要もあります。
CKA_DESTROYABLE 属性と CKR_ACTION_PROHIBITED 属性
オブジェクトに CKA_DESTROYABLE = CK_FALSE が含まれている場合は、この特定オブジェクトの C_DestroyObject 要求によって CKR_ACTION_PROHIBITED がエラーコードとして返されるべきです。
CKU_SO に関する制約の解除
この変更により、CKU_SO のログイン中に R/O を開いておくことに対する制約が解除されます。R/O セッションと CKU_SO の共存が可能になりますが、それらのセッションは CKS_RO_PUBLIC_SESSION のように動作します。R/O セッションを CKU_SO による C_Login に使用することはできません。
CKR_SESSION_READ_ONLY_EXISTS と CKR_SESSION_READ_WRITE_SO_EXISTS は非推奨です。
詳細は、SUNW_C_GetMechSession(3EXT)、SUNW_C_KeyToObject(3EXT)、libpkcs11(3LIB)、pkcs11_softtoken(7)、pkcs11_kms(7)、および pkcs11_tpm(7) の各マニュアルページを参照してください。