保护你的 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 后,可以通过使用 "su" 或 "sudo" 切换到 root 用户,并在命令行中输入 "freshclam" 来获取更新。更新病毒定义后,你就可以扫描你的系统了。扫描时可以使用许多选项,你可以参考 此手册页 了解选项。

我个人最喜欢的命令是 clamscan --infected --remove --recursive /home,它可以递归扫描我的 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 行:注释掉

# 示例

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

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

[root@localhot ]# freshclam

回复 ,作者 Gonzalo San Gil, PhD

再次感谢你,Dan:我通过 dnf update 获取了软件包。问题似乎是数据库的日期...
打算试试 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 从未被检测到。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.