首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NIST 800-53 rev 4- CM-7(2)在Linux上的实现

NIST 800-53 rev 4- CM-7(2)在Linux上的实现
EN

Security用户
提问于 2017-11-21 18:56:40
回答 1查看 988关注 0票数 2

NIST 800-53 rev 4 CM-7(2)指出:

(2)防止程序执行的功能最少的信息系统采用自动化机制来防止程序按照选择(一个或多个):授权的软件程序;未经授权的软件程序;授权软件程序使用条款和条件的规则执行。

Linux中存在哪些自动机制来阻止特定程序(S)的执行?我理解Linux权限可以在较高级别上用于限制所有程序的执行,但这不是白名单/黑名单实现。我还意识到,可以使用SELinux的严格策略实现来满足白名单,方法是要求为每个已批准的应用程序定义策略。还有比SELinux严格策略(这是在严格策略配置中实现的相当大的努力)更简单的其他选项吗?

EN

回答 1

Security用户

发布于 2017-11-22 02:22:56

有几种方法可以防止在Linux上执行。但是,重要的是要记住,这些只适用于二进制可执行文件(如ELF)。不能以同样的方式阻止脚本或任何其他解释文件。例如,不实际执行bash脚本,它只是由/bin/bash读取,并对其进行解析。类似于python的情况也是如此,其中/usr/bin/python读取和解释python文件。阻止脚本的执行将阻止一个脚本执行./file.sh,但是除非bash可执行文件本身被阻塞,否则您仍然能够执行/bin/bash file.sh。因此,任何充当口译员的程序都可以绕过这些保护。

阻止执行的几种方法:

  • 设置noexec挂载标志将阻止在整个分区上执行。
  • 可以通过删除文件上的可执行标志,在黑名单的基础上使用DAC。
  • AppArmor和许多其他MACs可以用来白名单单个文件以供执行。

注意,默认情况下,AppArmor只适用于您为其创建策略的程序。有一些方法可以使用全局配置文件,因此每个程序都需要白名单,但它没有得到官方的支持。

看起来你想要的是一个MAC,只是比SELinux简单一点。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/174026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档