AppArmor是否会降低系统性能?


8

AppArmor是否会降低系统性能?我有一个慢速的系统(900 MHz CPU),它带有AppArmor,因为它是默认安装的,所以我想知道如果我删除它会变得更快,那么安全性就不如该系统上的性能重要。


可能不及某些被劫持的进程运行的等效进程rm -rf --no-preserve-root /
Jackweirdy 2013年

但是,这样的过程如何进入例如没有互联网访问权限的嵌入式系统呢?为何我会以特权用户身份运行未知的可执行文件?
Petr

我的例子有些夸张,尽管原则上是合理的。没有互联网接入是另一回事,但是考虑大多数现代无线路由器,管理型交换机和SCADA系统-大多数运行用于报告和/或配置的Web界面。有些甚至允许经过身份验证的用户修改配置文件或运行命令。想象一下,如果在这样的界面中发现一个弱点,该弱点使未经身份验证的用户可以运行命令(可能是root用户,因为嵌入式设备通常只有一个用户)。您需要某种机制来确保不删除关键内容(例如/ bin)。
jackweirdy 2013年

如果您正在考虑将Apparmor用于功率非常低的设备而完全没有网络访问权限,那么没有它也可以。如果可以访问网络,则将其视为可以访问互联网。
jackweirdy 2013年

Answers:


2

当然,它会减慢您的系统速度。在何种程度上取决于您的应用程序做什么。文件系统访问速度较慢(因为必须检查它们),并且可以配置所有其他内容。但是,如果某个进程没有打开文件或套接字等,那么它(在初始化之后)根本不会受到影响。

我只是简短浏览了我最喜欢的搜索引擎(您为什么不这样做?),结果是在大多数情况下影响并不重要。


我自己用谷歌搜索,我发现一堆链接说它不会影响它,而一堆链接则相反。到目前为止
Petr

顺便说一句,当我现在谷歌搜索时,它基本上只是链接到这个问题,不知道你发现了什么,但是我找不到任何明确的答案
Petr 2013年

@Petr当然,这不是一个独立的度量标准,但是Novell文档说:“性能不会受到AppArmor的明显影响。” novell.com/documentation/opensuse103/opensuse103_reference/...
Hauke Laging

好的,那么是否值得禁用?
彼得

由于性能原因,禁用AppArmor似乎没有意义。
Hauke Laging

1

除非另有说明,否则可能假定“没有明显的影响”,假定使用1.8 GHz + CPU和约512MB或更多的内存。我的一台机器是800MHz,512MB内存。每个过程的效果都很明显。只有您可以判断是否值得。


1

它取决于您的程序执行的操作:它多长时间访问一次文件,它多长时间生成一次新程序,多长时间运行一次,...使用[LSM] 1构建AppArmor。接口,它检查每个系统调用。AppArmor可能具有访问缓存,以加快对同一进程的重复文件访问或对已打开文件的后续请求的速度,但最明显的开销是在初始化期间(必须加载程序的配置文件,并且必须进行某些上下文初始化) )。如果您想对最坏的情况做出某种不切实际的判断,以下是在研究其他基于LSM的其他框架(CMCAP-Linux)时将AppArmor与DAC(传统许可模型)进行比较的图表。该系统是在Intel Core2 Duo E8400上启动的Linux 4.4.6,该处理器运行于3GHz且具有8GB RAM。微观基准测试由10次平均测试(紧密循环)组成,其中1次用于打开+关闭测试,一千万次操作,另外1万次针对其他2次。 系统调用开销:DAC与CMCAP-Linux与AppArmor

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.