|
需求:站点有文件上传功能,允许用户上传任意文件,需要简单对用户上传的文件进行病毒扫描。网站使用 .NET 开发的,需要调用 ClamAV 对文件进行病毒扫描。
关于 ClamAV
ClamAV 是一个开源防病毒引擎,用于检测木马、病毒、恶意软件和其他恶意威胁。ClamAV 由思科系统股份有限公司提供。
源码地址:https://github.com/Cisco-Talos/clamav
程序下载:https://www.clamav.net/downloads
文档地址:https://docs.clamav.net/
Windows 部署 ClamAV
硬件要求:内存 3G+,1 CPU at 2.0 Ghz+,磁盘空间 5 GiB+
下载“clamav-1.4.1.win.x64.zip”压缩包,地址:https://www.clamav.net/downloads/production/clamav-1.4.1.win.x64.zip,下载完成后解压。
找到 conf_examples 文件夹,将 clamd.conf.sample、freshclam.conf.sample 复制到解压根目录下面,然后,将 .sample 扩展名删除。
编辑 freshclam.conf 配置如下:
编辑 clamd.conf 配置如下:
首先,使用命令行窗口运行 freshclam.exe 程序来更新病毒库,如下图:
D:\安装包\clamav-1.4.1.win.x64>freshclam.exe
Creating missing database directory: D:\ClamAV\database
ClamAV update process started at Fri Sep 20 09:32:00 2024
daily database available for download (remote version: 27403)
Time: 55.6s, ETA: 0.0s [========================>] 61.18MiB/61.18MiB
Testing database: 'D:\ClamAV\database\tmp.d64fd1cf48\clamav-ad91cd251b522559b99112e9a7995de9.tmp-daily.cvd' ...
Database test passed.
daily.cvd updated (version: 27403, sigs: 2066962, f-level: 90, builder: raynman)
main database available for download (remote version: 62)
Time: 2m 28s, ETA: 0.0s [========================>] 162.58MiB/162.58MiB
Testing database: 'D:\ClamAV\database\tmp.d64fd1cf48\clamav-805c2cf0ba744d985fd353443d712278.tmp-main.cvd' ...
Database test passed.
main.cvd updated (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
bytecode database available for download (remote version: 335)
Time: 0.9s, ETA: 0.0s [========================>] 282.94KiB/282.94KiB
Testing database: 'D:\ClamAV\database\tmp.d64fd1cf48\clamav-536bbccba0eea1b222515688f1c6e113.tmp-bytecode.cvd' ...
Database test passed.
bytecode.cvd updated (version: 335, sigs: 86, f-level: 90, builder: raynman)
更新完成后,使用命令行窗口运行 clamd.exe 程序,如下图:
.NET 调用 ClamAV 扫描病毒
新建 .NET 8 控制台应用,无需引用任何第三方依赖,源码如下:
下载一些木马病毒样本进行测试,地址:https://bazaar.abuse.ch/browse/
扫描结果如下:
(完)
|
上一篇:.NET/C# 调用华为云 OCR 营业执照识别接口下一篇:Windows 解决 SSH 连接到 Linux 过段时间自动断开问题
|