开源防病毒引擎ClamAV

news2024/11/13 10:55:20

在这里插入图片描述

本文软件是应网友 Windows 的要求折腾的;

什么是 ClamAV ?

ClamAV 是一个开源 ( GPLv2 ) 反病毒工具包,专为邮件网关上的电子邮件扫描而设计。它提供了许多实用程序,包括灵活且可扩展的多线程守护程序、命令行扫描程序和用于自动数据库更新的高级工具。该软件包的核心是一个以共享库形式提供的反病毒引擎。

ClamAV 支持多平台安装,包括 WindowsmacOS LinuxDocker

在这里插入图片描述

但需要注意的是

  • ClamAV 不是传统的防病毒或端点安全套件;
  • 无论您使用的是官方 ClamAV docker 镜像还是运行 ClamAV 的第三方镜像,您都需要确保您有足够的 RAM

ClamAV 的推荐 RAM(截至 2020/09/20):

  • 最低:3 G
  • 首选:4 G

安装

在群晖上以 Docker 方式安装。

本文写作时,latest 对应的版本是 stable,也就是稳定版,具体对应的版本号是 1.1.0

如果你熟悉命令行,可能用 docker cli 更快捷。

SSH 客户端登录到群晖主机,然后在命令行执行下面的命令。在 docker 文件夹中,创建一个新文件夹 clamav,并在其中建一个子文件夹 data,其中 data 子目录是用于保存和持久化病毒库的

# 新建文件夹 clamav 和 子目录
mkdir -p /volume2/docker/clamav/data

# 进入 clamav 目录
cd /volume2/docker/clamav

# 下载镜像
docker pull clamav/clamav:latest

在这里插入图片描述

运行

下载病毒库

第一次运行,需要下载和更新病毒库

ClamAV 容器实际上默认同时运行freshclamclamd守护进程。要控制在容器内启动的服务的行为,需通过环境变量来控制。

官方的说明:https://docs.clamav.net/manual/Installing/Docker.html#controlling-the-container

#  更新病毒数据库
docker run -it \
   --rm \
   --name clamav \
   -v $(pwd)/data:/var/lib/clamav \
   -e CLAMAV_NO_FRESHCLAMD=false \
   clamav/clamav:latest

下载的时间取决于网络的情况

当看到 SelfCheck: Database status OK. 时,可以用 Ctrl+C 来退出容器的运行,--rm参数确保容器在退出后会被清理

回到 FileStation,在 data 中能看到下载的病毒库文件

在这里插入图片描述

运行 Clam(D) 扫描

Docker 无法访问任何的主机文件。因此,要在 Docker 中扫描这些文件,需要使用绑定挂载来挂载它们,以便可以访问。

例如:将主机目录 /path/to/scan 挂载在容器中作为 /scandir ,然后调用clamcan/scandir 上完成扫描

# 扫描主机 /path/to/scan 目录
docker run -it \
   --rm \
   --name clamav \
   -v /path/to/scan:/scandir \
   -v $(pwd)/data:/var/lib/clamav \
   clamav/clamav:latest \
   clamscan /scandir

下面的示例,是将群晖的 docker 目录挂载后进行扫描

硬盘崩溃之前,老苏的 docker 目录在 volume2 上;

# 示例:扫描 docker 目录
docker run -it \
   --rm \
   --name clamav \
   -v /volume2/docker:/scandir \
   -v $(pwd)/data:/var/lib/clamav \
   clamav/clamav:latest \
   clamscan /scandir

能直接看到扫描的详情

在这里插入图片描述

参考文档

Cisco-Talos/clamav: ClamAV - Documentation is here: https://docs.clamav.net
地址:https://github.com/Cisco-Talos/clamav

clamav/README.Docker.md at main · Cisco-Talos/clamav · GitHub
地址:https://github.com/Cisco-Talos/clamav/blob/main/README.Docker.md

ClamAVNet
地址:https://www.clamav.net/

Introduction - ClamAV Documentation
地址:https://docs.clamav.net/

ClamAV® blog
地址:https://blog.clamav.net/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/729704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尚硅谷Docker实战教程-笔记09【高级篇,DockerFile解析】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【基础篇,Docker理念简介、官网介绍、平台入门图解、平台架构图解】…

LSTM介绍

LSTM ft表示 遗忘门。LSTM对于每一次的输入,首先决定遗忘掉之前的哪些记忆。将ft和t-1时刻的细胞状态相乘,得出将遗忘哪些记忆。 记忆门 是用来控制是否将t时刻的数据并入细胞状态。tanh函数可以将此刻向量中的有效信息提取出来,为gt。sigmoid函数用于控制此刻多少记忆进入…

阿里云ACE认证和华为云HCIE认证对比分析

最近有不少小伙伴私信问我,阿里云、腾讯云、华为云这几大厂商的云认证,哪一个更好,今天有空来跟大家认真地分析一下。 01-从云计算市场占有率来看 作为国内云计算市场的探路人,阿里虽然一路走来有过很多坎坷,但也不负…

Linux系统优化策略

Linux系统优化策略 1.禁用不需要的服务 在Linux系统中禁用不需要的服务可以通过以下步骤进行: 使用以下命令查看当前正在运行的服务: systemctl list-unit-files --typeservice根据需要禁用特定的服务,使用以下命令: systemctl …

【LeetCode周赛】2022上半年题目精选集——双指针

文章目录 2271. 毯子覆盖的最多白色砖块数思路代码 2302. 统计得分小于 K 的子数组数目代码1——前缀和滑动窗口代码2——双指针 O ( 1 ) O(1) O(1)空间 (代码1的优化) https://leetcode.cn/circle/discuss/G0n5iY/ 2271. 毯子覆盖的最多白色砖块数 22…

Win10安全中心怎么关闭?Win10安全中心关闭方法

Win10安全中心怎么关闭?关闭Win10的安全中心可以帮助用户自定义系统的安全和防护设置,但有些用户不知道怎么操作才能关闭安全中心,首先用户需要打开Win10电脑的设置选项,接着打开安全中心,然后关掉安全中心的实时保护、…

STM32CubeMX使用示例---生成LED闪烁工程

这里记录一下通过STM32CubeMX配置STM32G030C8T6,生成LED闪烁的示例工程的过程,用来学习使用STM32CubeMX; 以STM32G030C8T6 PB4 脚做LED 输出闪烁为例,外部8MHZ 晶振,系统主频64MHZ,LED 灯1 秒钟闪烁一次做一个示例程序。 文章目录…

Go语言程序设计(八)数据输入输出

Go语言提供了多种用于实现数据输入、输出的函数,这些函数在fmt包中实现。在输入、输出数据时,首先要导入fmt包,导入语句为: import "fmt" 一、标准输出函数 数据输出(Data Output),是计算机对各类输入数据进行加工处理后,将结果以用户所要求的形式输出到标准输出设…

OpenCV使用`clone()`函数来进行深度拷贝,拷贝后的`image_clone`修改不会影响原始图像`image`

这是完整的代码: #include <opencv2/opencv.hpp>int main() {// 创建一个白色的图像cv::Mat image(500, 500, CV_8UC3, cv

SpringCloud微服务(三)RabbitMQ、SpringAMQP、elasticsearch、DSL、MQ、ES详细介绍

目录 一、初始MQ 同步调用 异步调用 什么是MQ 执行下面的命令来运行MQ容器&#xff1a; 如果冲突了&#xff0c;可以先查询 RabbitMQ概述 常见消息模型 HelloWorld案例 二、SpringAMQP 引入依赖 Work Queue 消费预取限制 ​编辑 发布、订阅 发布订阅Fanout Ex…

作物计数方法之合并信息生成json标签的方法

在研究农情的方向中&#xff0c;作物计数是一个很重要的方向&#xff0c;前文已经提到了一些要使用的方法 前文链接&#xff1a;作物计数方法汇总_追忆苔上雪的博客-CSDN博客 在研究计数过程中&#xff0c;还需要将上文处理过的数据信息存入json文件方便后续使用&#xff0c;这…

Array.from详解

德玛玩前端 2023-07-07 在以往的开发中&#xff0c;对于Array.from的了解是from是Array的静态方法&#xff0c;可以将类数组和迭代对象转换为数组&#xff0c;可以结合Set集合快速实现数组的去重&#xff0c;一直以为Array,from()只有一个参数&#xff0c;不是传类数组就是可迭…

idea打包项目时报错 There are test failures

出现这个错误时要点击跳过测试类的按钮&#xff0c;图中的这个圆圈&#xff0c;可以看到test已经被划掉了 再点击package打包&#xff0c;成功。

启航RK3588边缘计算之旅:保定飞凌OK3588开发板

启航RK3588边缘计算之旅&#xff1a;保定飞凌OK3588开发板 引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;人们对于能够提供高性能和灵活性的智能设备有着极大的需求。作为人工智能领域的先锋企业&#xff0c;保定飞凌公司在设计和生产高性能处理器方面取得了卓越的…

在服务器从零开始配置conda、pytorch、cv2

疯掉了 希望是最后一次 0.配置WinSCP和PUTTY 在Windows上使用PuTTY进行SSH连接-腾讯云开发者社区-腾讯云 1.配置conda 如何在Linux服务器上安装Anaconda&#xff08;超详细&#xff09;_linux安装anaconda_流年若逝的博客-CSDN博客 实验室远程登录Linux服务器并配置环境_远…

Linux性能优化实践——平均负载

平均负载&#xff08;Load Average&#xff09; 当我们输入uptime命令时&#xff0c; 这里有几个参数&#xff0c;解释如下 0:54 &#xff1a;当前时间&#xff1b;up 50 mins&#xff1a;系统运行时间&#xff1b;2 users&#xff1a;正在登录用户数&#xff1b;load avera…

活动回顾| 萌啦科技亮相第三届东南亚大会,用数据赋能助力东南亚出海新机遇!

“聚焦深耕”资源对接 6月30日&#xff0c;由DNY123东南亚卖家导航主办的聚焦深耕——第三届东南亚电商本地化&品牌资源对接会在深圳圆满结束。 本次对接会以"聚焦深耕"为主题&#xff0c;旨在推动东南亚电商业务的本地化发展&#xff0c;并促进品牌资源的互通与…

考研的尽头是考公?

2022年12月23日&#xff0c;作为中国诞生于互联网的职业考试培训行业市场领导者的粉笔有限公司&#xff08;“粉笔”或“公司”&#xff09; &#xff0c;早前通过港交所上次聆讯后开始招股。 据悉&#xff0c;粉笔计划发售20&#xff0c;000&#xff0c;000股股份&#xff08;…

win系统删除oracle数据文件恢复---惜分飞

有客户联系我们,说win平台下的数据库,在由于空间紧张,在关闭数据库的情况下删除的两个数据文件,导致数据库无法正常访问很多业务表,需要对其进行恢复,查看alert日志发现大概操作,删除文件之后,启动数据库失败 Completed: alter database mount exclusive alter database open E…

十八、Jenkins(centos7)执行接口自动化测试脚本,飞书推送测试结果消息

十八、Jenkins&#xff08;centos7&#xff09;执行接口自动化测试脚本&#xff0c;飞书推送测试结果消息 1.创建 Freestyle project 项目 2. 输入git仓库地址 https://gitee.com/HP_mojin/pytest_allure_request_20220811 3. 增加构建步骤-Execute shell&#xff08;Jenkins…