日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源网站云查杀方案,搭建自己的云杀毒。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  最近公司的一個客戶被勒索病毒攻擊了,可悲的是,客戶的文件附件太多而且大,沒有做雙機熱備的功能。當客戶發現病毒后,還第一時間格式化了服務器。那叫一個慘!!!!!初步分析導致中毒的原因可能有:

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

希望大家幫忙點下星星,寫代碼不容易。鼓勵下寫代碼的動力。

總結

以上是生活随笔為你收集整理的开源网站云查杀方案,搭建自己的云杀毒。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。