这是关于如何在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
CyberPanel是什么 为什么它是PHP最佳免费控制面板之一
什么是BeTheme?为什么它一直是最受欢迎的WordPress主题之一?
Avada——为何仍是全球使用最多的WordPress主题
什么是 Porto 主题?超越 WooCommerce 优化的多用途解决方案
什么是 Woodmart 主题?现代网页设计中“厚重但值得”的真正力量
Flatsome 为什么它成为使用最多的WooCommerce主题
Bài Viết Cùng thể loại
CyberPanel是什么 为什么它是PHP最佳免费控制面板之一
检查您的VPS是否因资源使用异常而被黑客入侵。
JetBrains AI 与 GitHub Copilot 联用导致 WordPress VPS 崩溃 一次快速优化如何释放内存并清除恶意代码
OWASP Coraza WAF 是否支持 OpenLiteSpeed 和 CyberPanel?
云服务器与VPS:真正的差异在哪里?深度解析
CustomBuild 简介