32 ビットの実行可能スタックのセキュリティーリスクに関する説明については、悪影響からのプロセスヒープと実行可能スタックの保護を参照してください。
始める前に
root 役割になる必要があります。詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。
–p オプションは解析可能な出力を提供します。例:
$ sxadm info EXTENSION STATUS CONFIGURATION aslr enabled (tagged-files) default (default) nxstack enabled (all) enabled (default) nxheap disabled disabled $ sxadm info -p aslr:enabled.tagged-files:enabled.default nxstack:enabled.all:enabled.all nxheap:disabled:disabled
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 ファイルに格納されます。
# 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 の互換性を参照してください。