Show Table of Contents
4.14. ptrace() の無効化
ptrace() システムコールを使うと、あるプロセスが別のプロセスの実行を監視および制御できるようになり、メモリーとレジスタの変更を可能にします。このコールは主に開発者がデバッグする際に使用します。たとえば、strace の使用時などです。ptrace() が必要ない時は、これを無効にしてシステムセキュリティーを高めることができます。これを行うには deny_ptrace ブール値を有効にして全プロセスが他のプロセスで ptrace() を使用することを拒否します。これは unconfined_t ドメインで実行中のものにも適用されます。
deny_ptrace ブール値はデフォルトでは無効になっています。これを有効にするには、root ユーザーで setsebool -P deny_ptrace on コマンドを実行します。
~]#setsebool -P deny_ptrace on
ブール値が有効になったかどうかを確認するには、以下のコマンドを使用します。
~]$getsebool deny_ptracedeny_ptrace --> on
このブール値を無効にするには、root で
setsebool -P deny_ptrace off コマンドを実行します。
~]#setsebool -P deny_ptrace off
注記
setsebool -P コマンドは、変更を永続的なものにします。再起動後に変更を維持したくない場合は、-P オプションを使用しないでください。
ブール値が影響するのは、Red Hat Enterprise Linux の一部となっているパッケージのみです。このため、サードパーティーのパッケージはその後も
ptrace() システムコールを使用できます。ptrace() の使用が可能なドメインを一覧表示するには、以下のコマンドを実行します。setools-console パッケージが sesearch ユーティリティーを提供しますが、このパッケージはデフォルトではインストールされないことに注意してください。
~]#sesearch -A -p ptrace,sys_ptrace -C | grep -v deny_ptrace | cut -d ' ' -f 5

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.