开源网站云查杀方案,搭建自己的云杀毒
搭建ClamAV服务器
1 前言:在上一篇我们已经演示了整个方案,传送门《开源网站云查杀方案,搭建自己的云杀毒》:https://www.cnblogs.com/dengjiahai/p/12437360.html#4514940。接着我就写一个文章来演示如何搭建ClamAV服务器,开始之前,我先说说关于陆陆续续收到一些同行的交流对话和疑问的这个问题,发表一些我个人的见解和看法:
在服务器安装杀软它不香嘛?为甚搞那么复杂?
答:的确,在服务器直接安装杀软也是一种防护方案。我们之所以弄了这个东西,肯定是因为杀软有一些地方满足不了我们的要求。我简单的说说我们能想到的应用情形。如果你看完了,觉得该方案对你有帮助,那么你可以继续往下探讨,如果你觉得毫无意义。那么说明这个东西满足不了你们,可以不用往下看了。
首先,来个简单的例子说明我们应用的情形。我们要做的其实就是类似VirSCAN这个网站的一些功能:传送门:https://www.virscan.org/antivirusvendor/clamav
我们要主要是考虑到一下几个方面,所以做出了这个选择。
• 我们主要是扫描,而不是为了杀毒,简单的说,我们是想从源头上面去防护。而不是等病毒入侵了,我们才去杀毒。你要知道,我们这个方案是不杀毒的,只是扫描病毒。根据clamav的解释,杀毒对于上传附件来说是毫无意义的,因为它既然检查出来病毒,把一些关键的文件杀掉了,剩下的文件应该也不能用了,即使能用,你信得过嘛?
• 我们在实验中发现,部分压缩包病毒下载到服务器,杀软居然不去扫描,手动一扫,病毒就出来了,具体什么原因我也不了解,当然不排除我设置的不对,但是我都安装的时候都是直接默认的。还有就是杀软往往清楚病毒还要重启才能清楚干净,很多时候,你体检电脑完了,杀软是不是提醒你重启电脑?
•有密码的压缩包应该是没有办法扫描的,但是我们上传附件的时候,我们是在流文件里面用密码打开压缩包,然后去扫描,是不是安全很多。而不是等用户直接在服务器解压到本地才触发杀软。
• 还有就是,杀软无法即使把杀毒情况反馈给用户,我们考虑这个方案的时候,主要是考虑附件上传的情况,如果说我是用户,并且我是无意去攻击的,然后我却发现,我上传了附件之后,系统提示我成功了,好,然后我安心的去干其他事情了,然后服务器才会去杀毒。把文件干掉。这个时侯用户完全不知情啊。我的东西为什么没了呢,你看像很多邮箱上传附件,都会立即查杀,并告知你结果,如果查杀不通过,不会给你发送的。
• 杀软还有一个局限是必须安装在本地服务器,假如服务器压力很大,杀毒扫描据我所知也比较耗费性能,据我以前的旧电脑的体验,特别是内存不是很足的时候,在线看视频,电脑很卡,把杀软推出后,居然快了很多。所以我们就用这个分布式部署的方案,单独一个服务器扫描。
• ClamAV的®是邮件网关扫描软件的开源标准。
• 高性能,ClamAV包括一个多线程扫描程序守护程序,用于按需文件扫描和自动签名更新的命令行实用程序。
• ClamAV支持多种文件格式,文件和存档解压缩以及多种签名语言。
• 开源
我们主要是考虑以上情形。工作原理我们主要是
如果看完了上边的,你觉得该方案对你有用,那么你可以继续关注,倘若该方案对你而言毫无意义。那么你可以无需看后面的了。
2 准备工作ClamAV官网:https://www.clamav.net/
ClamAV文档:https://www.clamav.net/documents/clam-antivirus-user-manual
ClamAV 源码:https://github.com/Cisco-Talos/clamav-devel
目前最新版是0.102.2.我关注过官方,最近一直有更新维护的,而且挺频繁的。
2.1 ClamAV服务器要求操作系统:我演示使用的是windows 10.(官方支持很多系统Unix / Linux / macOS/ Debian/ Ubuntu/Redhat/CentOS)等,源码是开源的,如果不支持,自行编译。