保持 Linux 系统的安全

目前还没有读者喜欢这篇文章。
Is Occupy Wall St. really an "open source protest?"

Opensource.com

最近,Lee Brian 在 My Dad, Linux and Me 中写了一篇关于她自己 Linux 故事的精彩文章。在该文章的一些评论中,出现了关于病毒和 Linux 的讨论。虽然大多数 Linux 社区会同意病毒在 Linux 中的问题不如在其他一些操作系统中那么严重,但我们与一些人共享文件,而这些人会受到病毒和其他恶意软件的影响。

也许您的计算机上有一个 Microsoft Windows 用户可以访问的共享文件夹。也许您所在单位的 IT 部门要求在您网络上的所有计算机上安装防病毒软件。我们如何在这样的环境中保护他们和我们自己?

这就是开源防病毒引擎 ClamAV 的用武之地。我已经在 Mac OS X 和 Linux 上使用 ClamAV लगभग 10 年了,发现它能有效阻止木马、病毒和恶意软件。它的源代码在 GitHub 上以 GNU 通用公共许可证 提供。

在 Linux 服务器上,ClamAV 可以作为守护程序运行。它可以为来自其他进程的文件扫描请求提供服务。这些可以包括垃圾邮件过滤器或 Samba 共享上的文件。ClamAV 通常从命令行运行,但有第三方开发人员为其创建了图形用户界面。

在 Fedora 上

dnf -y install clamav clamav-update

在 Ubuntu 上

sudo apt-get install clamav

对于其他版本的 Linux 和 Unix,说明 可用。

一旦安装了 ClamAV,就可以通过切换到 root 用户(使用 "su" 或 "sudo")并在命令行中输入 "freshclam" 来获取更新。更新病毒定义后,您就可以扫描您的系统了。扫描时可以使用许多选项,您可以参考 此手册页 以了解选项。

我个人最喜欢的是 clamscan --infected --remove --recursive /home,它会递归扫描我的主目录并打印出受感染的文件。

与维护系统完整性同等重要的是检测 rootkit。根据 Wikipedia,“Rootkit 是一系列计算机软件,通常是恶意的,旨在实现对计算机的访问,否则将不允许(例如,对未经授权的用户),同时掩盖其存在或其他软件的存在。”

我发现 ClamAV 并非总是有效地检测和消除 rootkit。幸运的是,开源 Rootkit Hunter 可供下载,并且易于安装。只需使用您选择的软件包管理器安装 rkhunter 软件包即可。rkhunter 有一个手册页,您需要查阅它以选择其使用的各种选项。我选择采用默认设置,并直接从命令行运行它,'sudo rkhunter --checkall'。Ubuntu 社区提供了 一个非常好的帮助页面。Rootkit Hunter 在 GNU 通用公共许可证下获得许可,Rootkit Hunter 的源文件在 Sourceforge 上。

更新:将 “sudo rkhunter -checkall” 更改为 “sudo rkhunter --checkall”(添加了连字符)。感谢读者在评论中提供的反馈!-rikki 

User profile image.
教育工作者、企业家、开源倡导者、终身学习者、Python 教师。教育心理学硕士,教育领导学硕士,Linux 系统管理员。

17 条评论

您好

在全新安装 clamav 后,我发出 freshclam 命令,

[root@localhost ~]# freshclam
错误:请编辑示例配置文件 /etc/freshclam.conf
错误:无法打开/解析配置文件 /etc/freshclam.conf]

并且应用程序警告我关于“过时的数据库”

我该如何解决这个问题...?

谢谢。

感谢您这篇简短易懂的文章。

正是我开始使用 ClamAV 和 Rootkit Hunter 所需要的。

我的 Kubuntu 上没有安装任何防病毒软件,老实说,自从几年前离开 Windows 后,我就忘记了 AV 和 Rootkit。

现在它已安装,我的第一次扫描显示没有 Rootkit,也没有小病毒。
但现在我更安全了,并希望为即将到来的第一个 Linux 病毒做好准备。

Br Hans

@Ganzalo

安装 clamav-deamon:sudo apt-get install clamav-daemon

/Br Hans

感谢 Gonzalo 提出的问题。我今晚刚刚在 Ubuntu 14.04 LTS 上进行了全新安装,它可以通过 "sudo fresclam" 工作。但是,您看起来可能是在 Fedora、RHEL 或 Centos 上,我不确定您的环境。如果是在 Fedora 上,这是一个可能的解决方案,http://rpm.pbone.net/index.php3/stat/4/idpl/29284699/dir/fedora_21/com/…。我的 Ubuntu 上的 "freshclam.conf" 可能与您的系统略有不同,但如果您愿意,我很乐意分享。

再次您好,Don。

是的,我忘记说明环境了,那是 Fedora 22 (32 位)...
在您提供的链接中查看,这里只有 64 位的更新...
我尝试了
[dnf install clamav-update
上次元数据过期检查于 2015 年 9 月 26 日星期六 11:47:56 在 0:31:57 前执行。
软件包 clamav-update-0.98.7-1.fc22.i686 已经安装,跳过。
依赖关系已解决。
无需执行任何操作。
完成!]
但是“过时的数据库”的消息仍然存在...

我尝试了 dnf upgrade clamav-update
[[root@localhost ~]# dnf upgrade clamav-update
上次元数据过期检查于 2015 年 9 月 26 日星期六 11:47:56 在 0:39:07 前执行。
依赖关系已解决。
无需执行任何操作。
完成!]

所以我不知道如何使数据库“更新”...
有什么建议吗...?

谢谢

gonzalo//.

这是来自 Server.world-info 的建议。

root@localhost ~]# dnf -y install clamav clamav-update

[root@localhost ~]# vi /etc/freshclam.conf

# 第 8 行:注释掉

# Example

[root@localhost ~]# vi /etc/sysconfig/freshclam
# 结束行:注释掉

#FRESHCLAM_DELAY=disabled-warn
# 更新模式文件

[root@localhot ]# freshclam

回复 作者 Gonzalo San Gil, PhD

再次感谢您,Dan:我通过 dnf 更新获得了软件包。问题似乎是数据库的日期...
打算尝试 Server.world-info...

回复 作者 Don Watkins

@Don 对于运行 rootkit hunter,应该是 'sudo rkhunter --checkall' 而不是 'sudo rkhunter –checkall'

已将 “sudo rkhunter --checkall” 更正。谢谢。

# ! 哦,我的:我首先需要一个 vi/vim 教程...
我担心我会“破坏”某些重要的系统文件...

# ! 无论如何,谢谢您,Dan:我会将此页面添加书签以供进一步阅读,以便在我准备好使用文本编辑器时使用...

再次感谢您...

:)

gonzalo//.

您好,
仍然是错误的,其中一个不是连字符(或减号)符号。
以下是更正后的命令
sudo rkhunter --checkall

我从我的终端复制并粘贴到文章中,我相信现在是正确的了。 :)

回复 作者 Emil Varughese (未验证)

尊敬的 Don,

您不应该更改这篇文章的标题吗?这有点误导。事实上,它基本上承诺帮助人们使其 GNU/Linux 系统更安全...但却让人们错误地认为他们的 GNU/Linux 系统是坚不可摧的,但我们可以保护我们的朋友,他们运行的系统更容易受到病毒感染。

我期待看到一些关于消除未使用的监听端口、加强任何需要的服务、使用数据包过滤、可能还有一些 sysctl 设置等的内容。相反,我发现您提到了一些删除 rootkit 的工具。

一旦您的机器被入侵到某种程度,以至于第三方完全控制了您的机器,您就无法真正依赖在该机器上运行的任何工具来检测入侵的存在。

让我重申一下...如果我控制了您的机器...我会确保您安装的任何工具都不会检测到我的存在。这将是我“待办事项”列表中的第一件事。

无论如何,这只是我的想法。

谢谢,祝您愉快。

-EE

感谢您分享您的想法。 :)

回复 作者 Extradimention… (未验证)

您好 Don,
我读了您关于 ClamAV 的幼稚故事,并且您真的相信您拥有真正安全的系统。
这是我想提请您注意的事情,以便您了解计算机安全不仅仅是防病毒软件的问题

它被称为“中间人攻击”,是当今几乎每个人都遭受滥用的策略。它的工作方式是有人实时拦截您的计算机系统与互联网交换的所有数据包。当您下载您认为来自 Linux 存储库的软件包时,它们实际上来自“坏人”的服务器。您的系统不再运行您认为它运行的操作系统,而是看起来像它的东西。好的 rootkit 永远不会被检测到。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.