Yamaセキュリティモジュールはユーザーがptraceシステムコールを実行するのを防ぐことができるはずですが、kernel.yama.ptrace_scopeが3に設定されていても、ユーザーはまだstrace(ptraceを使用)を実行できます。
ドキュメントから:
3 - no attach: no processes may use ptrace with PTRACE_ATTACH nor via
PTRACE_TRACEME. Once set, this sysctl value cannot be changed.
Yamaモジュールがロードされているようです。
/var/log/dmesg:[ 0.000127] Yama: becoming mindful.
これはRHEL7にあり、SELinuxもインストールされていますが、これに関連する可能性があります。 LSMはスタック可能でなければなりませんが、dmesgで上記のメッセージを見ると有効になっているようです。ちなみに3に設定すると、sysctlの値は変更できません。これがYamaモジュールが有効になっていることを意味するかどうかはわかりません。
興味深いことに、Ubuntu(Apparmorを除く)で値を3に設定すると、ptraceは実行されません。 strace -p(root)を実行すると、権限拒否エラーが発生します。
ヤマが他のいくつかの脆弱性を軽減すると予想されるので心配です。
レースで動作することを確認するためにSELinuxなしで再起動する必要があると思いました。いったんそうすれば更新します。
Yamaはもう使用されていませんか(この動作を処理するSELinuxブールがあります。deny_ptrace
)?私が見つけることができる文書はほとんどありません。
修正する:(SElinuxがロードされていない場合でもyamaは何もしません)
Oct 2 12:30:00 xx kernel: Command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.11.6.el7.x86_64 root=/dev/mapper/rpool-root ro crashkernel=auto rd.lvm.lv=rpool/root rd.lvm.lv=rpool/swap rhgb ipv6.disable=1 biosdevname=0 net.ifnames=0 quiet audit=1 fips=1 boot=/dev/sda1 audit=1 CONFIG_SECURITY_YAMA=y selinux=0
Oct 2 12:30:00 xx kernel: Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.11.6.el7.x86_64 root=/dev/mapper/rpool-root ro crashkernel=auto rd.lvm.lv=rpool/root rd.lvm.lv=rpool/swap rhgb ipv6.disable=1 biosdevname=0 net.ifnames=0 quiet audit=1 fips=1 boot=/dev/sda1 audit=1 CONFIG_SECURITY_YAMA=y selinux=0
Oct 2 12:30:00 xx kernel: SELinux: Disabled at boot.
Oct 2 12:30:00 xx kernel: EVM: security.selinux
Oct 2 12:30:00 xx systemd[1]: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
Oct 2 12:30:03 xx systemd: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
Yamaはまだptraceを拒否しません。
xx:root@~ #strace -p 2195
strace: Process 2195 attached
restart_syscall(<... resuming interrupted poll ...>strace: Process 2195 detached
<detached ...>
xx:root@~ #sysctl -a -r yama
kernel.yama.ptrace_scope = 3