![你必须知道的事情](https://linux22.com/image/1088347/%E4%BD%A0%E5%BF%85%E9%A1%BB%E7%9F%A5%E9%81%93%E7%9A%84%E4%BA%8B%E6%83%85.png)
误解之后这个问题的意思是,我想知道如果用户没有 root 权限,rootkit 和其他恶意程序是否会有效。
Rootkit 通常会诱骗具有 root 权限的用户向病毒或其他恶意程序授予 root 权限,从而使它们能够做几乎任何事情。如果其中一个程序遇到非 root 用户,它会有效吗?
答案1
你必须知道的事情
Linux 也不能幸免高级恶意软件,如 rootkit 和特洛伊木马,以及零日功绩。
在任何通用 Linux 发行版中,rootkit 都可以使用社会工程学来窃取 root 密码;它还可以使用内存漏洞如果系统不是最新的,以管理员身份执行 shell 脚本,无需用户交互,也没有明显效果。
在 Ubuntu 上,sudo
通常安装在哪里但如果配置不正确,恶意软件只需要当前用户的密码即可执行管理操作并感染系统。
如果你有设置用户标识安装可执行文件并使用解释器(例如,旧版本的Nmap
did),它们可用于绕过账户障碍并执行管理操作。
现代 rootkit将要想尽一切办法获取root权限,加载新的内核模块,以获得完全权限,隐藏其他感染。
如何保护自己
基本预防措施
我列了一个待办事项清单:
- 绝不在多用户系统中向用户提供 root 密码;
- 绝不如果不是绝对必要,请在不受信任的应用程序(从非官方存储库下载)中插入 root 密码;
- 更新你的 Ubuntu 系统至少每个月从官方存储库更新,并且只安装最新的 2 个更新的内核。
- 不要使用不稳定或正在开发的软件。
- 使用
gufw
或其他包装器来配置防火墙并阻止 IN/OUT:TCP 和 IN/OUT:UDP 的未使用端口。 - 配置
passwd
强制最小密码长度,因为恶意软件可以暴力破解弱密码。
之后,安装并使用它tiger
来检查系统中的安全问题。
高级预防措施
这些预防措施将大大提高你的安全性,但它们需要在安装新软件后定期维护,并且对于高级用户:
- 仅用于
SELinux
保护敏感配置文件,sudo
对安全专家来说,其安全性保障有限。在使用它之前,你应该查阅官方参考资料,因为如果配置不正确,它可以限制根访问权限并将你锁定。它是一种非常先进和强大的工具,在生产中使用它之前,请先在虚拟机上进行实验。 - 使用
Apparmor
(默认安装Apparmor 是 Ubuntu 上的一个安全软件,它通过将程序限制在一组特定的目录中来提供保护,并保证即使对非技术用户也能提供良好的保护。要开始使用它,您需要为一些常用程序安装 Apparmor“配置文件”。您可以像这样安装它们:sudo apt install apparmor-profiles apparmor-profiles-extra apparmor-utils
然后通过运行 来启用它们sudo aa-enforce /etc/apparmor.d/*
。 Firejail
是一个易于使用的沙盒,它通过使用多种技术限制不受信任的应用程序的运行环境来降低安全漏洞的风险。您可以使用它来隔离您的 Web 浏览器并获得一些针对内存漏洞的额外保护。
所有这些预防措施都会增加各自影响区域的安全性,但如果硬件老旧,则会降低整个系统的性能。事实上,我们经常在企业服务器中发现它们,以保护重要的(或公共的)网络节点。
谢谢至用户311982感谢您提出的有益建议。
即使 Linux 比其他系统更安全,也并不意味着它没有问题。我的小指南并不详尽,如果您有更多问题,请随时在此处发表评论。
答案2
根据定义,rootkit 不是用于获取 root 权限的工具包,而是用于在获得权限后保留这些权限的工具包。因此,rootkit从最严格的意义上来说没有 root 权限则毫无用处。
当然,在现实生活中,rootkit 很可能是更大的恶意软件包的一部分,通常由 dropper 获取和部署,其中包含各种旨在获取 root 权限的漏洞。人们可能通俗地将整个软件包称为“rootkit”,因为 rootkit 是有效载荷,虽然这不是技术上准确的称呼,但这些细节并不能保证您的系统安全。:)
如果你是普通用户,你应该注意不要将恶意软件引入系统。如果你被 root 了,除非你有 root 权限,否则你将完全无能为力。
尽管如此,在对恶意软件进行了相当广泛的研究之后,我的建议是,如果您知道系统已经以任何方式被恶意软件感染(无论权限级别如何),您应该假设整个系统现在都是恶意的,并用火将其杀死,也就是说,擦除硬盘并重新安装,保留尽可能少的数据,并且使用多个反恶意软件程序从实时操作系统中进行扫描。
唯一不适用此做法的非特殊情况是,如果你相信恶意软件不会做任何事情也恶意。但你凭什么相信恶意软件不是恶意的呢?在我看来,这听起来像是一个失败的策略。