CentOS服务器承载着各类业务服务,恶意软件入侵可能导致数据泄露、服务中断等严重问题,安装并合理配置防病毒软件是防护体系的重要组成部分。常用的开源防病毒软件ClamAV适配CentOS系统,能有效检测各类恶意程序、木马、病毒文件,下面介绍完整的部署和使用流程。

安装ClamAV防病毒软件
CentOS默认仓库包含ClamAV相关包,直接使用yum命令安装即可,执行以下命令完成基础组件安装:
# 安装ClamAV核心组件和扫描工具 yum install -y clamav clamav-update clamav-scanner
安装完成后需要更新病毒库,首次更新会下载完整的病毒特征库,执行以下命令:
# 更新病毒库,需要保证服务器能访问外网 freshclam
配置ClamAV扫描规则
默认配置可以满足基础扫描需求,针对服务器场景可以调整配置文件优化扫描效果,配置文件路径为/etc/clamd.d/scan.conf,主要调整以下参数:
- LogFile:指定扫描日志存储路径,方便后续排查问题
- MaxThreads:设置扫描线程数,根据服务器CPU核心数调整,避免占用过多资源
- ExcludePath:排除不需要扫描的目录,比如临时文件目录、备份目录
调整后重启扫描服务使配置生效:
# 重启ClamAV扫描服务 systemctl restart clamav-daemon # 设置开机自启 systemctl enable clamav-daemon
执行手动扫描与定时扫描
手动扫描操作
针对指定目录执行扫描可以直接使用clamdscan命令,扫描/home目录的示例如下:
# 扫描/home目录,显示详细结果,发现恶意文件时输出告警 clamdscan --multiscan --fdpass /home
如果需要扫描系统所有目录,可以执行以下命令,扫描过程会持续较长时间:
# 扫描根目录所有文件 clamdscan --multiscan --fdpass /
配置定时自动扫描
通过crontab设置每日定时扫描,避免人工操作的遗漏,编辑crontab配置:
# 编辑当前用户的定时任务 crontab -e
添加以下内容,设置每日凌晨2点扫描/var和/home目录,扫描结果输出到日志文件:
# 每日2点执行扫描,结果写入指定日志文件 0 2 * * * /usr/bin/clamdscan --multiscan --fdpass /var /home >> /var/log/clamav_daily_scan.log 2>&1
恶意文件处理与日常维护
扫描发现恶意文件后,ClamAV默认只会标记不会自动删除,需要手动处理,首先查看扫描日志确认恶意文件路径:
# 查看扫描日志,找到恶意文件路径 cat /var/log/clamav_daily_scan.log | grep "FOUND"
确认文件无业务用途后删除即可,如果是误报可以添加到白名单配置中。日常维护需要注意定期更新病毒库,可以在crontab中添加每周更新病毒人物的任务:
# 每周日凌晨3点更新病毒库 0 3 * * 0 /usr/bin/freshclam
同时建议每月检查一次ClamAV服务运行状态,确保防护功能正常生效,避免服务异常导致防护缺失。
注意事项
- 扫描过程会占用一定系统资源,建议将定时扫描安排在业务低峰时段
- 病毒库需要定期更新,否则无法检测最新出现的恶意软件
- 防病毒软件只是防护的一部分,还需要配合防火墙、权限控制等措施构建完整的安全体系
- 不要随意添加排除目录,避免恶意文件藏匿在排除的目录中无法被检测