David Pokluda Asked: 2009-05-01 08:36:06 +0800 CST2009-05-01 08:36:06 +0800 CST 2009-05-01 08:36:06 +0800 CST 您为开发盒推荐什么防病毒软件[关闭] 772 您会为用于 Windows 开发的计算机推荐什么防病毒软件。您会为这些用户使用防病毒软件吗?这些用户经常编译,因此读写大量文件。如果我部署性能缓慢的防病毒软件,他们会不高兴。 anti-virus 16 个回答 Voted Best Answer sh-beta 2009-05-08T08:41:37+08:002009-05-08T08:41:37+08:00 你需要杀毒软件 在这些答案中多次说过,开发人员应该更了解,或者应该只从已知的好网站等安装他们需要的软件,所以如果你需要防病毒,你有一个社会问题,而不是技术问题。对此有几点看法: 预防只是杀毒软件的功能之一。即使您的供应商在发布新定义方面进展缓慢,但如果您的软件在您的机器上检测到病毒,那么您的情况要比您根本没有 AV 软件要好得多。 每个人,无论多么聪明,都会犯错误。你不能把你的基础设施押在员工意识的完善上。 下载软件只是病毒攻击的载体之一。软件漏洞怎么办?如果“已知良好”的软件站点被劫持怎么办?如果自动更新软件(Java、Adobe、Apple、MS 等)受到威胁怎么办?您的安全太宝贵了,不能交给您的员工和供应商。 除非您是一家非常小的公司,否则您会有非技术人员与您一起工作。接待员、办公室经理、销售人员等。如果您的开发人员非常完美,而您的接待员点击了他妈妈发给他的错误链接,那么您的网络就会受到威胁。 在除开发人员之外的所有机器上安装 AV 软件会使(可以说)最有价值的工作站不受保护。 您的开发人员在他们的机器上安装了对他们的工作来说不是“必需”的软件。保证。iTunes、AIM,以及他们发现自己喜欢的其他应用程序。他们足够聪明,可以绕过试图阻止这种情况的政策/软件。 我的建议 在 Fog Creek,我们使用 ESET NOD32。 我已经测试了 Symantec、Kaspersky、Norton、ZoneAlarm、Avast 和 AVG。它们都有明显的性能问题,而且很多对于我们的开发人员来说完全无法使用(阻塞的调试器、挂钩系统调用时引起的问题等)。 NOD32 已经部署了将近一年,而我只有一个开发人员遇到过任何问题(通过检查配置选项已解决)。它不会对性能造成明显影响,不会干扰我们的任何工具,而且设置起来非常简单——我在一天中的时间坐在舒适的办公桌上,将它部署到了我们所有的工作站和服务器上。 我们在使用 NOD32 时遇到的唯一问题是在评估期间运行 VMWare Workstation 时性能受到很大影响。从实时扫描中免除所有 VMWare 文件后,问题就消失了。 JAG 2009-05-01T09:10:21+08:002009-05-01T09:10:21+08:00 假设以下几点,我不会在这些机器上安装任何防病毒软件: 计算机在具有内置防火墙、MAC 地址过滤和 NAT 的路由器后面运行。 只打开需要的端口 Windows 防火墙已启用 开发人员只安装他们需要从受信任的站点完成任务的软件 没有使用盗版软件 操作系统会定期更新 开发人员不访问地下站点 在开发机器上,您希望获得最高性能,而防病毒软件是性能的已知反义词。此外这个杀毒软件不是那么有效。 Brandon 2009-05-01T08:47:31+08:002009-05-01T08:47:31+08:00 我在这里有几个意见... 显然杀毒的重点不一定是要最快,而要最有效。我更喜欢赛门铁克,但每个人都有自己的。 您可以做的一件事是对开发文件夹(即 C:\Development)或其他东西进行实时扫描排除 - 这样它就不会实时扫描每个编译。大多数病毒/恶意软件无论如何都不会在 C:\Development 文件夹中放置任何内容(99% 的时间它会进入 Program Files、Windows 等)。将您的防病毒软件配置为每天对 Development 文件夹运行一次扫描。 另一方面,通常开发人员会非常精通计算机(我们希望如此)。所以在那种情况下,我不确定在这种类型的环境中是否需要防病毒软件。这里最好的事情是专用机器(虚拟机或其他)仅用于开发而不是电子邮件、网上冲浪等。显然,这将产生最快的性能而没有扫描开销。 Burly 2009-05-01T09:56:46+08:002009-05-01T09:56:46+08:00 背景 这里显然涉及多个变量,因此没有一刀切的反应。这些变量包括: 现有公司/公司政策 任何涉及安全要求的策略(例如运行公司配置的 AV 的要求)都可能使该决定成为非问题。 “生产”环境的可变性。 如果这是一个部署在受控环境或受限环境中的应用程序,那么为您的测试平台复制该生产环境是个好主意。 但是,如果这是一个将要“公开”发布的应用程序,那么显然没有办法测试所有可能的生产配置。 开发和测试环境 如果有一个正式的测试/QA 团队和环境,甚至只是一个构建服务器,那么这可能是模拟生产环境的最佳场所,而不是开发人员的机器。 安全问题 这本书本身就是一本书,但安全问题可能超过对开发人员机器的任何特定权衡。这取决于以下因素: 数据和/或代码的敏感性 与外部网络/互联网的连接 可移动媒体 更多 开发者机器性能 显而易见的是,由于病毒扫描程序引入了 CPU 和 I/O 税,因此在开发过程中会降低性能。不太明显的是潜在影响是: - 与病毒/木马/恶意软件的收缩和随后的删除相关的停机时间 - 如果没有 AV 软件来检测并通知用户以便他们继续,病毒/恶意软件的性能影响处理存在的病毒/恶意软件。 如果您正在使用虚拟机或有开发映像或有定期备份,那么这种停机时间的可能性可能微不足道。如果开发人员必须从头开始重新安装和重新配置他/她的机器上的所有内容(取决于病毒的严重程度),那么停机时间可能是一个严重的惩罚。 收缩概率 开发人员机器感染病毒/恶意软件的可能性是一个巨大的通配符/未知数。但是,如果你在一个封闭的网络上工作并且不引入太多外部媒体,那么风险显然比所有机器都直接连接到互联网的风险要低得多。 如果开发环境是 Mac OSX 或 Solaris 或 Linux 等,那么收缩的概率比在 Windows 平台上要低得多。 此外,如果开发本身的性质增加了开发人员机器对潜在不安全流量的暴露,这会增加收缩的可能性。 建议 基于上述(可能更多)变量的这些状态,有几个选项(提高安全性,降低性能顺序): 根本没有 AV 软件 没有实时保护但在非工作时间安排病毒扫描的 AV 软件 具有实时保护但排除开发过程中涉及的文件夹/文件类型的 AV 软件 具有实时保护且无例外的 AV 软件 这四个选项显然有许多变化(例如涉及使用虚拟机的选项),但我认为这涵盖了主要选项。 个人使用 值得一提的是,我个人在工作中使用 Symantec Corporate,在家里使用 Avast 免费版。我启用了实时保护,唯一的例外是我的虚拟机文件夹/vmdk 文件。我在主机中进行了一些开发,在来宾中进行了一些开发。我为 Windows 平台进行 C# 和本机 C++ 开发,发现性能损失是可控的。 K. Brian Kelley 2009-05-01T08:47:30+08:002009-05-01T08:47:30+08:00 我会在您的生产环境中部署相同的 AV 解决方案。这样,您就拥有了一个管理界面,并且您可以对影响进行逐一比较,尤其是当较新的管理界面在每个版本中加入了越来越多的入侵防御措施时。结果,一种 AV 解决方案的反应可能与另一种不同。 Bakanekobrain 2009-05-19T00:17:44+08:002009-05-19T00:17:44+08:00 ESET NOD32 是我发现的最轻(就 CPU 使用而言)的防病毒程序。它也被AV-Comparatives评为更好的程序之一。只要确保排除开发或虚拟机目录,你就不应该有问题。 Trevor Bramble 2009-05-01T09:01:16+08:002009-05-01T09:01:16+08:00 您肯定希望在这些机器上进行实时扫描。 我已经退出游戏一段时间了,但据我所知,要涵盖的三个主要方面是软盘和 USB 存储(主要是引导扇区病毒)、电子邮件(主要是特洛伊木马)和网络服务(蠕虫)等可移动媒体的感染)。开发机器可能会同时具备这三个。 我建议遵循 routeNpingme 对文件系统扫描的特定异常的建议以进行实时扫描。 saschabeaumont 2009-05-01T15:01:45+08:002009-05-01T15:01:45+08:00 我们在生产中使用趋势科技,我最近将它安装在我们所有的 TEST VM 上(在一个病毒感染后),并没有注意到明显的性能损失(一台八核主机上有 20 多个 VM),这些机器被打乱了我们的支持部门在尝试重现客户环境时,它是一个准系统 AV,可以解决问题。在访问了可怕的地下站点后,它发现了一些本来会感染机器的东西 Nic 2009-10-19T18:38:51+08:002009-10-19T18:38:51+08:00 我们在工作中使用 Symantec Endpoint Protection,我建议不要使用它。这对性能造成了相当严重的影响,并且在两次用户计算机遭到入侵的事件中都没有发现任何问题。 Chris Marisic 2010-03-17T10:07:30+08:002010-03-17T10:07:30+08:00 作为一名开发人员,我倾向于支持我不使用防病毒软件的路线,但今年随着 Microsoft Security Essentials 的发布,这种情况终于改变了。我在家用机器和工作开发机器上都使用它。我为我的解决方案排除了项目文件夹,因为大多数 AV 在编译过程中会出现混乱,看到正在创建的一堆 DLL 和 EXE 并试图在构建的超重文件 IO 操作期间扫描它们。
你需要杀毒软件
在这些答案中多次说过,开发人员应该更了解,或者应该只从已知的好网站等安装他们需要的软件,所以如果你需要防病毒,你有一个社会问题,而不是技术问题。对此有几点看法:
我的建议
在 Fog Creek,我们使用 ESET NOD32。
我已经测试了 Symantec、Kaspersky、Norton、ZoneAlarm、Avast 和 AVG。它们都有明显的性能问题,而且很多对于我们的开发人员来说完全无法使用(阻塞的调试器、挂钩系统调用时引起的问题等)。
NOD32 已经部署了将近一年,而我只有一个开发人员遇到过任何问题(通过检查配置选项已解决)。它不会对性能造成明显影响,不会干扰我们的任何工具,而且设置起来非常简单——我在一天中的时间坐在舒适的办公桌上,将它部署到了我们所有的工作站和服务器上。
我们在使用 NOD32 时遇到的唯一问题是在评估期间运行 VMWare Workstation 时性能受到很大影响。从实时扫描中免除所有 VMWare 文件后,问题就消失了。
假设以下几点,我不会在这些机器上安装任何防病毒软件:
在开发机器上,您希望获得最高性能,而防病毒软件是性能的已知反义词。此外这个杀毒软件不是那么有效。
我在这里有几个意见...
显然杀毒的重点不一定是要最快,而要最有效。我更喜欢赛门铁克,但每个人都有自己的。
您可以做的一件事是对开发文件夹(即 C:\Development)或其他东西进行实时扫描排除 - 这样它就不会实时扫描每个编译。大多数病毒/恶意软件无论如何都不会在 C:\Development 文件夹中放置任何内容(99% 的时间它会进入 Program Files、Windows 等)。将您的防病毒软件配置为每天对 Development 文件夹运行一次扫描。
另一方面,通常开发人员会非常精通计算机(我们希望如此)。所以在那种情况下,我不确定在这种类型的环境中是否需要防病毒软件。这里最好的事情是专用机器(虚拟机或其他)仅用于开发而不是电子邮件、网上冲浪等。显然,这将产生最快的性能而没有扫描开销。
背景
这里显然涉及多个变量,因此没有一刀切的反应。这些变量包括:
现有公司/公司政策
任何涉及安全要求的策略(例如运行公司配置的 AV 的要求)都可能使该决定成为非问题。
“生产”环境的可变性。
如果这是一个部署在受控环境或受限环境中的应用程序,那么为您的测试平台复制该生产环境是个好主意。
但是,如果这是一个将要“公开”发布的应用程序,那么显然没有办法测试所有可能的生产配置。
开发和测试环境
如果有一个正式的测试/QA 团队和环境,甚至只是一个构建服务器,那么这可能是模拟生产环境的最佳场所,而不是开发人员的机器。
安全问题
这本书本身就是一本书,但安全问题可能超过对开发人员机器的任何特定权衡。这取决于以下因素:
开发者机器性能
显而易见的是,由于病毒扫描程序引入了 CPU 和 I/O 税,因此在开发过程中会降低性能。不太明显的是潜在影响是: - 与病毒/木马/恶意软件的收缩和随后的删除相关的停机时间 - 如果没有 AV 软件来检测并通知用户以便他们继续,病毒/恶意软件的性能影响处理存在的病毒/恶意软件。
如果您正在使用虚拟机或有开发映像或有定期备份,那么这种停机时间的可能性可能微不足道。如果开发人员必须从头开始重新安装和重新配置他/她的机器上的所有内容(取决于病毒的严重程度),那么停机时间可能是一个严重的惩罚。
收缩概率
开发人员机器感染病毒/恶意软件的可能性是一个巨大的通配符/未知数。但是,如果你在一个封闭的网络上工作并且不引入太多外部媒体,那么风险显然比所有机器都直接连接到互联网的风险要低得多。
如果开发环境是 Mac OSX 或 Solaris 或 Linux 等,那么收缩的概率比在 Windows 平台上要低得多。
此外,如果开发本身的性质增加了开发人员机器对潜在不安全流量的暴露,这会增加收缩的可能性。
建议
基于上述(可能更多)变量的这些状态,有几个选项(提高安全性,降低性能顺序):
这四个选项显然有许多变化(例如涉及使用虚拟机的选项),但我认为这涵盖了主要选项。
个人使用
值得一提的是,我个人在工作中使用 Symantec Corporate,在家里使用 Avast 免费版。我启用了实时保护,唯一的例外是我的虚拟机文件夹/vmdk 文件。我在主机中进行了一些开发,在来宾中进行了一些开发。我为 Windows 平台进行 C# 和本机 C++ 开发,发现性能损失是可控的。
我会在您的生产环境中部署相同的 AV 解决方案。这样,您就拥有了一个管理界面,并且您可以对影响进行逐一比较,尤其是当较新的管理界面在每个版本中加入了越来越多的入侵防御措施时。结果,一种 AV 解决方案的反应可能与另一种不同。
ESET NOD32 是我发现的最轻(就 CPU 使用而言)的防病毒程序。它也被AV-Comparatives评为更好的程序之一。只要确保排除开发或虚拟机目录,你就不应该有问题。
您肯定希望在这些机器上进行实时扫描。
我已经退出游戏一段时间了,但据我所知,要涵盖的三个主要方面是软盘和 USB 存储(主要是引导扇区病毒)、电子邮件(主要是特洛伊木马)和网络服务(蠕虫)等可移动媒体的感染)。开发机器可能会同时具备这三个。
我建议遵循 routeNpingme 对文件系统扫描的特定异常的建议以进行实时扫描。
我们在生产中使用趋势科技,我最近将它安装在我们所有的 TEST VM 上(在一个病毒感染后),并没有注意到明显的性能损失(一台八核主机上有 20 多个 VM),这些机器被打乱了我们的支持部门在尝试重现客户环境时,它是一个准系统 AV,可以解决问题。在访问了可怕的地下站点后,它发现了一些本来会感染机器的东西
我们在工作中使用 Symantec Endpoint Protection,我建议不要使用它。这对性能造成了相当严重的影响,并且在两次用户计算机遭到入侵的事件中都没有发现任何问题。
作为一名开发人员,我倾向于支持我不使用防病毒软件的路线,但今年随着 Microsoft Security Essentials 的发布,这种情况终于改变了。我在家用机器和工作开发机器上都使用它。我为我的解决方案排除了项目文件夹,因为大多数 AV 在编译过程中会出现混乱,看到正在创建的一堆 DLL 和 EXE 并试图在构建的超重文件 IO 操作期间扫描它们。