我时不时会涉猎 Linux。奇怪的是,过去有一次,也就是今天,我发现我的系统被入侵了(至少我是这么认为的)。在我看来,我不是 Linux 专家,甚至不是中级用户,但我对技术有足够的了解,可以熟练使用计算机,尤其是 Windows。
让我解释一下发生了什么。
前段时间,当我开始认真学习使用 Linux 时,我从一个外部驱动器运行 Fedora。我确实知道,我从未使用该特定安装访问过任何可疑网站。作为一名长期使用 Windows 的我,接下来发生的事情令我无法解释。我注意到桌面上的一个文件移动了,就像有人单击并拖动了它一样。
当时我并没有太注意。大约一天后,我再次启动机器,发现发生了同样的事情。对我来说,就好像有人“进入”了我的机器,通过某种我不可见的虚拟界面将文件拖放到我的机器上。
我通过重新格式化摧毁了该安装。
就在本周,我开始认真学习使用 Linux。我决定在 Oracle 的 VirtualBox 中运行 Fedora。我使用 fdisk 对驱动器进行分区(在将我的帐户添加到 sudoer 文件中后使用 SUDO 而不是 SU),这时我注意到,当我查看所有分区时,我可以在 VM 之外看到我的硬盘!我输入了另一个命令,并收到有关 AVC 拒绝的警告。当我说“看起来不对劲……”时,运行 VM 的 Windows 10 操作系统发出信号,表示 Windows Defender 和我的 AV 解决方案已关闭。我有点惊慌,继续尝试让它再次运行,但 Windows 无法让它运行。我花了几个小时修复了所有问题。到了某个时候(关闭 VM 后),每当我启动并登录 Windows 10 时,都会出现 BSOD,并出现某种“watchdog_violation”。
这台虚拟机需要更新,软件更新问题困扰了我至少两三天。就像我的 Windows 体验一样,在这么短的时间内受到攻击对我来说似乎不太可能。
我刚刚设法修复了它并且正在运行 Windows Defender 扫描。
所以我的问题是:我如何防止将来有人破坏我的机器?Linux 和 VM 的一些最佳安全做法是什么?
我没有使用 SU,而是使用了 SUDO。它是在虚拟机内运行的,我不知道在这种配置下网络连接是如何工作的。我不知道有人究竟是如何通过这种方式进入我的虚拟机,然后进入我的外部机器的。
答案1
我对 Windows 一无所知;我这样做是为了如果您正在运行经过验证的 md5 校验和(https://getfedora.org/verify) 版本的 Fedora,您在同一地点被雷击中三次并同时赢得两次强力球彩票的可能性比被如此迅速地攻陷的可能性更大。此外,攻陷的 KVM 方面也令人惊讶。如果有人想要您的文件,而且他们技术如此娴熟,他们会 rsync 您的文件,然后掩盖他们的踪迹,这样您就不会知道它们在您的盒子里。他们不会将它们拖放到您的窗口系统周围。
avc 拒绝消息来自 SELinux - 我无法发布超过 2 个链接,请在 Google 上搜索 SELinux 常见问题解答:
如何查明 SELinux 是否拒绝任何软件的访问?
当 SELinux 阻止任何软件访问特定资源时,例如当 Firefox 被拒绝访问 /etc/shadow 时,它会生成一条消息并将其记录在 /var/log/audit/audit.log 或 /var/log/messages(如果已禁用审计服务)中。如果日志包含“avc: denied”,则表示这是 SELinux 策略拒绝。请注意,您需要在系统上拥有管理员权限(root 访问权限)才能读取此日志文件。拒绝的示例如下
类型 = AVC 消息 = 审核(1214965667.121:635):avc:拒绝 {unix_read unix_write} for pid=15524 comm="npviewer.bin" key=59918130 scontext=unconfined_u:unconfined_r:nsplugin_t:s0-s0:c0.c1023 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s
Linux 强化是一个广泛的话题。这里有一篇文章,其中包含一些工具,可以帮助您初步了解强化您的机器,然后针对您的配置进行测试。-http://opensourceforu.com/2015/06/the-most-popular-security-assessment-and-server-hardening-tools/