最近公司的一个客户被勒索病毒攻击了,可悲的是,客户的文件附件太多而且大,没有做双机热备的功能。当客户发现病毒后,还第一时间格式化了服务器。那叫一个惨!!!!!初步分析导致中毒的原因可能有:

1.内网传播,同一个局域网存在病毒?但是其他的电脑服务器没听说有中毒的情况,估计可能性少点。

2.可能客户自己在服务器打开了某些文件导致中毒。这个就不清楚了,客户不想承担责任,就算有也不会承认的。

3.可能是网站的用户上传了病毒,或者病毒的压缩包。

不论如何,我们的系统给客户的印象还是不太好啊。

然后最近又开始做一个互联网的项目,其中有涉及到面向广大群众上传附件的功能。为了安全我们就开始想安全方案。备份当然最好有。杀毒服务成熟的也很多。比如某60啦,某毒霸啦······

然而,问题来了,客户不想出钱。

公司也不想出钱。那怎么办?

自己研发一个?我觉得可能性不大咯,这个东西,没有高端人才和雄厚的财力支撑,估计比较难研发。

聪明的你应该想到了。找开源方案。最开始我想的是,某60等本地的杀毒软件有没有接口可以调用呢,找了好久,发现用命令倒是可行的。命令确实在本地的文件才好查杀。不好控制啊。

而我想要的却是用户上传的时候就扫描了,实时反馈文件的查杀结果。

接着继续找方案······

好不容易终于发现思科的一个开源的东西。ClamAV,传送门:https://www.clamav.net/

第一眼看到这个网站,就觉得逼格。然后在仔细研究了半天。就上路了。开始搭建自己的云查杀服务器。

文档什么的都有,就是英文的。而且更新也挺快的。最关键是开源的。

今天刚打完代码,代码开源在最后。具体使用文档和搭建服务器过程等我后续有空再写教程。

就看一波效果吧。有兴趣自己下代码研究。

服务器效果图:

代码项目结构:

运行效果:

没用病毒的文件:

[Fact]

       public async Task ScanBytes_InfectedData_ReturnsExpectedResult()

       {

           var ctx = IntegrationTestContext.CreateDefaultUnitTestContext();

           const string sampleVirusSignature = @"1111111111111";

           IClamAVScannerClient ClamAVScannerClient=ctx.Resolve<IClamAVScannerClient>();

           var bytes = Encoding.UTF8.GetBytes(sampleVirusSignature);

          var result=await ClamAVScannerClient.SendAndScanFileAsync(bytes);

           Assert.Equal(ScanResponseStatus.VirusDetected, result.Status);

           Assert.NotEmpty(result.InfectedFiles);

       }

  

找了几个病毒测试包测试:

[Fact]

       public async Task ScanFileStream_InfectedData_ReturnsVirusDetectedResult()

       {

           var ctx = IntegrationTestContext.CreateDefaultUnitTestContext();

           string filePath = @"C:\Users\deng\Desktop\b.zip";

           IClamAVScannerClient ClamAVScannerClient = ctx.Resolve<IClamAVScannerClient>();

           var result = await ClamAVScannerClient.SendAndScanFileAsync(FileToStream(filePath));

           Assert.Equal(ScanResponseStatus.VirusDetected, result.Status);

           //Assert.NotEmpty(result.InfectedFiles);

       }

  

提供了WebApi,暂时还没完善,后续继续完善WebApi接口。

最终效果:

代码已经托管到gitee上面了:https://gitee.com/Jesai/JESAI.ClamAV.NetScanner.git

初步已经可以使用,我已经使用在项目。

目前只有netcore 3.1版本。

类库已经打包上传到Nuget。可以通过nuget管理器搜索 JESAI.ClamAV.NetScannerCore安装使用

或者直接命令 Install-Package JESAI.ClamAV.NetScannerCore

希望大家帮忙点下星星,写代码不容易。鼓励下写代码的动力。

开源网站云查杀方案,搭建自己的云杀毒。相关推荐

  1. 告别坚果云,使用nextcloud搭建私人同步云盘

    目录 背景说明 安装教程 前提步骤 自动安装 手动安装(个人推荐) 同步云盘 背景说明 我们平时可能有多台电脑,比如办公室一台台式机,家里一台笔记本.这之间经常有一些文件需要两边都有,一边改了就要复制 ...

  2. 高校云计算机中心建设方案,最新某大学云数据中心建设方案.pdf

    精品文档 xxxxx大学云数据中心 建设方案 2015/11 精品文档 精品文档 目录 第1章 云数据中心总体方案 3 1.1 设计原则 3 1.2 系统建设拓扑图 4 1.2.1 xxxxx大学智慧 ...

  3. php个人云存储,使用OwnCloud搭建个人私有云存储

    OwnCloud是一个基于PHP开发的个人云盘工具,对于熟悉百度云盘的,界面操作上还是很相似的. 安装环境:ubuntu 14.04 LTS +LNMP1.1owncloud下载,下载tar.bz2的 ...

  4. 企业云办公最佳方案油塔企业云盘

    随着信息化时代的发展,YOTTA企业云盘受到市场的高度青睐.作为现代化的文件管理软件,企业云盘也为企业数据的存储.管理.利用带来了新的解决方案,云盘简单易用的操作打造高效的协同办公环境. 超强的文件管 ...

  5. 2023最新开源版ChatGPT3.5小程序源码无需服务器搭建+用阿里云函数搭建

    正文: 开源版本gpt3.5无需服务器搭建(阿里云函数) 搭建前说明:此教程使用阿里云函数搭建,搜阿里云函数,开通即可 此教程只是函数使用阿里云,数据库什么的不用动,如果你之前有版本上线,直接复制那个 ...

  6. 【方案搭建】如何通过国标GB28181协议视频平台搭建一套输油管网4G/5G远程视频联网巡检系统?

    建设背景 输油管线的日常检修工作是石油管道运输领域的难点.巡线工作主要包括:自然环境的变化对管线造成的损坏.人为对管道的破坏.设备老化情况.附属设备运行情况等进行巡查.当前,已经利用压力测量设备实时监 ...

  7. 阿里云服务器购买以及搭建

    阿里云服务器购买以及搭建 1 购买云服务器 2 开放端口 3 服务器公网ip地址 4 修改实例名称和密码 5 远程登录云服务器 6 搭建环境 (1) 使用宝塔面板快捷安装 (2)命令式搭建环境 6 发 ...

  8. 壳的相关知识与木马加壳改壳免杀及各类修改特征码免杀方法

    1.壳的分类:压缩壳和加密壳 2.壳的作用:保护和文件免杀 二.加壳免杀的几个弱点 1.不能躲过像瑞星这类具有内存查杀功能的杀毒软件. 2.一般不能躲过卡巴的查杀 因为卡巴采用了一种叫虚拟机技术.首先 ...

  9. 工业互联网新引擎——灵雀云 × 英特尔 5G融合边缘云解决方案

    近期,在江苏省企业信息化协会和苏州市工业互联网产业联盟联合主办的"装备制造龙头企业数字化转型研讨会"上,灵雀云解决方案架构师赵昕受邀参会,并进行了"工业互联网云原生平台的 ...

最新文章

  1. 技术面试,高效求职准则
  2. DevExpress中透明玻璃效果
  3. 设置同一Label内涵不同颜色字体
  4. GCD学习之dispatch_barrier_async
  5. ClickHouse设置用户名密码
  6. DHCP服务和NIS服务
  7. MYSQL在centos上主从配置
  8. Postgresql - MATERIALIZED VIEW
  9. 一种快速部署开发用oracle的办法
  10. java抓取网页数据_Python抓取网页数据的终极办法 !
  11. 需求分析报告和需求规格说明书有什么区别?
  12. python输出生日程序_python生日算法
  13. gcj编译java_用GCJ编译Java源文件成脱离JRE的exe可执行文件
  14. 会计未来十年发展趋势_谈未来十年会计行业的发展趋势
  15. 小熊派03—串口收发
  16. 姑娘,你需要台灯吗?
  17. NS3网络仿真项目(三)—— Events Simulator
  18. 篇2:基于windows10专业版搭建ftp服务器
  19. 【机器人学导论(第四版)】1-绪论
  20. python爬取网页返回响应中出现百度安全验证的解决办法

热门文章

  1. linux top 命令---VIRT,RES,SHR,虚拟内存和物理内存(
  2. 如何做Teams Bot的测试覆盖
  3. mysql两种引擎的适用场景_MySQL两种引擎的区别和应用场景
  4. 修改docker的默认存储位置及镜像存储位置
  5. 【Solidity】3.类型 - 深入理解Solidity
  6. Java并发编程-原子性变量
  7. 测试Live Writer 发表博客
  8. 过Div将页面分三块(上,中,下),然后通过Ext来改变Content的内容(三)--终结版
  9. ibatis学习笔记
  10. 昨日搬至办公室的书籍