Go to main content

Oracle® Solaris 11.4 でのシステムおよび接続されたデバイスのセキュリティー保護

印刷ビューの終了

更新: 2018 年 8 月
 
 

nxstack および noexec_user_stack の互換性

    noexec_user_stack および noexec_user_stack_log システム変数は非推奨です。ただし、変数が /etc/system ファイルに残っている場合、実行可能スタックの保護は次のことを強制することで実行されます。

  • noexec_user_stack1 に設定されている場合、nxstack の値はすべてのプロセスで有効なままになります。

  • noexec_user_stack0 に設定されている場合、nxstack の値は tagged-files になります。

  • noexec_user_stack_log1 に設定されている場合、エラーメッセージのログファイルは保持されます。

  • noexec_user_stack_log0 に設定されている場合、エラーメッセージのログファイルは保持されません。

プロセススタックおよびプロセスヒープからの悪意のあるコードの実行を防止する方法

32 ビットの実行可能スタックのセキュリティーリスクに関する説明については、悪影響からのプロセスヒープと実行可能スタックの保護を参照してください。

始める前に

root 役割になる必要があります。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Using Your Assigned Administrative Rightsを参照してください。

  1. nxstack および nxheap セキュリティー拡張のステータスを表示します。たとえば、ADI をサポートしている SPARC プラットフォームでは、次のような出力になります。
    $ sxadm info
    EXTENSION           STATUS                        CONFIGURATION
    aslr                enabled (tagged-files)        enabled (default)
    nxstack             enabled (all)                 enabled (default)
    nxheap              enabled (tagged-files)        enabled (default)
    adiheap             enabled (tagged-files)        enabled (default)
    adistack            enabled (tagged-files)        enabled (default)

    解析可能な出力を得るには、–po オプションを付けてパラメータを指定します。

    $ sxadm info -po extension,status,configuration
    aslr:enabled.tagged-files:enabled.default
    nxstack:enabled.all:enabled.default
    nxheap:enabled.tagged-files:enabled.default
    adiheap:enabled.tagged-files:enabled.default
    adistack:enabled.tagged-files:enabled.default
  2. nxheap および nxstack セキュリティー拡張をデフォルトに戻します。

    nxheap または nxstack セキュリティー拡張がデフォルト値以外の値を表示する場合、カスタマイズを削除します。出力例では、次のコマンドを実行します。

    # sxadm delcust nxheap
    # sxadm info
    EXTENSION           STATUS                        CONFIGURATION
    aslr                enabled (tagged-files)        default (default)
    nxstack             enabled (all)                 enabled (default)
    nxheap              enabled (tagged-files)        enabled (default)

    nxheap および nxstack のログは /var/adm/messages ファイルに格納されます。

  3. (オプション) エラーメッセージのロギングを無効にするには、log プロパティーを無効にします。
    # sxadm set log=disable nxheap
    # sxadm set log=disable nxstack
    # sxadm get log
    EXTENSION           PROPERTY                      VALUE
    ...
    nxstack             log                           disable
    nxheap              log                           disable

トラブルシューティング

nxstack 設定が無視される場合、noexec_user_stack および noexec_user_stack_log システム変数を /etc/system ファイルから削除します。次に、nxstack セキュリティー拡張を再度有効にします。

/etc/system ファイルで noexec_user_stack を無効にしても、エントリを削除しない場合、タグが付けられたバイナリは引き続き保護されます。この tagged-files 構成では、スタックが実行可能なときにのみ成功できるバイナリを成功させながら、ほとんどの実行可能スタックを悪意のあるコードから保護できます。詳細は、nxstack および noexec_user_stack の互換性を参照してください。