是否有一个 Linux MAC 可以SIGSTOP
对策略违规进行处理(或者不从所涉及的系统调用返回控制权),以便我可以使用更新的策略来恢复它以重试系统调用?如果运行交互式不受信任的软件需要花费大量时间来更改其状态并表现出新的行为,这将非常方便。还可以用于剖析正在运行的进程状态(例如使用 gdb)来定位需要修复或报告的错误/恶意代码。
答案1
否 - selinux 只会在违反策略的情况下阻止操作。如果您真的非常想要这种行为,您可以使用 selinux 日志,解析出 PID,并向每个进程发送 SIGSTOP。但是,该进程已经收到来自 selinux 的拒绝,因此恢复该进程不会重试系统调用。此外,如果这种行为是标准的,它将使服务器面临许多 DoS 攻击(想象一下如果客户端可能欺骗httpd
执行良性策略违规会发生什么)
答案2
智代 Linuxkillall
可以通过在违反策略时执行命令(例如 )来实现这一点。
你也可以使用tomoyo-queryd
实时监控策略违规情况(并实时决定允许/拒绝)