一、下载与安装
1. 下载 ClamAV RPM 在可联网的机器上,从官方 ClamAV 网站下载最新版 RPM 包:
wget https://www.clamav.net/downloads/production/clamav-1.5.4.linux.aarch64.rpm
2. 上传并安装
将下载的 RPM 包上传到目标服务器,并执行以下命令安装到指定目录:
rpm -ivh --prefix=/usr/local/clamav clamav-1.5.4.linux.aarch64.rpm
二、用户与目录配置
1. 添加 ClamAV 用户和用户组
groupadd clamav
useradd -g clamav clamav
2. 创建日志、病毒库与套接字目录
mkdir -p /usr/local/clamav/logs mkdir -p /usr/local/clamav/update mkdir -p /usr/local/clamav/socket
3. 创建日志文件并授权
touch /usr/local/clamav/logs/clamd.log touch /usr/local/clamav/logs/freshclam.log chown -R clamav:clamav /usr/local/clamav/logs chown -R clamav:clamav /usr/local/clamav/update chown -R clamav:clamav /usr/local/clamav/socket
三、配置 ClamAV
1. 配置 clamd.conf
复制示例配置文件并修改:
cp /usr/local/clamav/etc/clamd.conf.sample /usr/local/clamav/etc/clamd.conf vi /usr/local/clamav/etc/clamd.conf
主要修改内容:
#Example # 注释掉示例行 LogFile /usr/local/clamav/logs/clamd.log PidFile /usr/local/clamav/update/clamd.pid DatabaseDirectory /usr/local/clamav/update LocalSocket /usr/local/clamav/socket/clamd.socket TCPSocket 3310 MaxThreads 64
2. 配置 freshclam.conf
复制示例配置文件并修改:
cp /usr/local/clamav/etc/freshclam.conf.sample /usr/local/clamav/etc/freshclam.conf vi /usr/local/clamav/etc/freshclam.conf
主要修改内容:
#Example # 注释掉示例行 DatabaseDirectory /usr/local/clamav/update UpdateLogFile /usr/local/clamav/logs/freshclam.log PidFile /usr/local/clamav/update/freshclam.pid
将配置文件复制到系统目录:
cp /usr/local/clamav/etc/*.conf /usr/local/etc/
四、配置库文件路径
为了让 ClamAV 可以正确加载库文件,编辑 /etc/ld.so.conf 并追加:
/usr/local/clamav/lib64
然后更新配置:
ldconfig
启动会有个报错
[root@localhost update]# /usr/local/clamav/sbin/clamd LibClamAV Error: Failed to create a new code-signature verifier: Can't verify: Invalid certs directory '/usr/local/etc/certs': No such file or directory (os error 2) ERROR: Broken or not a CVD file
#解决方案
方法一:修改配置文件
编辑 clamd.conf 配置文件:
vim /usr/local/etc/clamd.conf
修改证书目录配置:
# 如果存在这行,直接修改路径
# 如果不存在,直接在文件末尾加上这行
SignedDbs /usr/local/clamav/etc/certs/clamav.crt
保存并退出,然后重新启动 clamd:
/usr/local/clamav/sbin/clamd
方法二:复制文件到程序预期的目录
既然程序非要去找 /usr/local/etc/certs,我们就手动把这个文件放进去
创建缺失的目录:
mkdir -p /usr/local/etc/certs
把证书文件复制过去:
cp /usr/local/clamav/etc/certs/clamav.crt /usr/local/etc/certs/
重新启动:
/usr/local/clamav/sbin/clamd
五、离线病毒库安装
下载病毒库文件并上传至 /usr/local/clamav/update
https://cloud.tencent.com/developer/tools/blog-entry?target=https%3A%2F%2Fdatabase.clamav.net%2Fmain.cvd&objectId=2585072&objectType=1&contentType=rich
https://cloud.tencent.com/developer/tools/blog-entry?target=https%3A%2F%2Fdatabase.clamav.net%2Fdaily.cvd&objectId=2585072&objectType=1&contentType=rich
https://cloud.tencent.com/developer/tools/blog-entry?target=https%3A%2F%2Fdatabase.clamav.net%2Fbytecode.cvd&objectId=2585072&objectType=1&contentType=rich
服务器如果可联网,也可以使用 freshclam 更新病毒库:
/usr/local/clamav/bin/freshclam
六、启动与使用
/usr/local/clamav/sbin/clamd
netstat -tuln | grep 3310
使用 clamscan 扫描
# 扫描指定目录 /usr/local/clamav/bin/clamscan -r /home # 后台运行扫描 nohup /usr/local/clamav/bin/clamscan -r / > clamscan.log 2>&1 &
七、设置开机自动更新
1. 守护进程模式启动 freshclam
/usr/local/clamav/bin/freshclam --daemon
2. 加入开机启动脚本
chmod +x /etc/rc.d/rc.local echo "/usr/local/clamav/bin/freshclam --daemon" >> /etc/rc.d/rc.local echo "/usr/local/clamav/sbin/clamd" >> /etc/rc.d/rc.local
3. 定时任务更新病毒库
编辑 crontab:
crontab -e
添加定时任务,例如每天凌晨 3 点更新:
0 3 * * * /usr/local/clamav/bin/freshclam
八、卸载 ClamAV
rpm -e clamav