CentOS 7如何将ClamAV集成到PureFTPd中进行病毒查杀CentOS 7如何将ClamAV集成到PureFTPd中进行病毒查杀CentOS 7如何将ClamAV集成到PureFTPd中进行病毒查杀CentOS 7如何将ClamAV集成到PureFTPd中进行病毒查杀
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

CentOS 7如何将ClamAV集成到PureFTPd中进行病毒查杀

本教程适用于这些操作系统版本

  • 中央操作系统 7
  • 中央操作系统 5.4

在此页

  1. 1 条初步说明
  2. 2 安装 ClamAV
  3. 3 配置 PureFTPd
  4. 4 虚拟机映像
    1. SSH登录
    2. 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=yes
    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.
    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/

©2015-2025 艾丽卡 support@alaica.com