问题描述
我认为没有必要在Ubuntu或任何Linux发行版中扫描病毒,直到昨天在Ubuntu软件中心发现病毒扫描程序软件包“clamtk
”和“klamav
”。
这导致了以下问题:
-
Linux和Windows之间的病毒有何不同?
-
Linux和Windows之间的保护策略有何不同?
-
我的系统应该安装病毒扫描程序软件包吗?如果是这样,哪个会更好?
最佳解决思路
大多数平台都有病毒(the first worm was for DEC VAX),它们在Windows上更常见。不同的平台比其他平台更安全,但病毒通常可以获得用户级别的安全性,在大多数平台上这通常足够好。如果你保持打补丁并且非常小心,你可以在没有病毒扫描程序的情况下运行Windows。
从Windows到Linux的病毒差异:在Linux上,病毒很难获得根(或系统)级访问权限。但它可能仍然可以访问您的地址簿或Firefox中保存的密码(用户级访问)。
策略:如果你非常小心并且知道自己在做什么,那么你可以在没有扫描仪的情况下离开。一个好的策略是让扫描仪只扫描下载内容,或者如果您从USB驱动器或软盘上的另一台计算机上传输文件(假设您有一个文件)。如果你想要,你可以让它定期进行全面的系统扫描。这完全是关于你是多么偏执狂,以及你有多大可能感染病毒。
对于您的笔记本电脑,我建议只有扫描仪扫描下载以及何时从另一台计算机传输文件。进行全面的系统扫描可能会造成电池消耗。
病毒扫描程序的一个非常重要的组成部分是使用新签名进行更新,因此请选择具有最佳签名更新的程序包,并且最适合您如何使用它。
次佳解决思路
klamav和clamtk都是clamAV软件的front-ends。他们会检查linux病毒,但它们对于确保您的Linux计算机不与Windows机器共享受感染的文件非常有用。大多数用于Linux的病毒扫描程序实际上都是用于服务器的,它们用于在发送邮件时扫描电子邮件或上传的文件。
Wikipedia有一个Linux恶意软件的列表,它应该有助于告知风险:Linux malware – Wikipedia, the free encyclopedia。他们列出了30种病毒和各种其他可能的威胁。
第三种解决思路
您本身可能不需要病毒扫描程序,但您确实需要确保您的系统保持最新和安全(良好的密码和系统实践 – 权限等)
个人轶事:我有一台debian服务器在运行,它有400天的正常运行时间,我想在重新启动它以更新内核之前达到500,我非常愚蠢,并且对于它是一个linux系统太自大了。由于它是服务于研究小组的服务器,因此我给所有同事提供了ssh帐户。事实证明,一些黑客利用我的一个用户的错误密码,并在自动化脚本上加载了5或6次漏洞利用,然后找到一个有效的漏洞(我修补了漏洞,我更新了内核)。它植根于服务器,然后开始建立一个bot(校园IT在我做之前发现了黑客,他们发现了可疑的IRC流量并与我联系)。
有趣的故事是,我使用这些相同的脚本来收回机器的控制权,以便在系统遭到破坏之前备份一些原始数据。
长话短说,让您的系统保持最新状态,确保您的密码安全,并保持良好的管理习惯。除非你真的去做sudo rm -rf /*
,因为有人在线告诉你,用你的linux电脑不太可能会遇到任何问题。
第四种思路
这是不需要的,因为(与流行的谎言相反),linux是相当安全的,并且你不太可能得到用于linux的病毒。您的风险更高,您可能会在运行Wine时拾取Windows病毒,或者您可能会被远程用户黑客攻击(桌面上罕见)。
我的建议:从软件中心安装gufw,启用防火墙以及一些可选规则(如果您愿意),并可选择安装clamav(以及fresh-clam)。
总的来说,你最好的防守就是拥有知识。这样做的一个好方法是获得像liferea这样的feed阅读器,并遵循像omgubuntu或像/这样的网站的流行Linux网站。 (slashdot)用于与Linux安全相关的新闻。不要从你不信任的人那里运行软件(也就是说,要小心使用黑客的ppa,尽可能使用标准回购软件中的软件,并且不要在网站上运行奇怪的插件,即使它们有点有趣未能感染你的linux系统= P)
希望能回答你的问题=)
编辑:每个系统上的病毒都是相同的,因为他们都试图使用漏洞或用户的无知来传播自己或访问他们不应该的东西。它在linux上没有什么不同,但是linux更安全,更安全。您看到的防病毒软件实际上主要是为了保护Windows用户;例如,如果朋友向您发送受感染的文件,则可能会将其传递给Windows用户,而不会受到您的影响。
第五种思路
不,你不需要Ubuntu上的Antivirus(AV)来保证它的安全。
您需要采用其他”good hygene”预防措施,但与此处发布的一些误导性答案和评论相反,Anti-virus不在其中。
对于初学者来说,似乎在两个问题之间的一些top-rated答案中存在混淆:
-
Linux和Linux的病毒存在
-
实际感染系统的能力。
这两个不一样。肯定有’viruses’可以在Linux上运行,但为了使它们运行,恶意用户需要获得具有本地特权的人来主动安装它们。这要求系统的所有者信任恶意用户,下载软件并使用sudo和密码进行安装(或者以自己的身份运行,导致regular-user级别的损坏)。不是一套克服的小障碍。
与其他一些系统不同的是,将Ubuntu系统up-to-date保留在安全修复程序(非常容易实现)的常规用户通常不会偶然安装某些内容(例如打开附件或点击某些内容)。这个例外是未知的zero-day漏洞,但对于那些AV来说无论如何都是完全无效的。默认情况下,Ubuntu用户不会以管理员权限运行,并且remote root logins被禁用。
另外,Ubuntu自带:
-
随机地址加载(大多数情况下会降低到shell尝试)
-
通过
apparmor
的应用程序限制/障碍,因此像firefox这样的应用程序只能访问非常有限的文件和操作子集(请参阅/etc/apparmor.d/usr.bin.firefox
) -
内置防火墙(iptables),可以是set-up,是非常严格的
所以为了安全起见,你需要遵守基本的安全规则,例如:
-
保持你的软件是最新的
-
只能运行从官方存储库下载的软件(或者您自己编写的软件,或者可以审核源代码)
-
只能使用标准package-manager进行安装。特别是不要从随机数据源安装专有的二进制文件,通过使用
apt-get source
查看源代码,您无法进行审计)。 -
有一个家庭防火墙&不要运行不必要的服务
-
定期运行一些日志扫描来检测异常活动 – 我推荐
logcheck
-
为另一个防御外围图层添加一个本地
iptables
防火墙 -
保持密码的安全性(建议使用好的密码管理器)。尽可能使用two-factor认证。
-
使用加密会话(使用
ssh
和scp
,而不使用ftp
或telnet
) -
使用容器(例如
docker
或systemd-nspawn
图像) – 通过独立于系统的其他部分运行软件,即使是最容易出错的/易受攻击的软件,也不会在其容器外造成损坏。 Container-technology基本上意味着game-over用于受损软件。
沿着这些线条也有类似的良好习惯。如果你这样做,你会比安装non-opensource ‘AntiVirus'(你怎么能信任这样的软件?)并落入一个错误的highly deluded, sense of security更安全。
当然,如果恶意用户要求您从某处下载badstuff.deb
并通过打开终端窗口并键入:
sudo dpkg -i badstuff.deb
而且你有责任,所有的赌注都没有了,你只能因为被感染而被责备。在这种情况下,AntiVirus不太可能为您节省。除非这个特定的badstuff.deb
是有限的黑名单签名之一。
正如其他人提到的clamav
“for Linux”主要被设计为其他(非Linux)系统的扫描服务器。
这里的一些答案和评论使得以下non-sequitur声明:由于user-level损坏可能是非常有害的(例如,删除$HOME
及其下的所有内容),sudo访问与AV需求无关。这是red-herring,因为无论有无病毒,您都可以故意(或意外)删除$HOME
。关键问题在于:你是否会从不可信的源代码运行随机代码。如果你这样做,AV(或任何其他预防措施)不会从你自己手中节省你的系统。在Ubuntu上,整个系统和软件存储库eco-system旨在防止从随机源运行随机代码,因此安装AV来“保护Ubuntu免受病毒侵害”是浪费时间和资源。
这里的一些答案建议在Linux上安装商用non-open源AV软件。 Don’t do this。 AV软件以提升的权限运行,通常会更改system-call语义(例如更改 open()以扫描下载的文件并可能失败),并消耗非常重要的(内存,CPU,磁盘,网络)资源。这样的软件不能被审计,所以很难相信。在您非常安全的Linux系统上安装这样的软件,将会大大增加系统攻击的表面并使其远不那么安全。
参考文献:
-
Is it easier to write viruses for Windows compared to OS-X and Linux (Quora)
-
设置
iptables
– askubuntu问题 -
systemd-nspawn
在维基上
第六种思路
基本生态,男人。单一文明比寄生虫更容易遭受寄生虫瘟疫。 Windows的受欢迎程度和只有少数几种不同配置的事实使它们成为一个简单且有利可图的目标。你正在运行的精确版本的内核有多少个盒子?您正在运行的软件有哪些?
而且,在Ubuntu中,几乎每天都有安全更新,而不是等待下一个服务包。
此外,您运行的软件中有99%来自可信来源。
也就是说,AV可能仍然有用,例如检查Windows文件,包括您的WINE程序。事实上,还有一些Linux病毒,但他们的传播非常困难,所以通常不是一个主要问题。阅读更多here。
当然,Linux不会保护您免受Javascript或网页浏览器中的错误。
您可以看到Linux防病毒程序here的简要说明。
第七种思路
有一些针对Linux系统的理论病毒(无论是特定的还是通过Ms-Windows传播的cross-infectors),但在正常的桌面使用中,从未有过记录的Linux程序感染。
如果您习惯于定期从互联网上下载Windows程序并使用wine运行它们,则应该使用anti-virus来扫描它们。您也可以考虑将您的酒用量限制为不同的用户帐户 – 以防恶意Windows程序(受感染或其他方式)想要破坏您的用户数据。
否则,不要打扰。
第八种思路
我总是在我的系统上运行Antivirus – 如果它是Windows,OSX或Ubuntu /Linux,绝不会介意。永远不要以为你是安全的 – 系统总是会被黑客入侵或感染 – 甚至是基于Linux的发行版。我记得有一次我在Ubuntu上从Gnomelook.org得到恶意软件,因为我为我的Ubuntu系统安装了一个屏幕保护程序。阅读here。
我的Ubuntu系统上还有1-2种Java恶意软件,因为它们是针对OSX和Windows的,但它也运行在Ubuntu /Linux上。谁知道我在那段时间还有什么,因为我没有使用Antivirus。
当然,现在(基于Ubuntu /Linux的发行版)的威胁要小得多,但是和Android一样:一旦它变得更受欢迎 – 你会看到更多的恶意软件从隐藏的灰烬中升起,因为现在已经可能了(我的个人意见合并与我之前提到的)。
我在我的Ubuntu系统上使用”Bitdefender”的免费和个人版本,因为Avast没有使用“Ubuntu 12.04”,而其他所有内容对set-up来说太难了。当然,ClamAV很好很容易(它在Ubuntu软件中心),但他们对威胁的反应时间(至少在过去)一直非常缓慢。 ClamAV也错过了很多Windows病毒 – >检测率并不那么好,至少与商业产品(比如Bitdefender,Avast等)相比时。
结论:我的两分钱就是这个问题。永远不要以为你是安全的,因为你不是。一个系统总是可以以某种方式被感染 – 总是。我在Ubuntu上没有遇到Bitdefender的单一问题,而Antivirus /Security解决方案永远不会给你100%的安全性 – 总比没有好。我在OSX和Linux上都感染了恶意软件 – 在两个系统中,社区中大多数人认为它不可能发生,或者我被告知不需要防病毒软件:Community Link
桔子
第九种思路
你可以试试BitDefender Antivirus。它是最好的扫描仪之一,尝试使用直观的GUI和定期更新。不幸的是,它只有一个按需扫描器,但对于那些e-mail附件和USB驱动器非常有用。
http://www.bitdefender.com/world/business/antivirus-for-unices.html
第十种思路
说到一般的安全问题,但是忽略病毒,Ubuntu有build-in security。
但是,Ubuntu不会阻止你安装Windows anti-viruses这样的恶意软件。例如,如果有人诱使您安装会窥探,垃圾邮件或破坏您所有数据的软件,那么您的运气不佳。
如果您选择设置它们,还有更多的安全机制可用:防火墙规则,anti-virus扫描程序,网络监控,two-factor身份验证等……这些附加机制主要用于服务器,您不必担心它们是桌面用户。
说到这里,有很多漏洞,并且Linux系统每天都在世界各地被打破。安全团队come-out提供更新以定期修复这些漏洞。 Ubuntu有自己的安全团队发布updates and advices for systems administrators。
这里是an overview about anti-Viruses and Ubuntu security。
在实践中,Ubuntu比Windows更安全。就暴露于恶意软件而言,Ubuntu与Mac相当。但正如@Giacomo指出的,生活在几乎没有病毒的世界可能会让Mac用户失去天真。
您可以做的最重要的两件事情来保持安全:
-
仅从官方存储库安装软件
-
通过让更新管理器完成这件事来保持您的软件
参考资料