CentOS 7如何将ClamAV集成到PureFTPd中进行病毒查杀
本教程适用于这些操作系统版本
- 中央操作系统 7
- 中央操作系统 5.4
在此页
- 1 条初步说明
- 2 安装 ClamAV
- 3 配置 PureFTPd
- 4 虚拟机映像
- SSH登录
- MariaDB 登录
本教程解释了如何将 ClamAV 集成到 PureFTPd 中以在 CentOS 7 系统上进行病毒扫描。最后,无论何时通过 PureFTPd 上传文件,ClamAV 都会检查文件并在文件包含病毒或恶意软件时将其删除。
1 初步说明
你应该在你的 CentOS 7 服务器上有一个工作的 PureFTPd 设置,例如如本教程所示:CentOS 7 上使用 PureFTPd 和 MySQL 的虚拟主机(包括配额和带宽管理)。
2 安装ClamAV
ClamAV 在官方 CentOS 存储库中不可用,因此,我们启用 EPEL 存储库(如果您还没有这样做。首先导入 RPM GPK 密钥。
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
然后我们在 CentOS 系统上启用 EPEL 存储库,因为我们将在本教程中安装的许多软件包在官方 CentOS 7 存储库中不可用:
yum -y install epel-release
yum -y install yum-priorities
编辑 /etc/yum.repos.d/epel.repo...
nano /etc/yum.repos.d/epel.repo
...并将行 priority=10 添加到 [epel] 部分:
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [...]
然后我们更新系统上现有的包:
yum update
之后,我们可以按如下方式安装 ClamAV:
yum -y clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
编辑文件 /etc/freshclam.conf 并注释掉示例行:
nano /etc/freshclam.conf
通过在 Example 行前面添加 # :
.....
# Comment or remove the line below.
# Example
....然后编辑文件 /etc/clamd.d/scan.conf:
nano /etc/clamd.d/scan.conf
并像我们在上面的文件中那样注释掉 Example 行,并删除 LocalSocket 行前面的 #。
.....
# Comment or remove the line below.
# Example
....
LocalSocket /var/run/clamd.scan/clamd.sock
....接下来我们为 clamd 创建系统启动链接并启动它:
systemctl enable
freshclam然后启动clamav服务:
systemctl start
您可以使用以下命令检查 ClamAV 守护进程的状态:
systemctl status
结果应该是这样的:
[
??10945 /usr/sbin/clamd -c /etc/clamd.d/scan.conf --nofork=yesApr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.
Apr 07 15:44:36 server1.example.com clamd[10945]: PDF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: SWF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.3 配置 PureFTPd
首先我们打开 /etc/pure-ftpd/pure-ftpd.conf 并将 CallUploadScript 设置为 yes :
nano /etc/pure-ftpd/pure-ftpd.conf
[...] # If your pure-ftpd has been compiled with pure-uploadscript support, # this will make pure-ftpd write info about new uploads to # /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and # spawn a script to handle the upload. # Don't enable this option if you don't actually use pure-uploadscript. CallUploadScript yes [...]
接下来我们创建文件 /etc/pure-ftpd/clamav_check.sh(每当通过 PureFTPd 上传文件时,它将调用 /usr/bin/clamdscan)...
nano /etc/pure-ftpd/clamav_check.sh
#!/bin/sh /usr/bin/clamdscan --fdpass --remove --quiet --no-summary -c /etc/clamd.d/scan.conf "$1"
...并使其可执行:
chmod 755 /etc/pure-ftpd/clamav_check.sh
现在我们将 pure-uploadscript 程序作为守护进程启动——只要通过 PureFTPd 上传文件,它就会调用我们的 /etc/pure-ftpd/clamav_check.sh 脚本:
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
当然,您不想每次启动系统时都手动启动守护进程 - 因此我们打开 /etc/rc.local...
nano /etc/rc.local
... 并向其中添加行 /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh - 例如如下:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh touch /var/lock/subsys/local
最后我们重启 PureFTPd:
systemctl restart
就是这样!现在,每当有人试图通过 PureFTPd 将恶意软件上传到您的服务器时,“坏”文件将被静默删除。
4 虚拟机镜像
本教程以 OVA/OVF 格式的虚拟机可供 Howtoforge 订阅者使用。 VM 格式兼容 VMWare 和 Virtualbox 以及其他可以导入此格式的工具。您可以在顶部的右侧菜单中找到下载链接。单击文件名开始下载。
VM 的登录详细信息为:
SSH登录
用户名:root
密码:howtoforge登录
用户名:root
密码:howtoforge请在首次启动后更改密码。
5个链接
- PureFTPD:http://www.pureftpd.org/
- ClamAV:http://www.clamav.net/
- CentOS:http://www.centos.org/