这是关于如何在Linux上部署ClamAV并设置它与其他安全系统无缝协作的详细描述。目标是创建一个安全、资源高效且具备有效自动恶意软件扫描能力的环境。
1. 系统准备和资源要求
在开始之前,您应该评估当前的RAM和CPU容量。ClamAV需要至少2GB RAM才能舒适运行,但如果配置合理,1GB RAM仍然可以运行。对于低于2GB RAM的服务器,应限制持续的全系统扫描,仅扫描重要目录,例如网站文件夹、上传目录和电子邮件目录。
ModSecurity和CSF本身不消耗太多RAM,因此如果服务器具有2个CPU和2GB RAM或更高,添加ClamAV不会造成太大的压力。当资源稳定时,同时运行这三个安全系统的能力将很流畅。
2. 从官方仓库安装ClamAV
在AlmaLinux、Rocky Linux或CentOS Stream(CyberPanel最常用的操作系统)上,ClamAV已包含在EPEL仓库中。您只需启用EPEL并安装即可。
打开终端并执行:
Bash
dnf install epel-release -y
dnf install clamav clamav-update -y
安装完成后,您需要更新病毒数据库,以便ClamAV能够识别最新的恶意软件样本:
Bash
freshclam
在某些服务器上,freshclam作为守护程序运行。如果看到提示它正在后台运行的消息,您只需重新启动它:
Bash
systemctl restart clamav-freshclam
数据库成功更新后,ClamAV即可运行。
3. 将ClamAV集成到CyberPanel管理的Web目录中
例如,在CyberPanel上,网站存储在/home/USERNAME/public_html。为确保ClamAV扫描正确的对象,您应该配置它以精确扫描源代码目录。
示例:
Bash
clamscan -r /home --bell -i
此命令将扫描系统中所有正在运行的站点。但是,如果您拥有许多大型网站,扫描整个/home目录可能会花费很长时间。在这种情况下,您可以按单个网站划分扫描:
Bash
clamscan -r /home/domain1.com/public_html
为了获得最佳性能,您应该安排扫描在夜间运行,以避免在服务器忙于处理流量的白天影响CPU。
4. 使用Cron创建自动恶意软件扫描计划
Cron通过在低峰时段运行,帮助ClamAV更有效地运行。例如,您可以将其设置为在凌晨2点(用户流量最少的时间)扫描。
添加计划:
Bash
crontab -e
输入内容:
Bash
0 2 * * * clamscan -ri /home --log=/var/log/clamav/scan.log
多亏了这一点,ClamAV将自动扫描并保存报告,您只需定期检查,而无需手动运行。
5. 检查与ModSecurity的兼容性
ModSecurity与ClamAV完全独立运行。它在OpenLiteSpeed处理之前分析HTTP请求。同时,ClamAV仅在请求完成后或用户上传文件时才读取文件。这两个组件之间没有重叠的过程。
您唯一需要避免的是让ModSecurity阻止ClamAV需要检查的合法文件上传。如果网站上传大型zip文件,可能会发生这种情况。在这种情况下,您只需适当调整ModSecurity规则,但这与ClamAV无关。
实际上,在已部署的数百个CyberPanel系统中,ModSecurity和ClamAV从未造成直接冲突。
6. 与CSF的兼容性及稳定的防火墙配置
CSF充当系统防火墙,监控端口并限制连接速度。它不监控或干扰内部文件扫描活动。因此,ClamAV不需要打开任何特殊端口,也不会影响CSF的数据包过滤过程。
在某些服务器上,当ClamAV正在扫描时,CSF可能会记录高CPU活动。这不是冲突,而只是一个通知。如果您想限制警告,可以更改CSF中的警告级别,或将ClamAV的扫描周期重新配置到CPU活动较少的时间。
至关重要的是,ClamAV不会导致IP阻塞、不会打开端口、也不会记录连接,因此与CSF完全分离。这种组合进一步增强了CyberPanel的安全性。
7. 如果在CyberPanel上使用MailServer,则启用电子邮件扫描
如果您使用CyberPanel附带的电子邮件系统(Postfix + Dovecot),您可以集成ClamAV来扫描传入的电子邮件。这可以防止恶意软件通过内部电子邮件系统传播。
首先,安装clamav-daemon:
Bash
dnf install clamav-daemon -y
systemctl enable --now clamd@scan
然后,配置Postfix通过套接字/var/run/clamd.scan/clamd.sock使用ClamAV。这是针对大型电子邮件系统的扩展配置,但对于大多数运行网络的普通VPS,没有必要启用此功能。
8. 处理受感染文件并检查日志
ClamAV不会自动删除文件以避免风险。当它检测到恶意软件时,它会将文件路径记录在日志中。您只需打开:
Bash
cat /var/log/clamav/scan.log
一旦确认为恶意软件,您可以删除它:
Bash
rm -f /path/to/infected/file
如果它是网站的系统文件,您应该从CyberPanel备份中恢复它或重新上传干净的源代码。
9. 在小型VPS上使用ClamAV时优化资源
许多人担心ClamAV消耗太多RAM。如果您在高峰时段持续运行扫描或在1GB RAM的VPS上运行,确实如此。但是,您可以通过以下方式限制负载:
- 将扫描频率限制为每晚一次。
- 仅扫描Web目录,不扫描整个服务器。
- 如果不使用电子邮件扫描,则禁用
clamd守护程序。
经过这些调整后,ClamAV运行起来非常轻巧,甚至适用于1GB RAM的VPS。


Bài Viết Liên Quan
检查您的VPS是否因资源使用异常而被黑客入侵。
CSF 是一款强大且易于控制的 Linux 服务器防火墙
网络攻击时代服务器的无声盾牌
JetBrains AI 与 GitHub Copilot 联用导致 WordPress VPS 崩溃 一次快速优化如何释放内存并清除恶意代码
WordPress 6.9.1:巩固全球最受欢迎网站发布平台基础的重要维护版本
WooCommerce 安全回顾:从安全警报到长期战略
Bài Viết Cùng thể loại
检查您的VPS是否因资源使用异常而被黑客入侵。
JetBrains AI 与 GitHub Copilot 联用导致 WordPress VPS 崩溃 一次快速优化如何释放内存并清除恶意代码
OWASP Coraza WAF 是否支持 OpenLiteSpeed 和 CyberPanel?
云服务器与VPS:真正的差异在哪里?深度解析
CustomBuild 简介