ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как интегрировать ClamAV в PureFTPd для антивирусной проверки CentOS 7

Как интегрировать ClamAV в PureFTPd для антивирусной проверки CentOS 7

На этой странице

  1. Предварительная справка
  2. Установка ClamAV
  3. Настройка PureFTPd
  4. Образ виртуальной машины
    1. Войти через SSH
    2. MariaDB Войти
  5. Ссылки

В этом руководстве мы расскажем вам, как интегрировать ClamAV в PureFTPd для поиска вирусов в операционной системе CentOS 7. Каждый раз, когда вы будете загружать файл через PureFTPd, ClamAV будет проверять файл на предмет содержания вируса или вредоносного ПО и в случае обнаружения, и удалять этот файл.

 

1. Предварительная справка

У Вас должна стоять рабочая установка PureFTPd на вашем CentOS 7 – сервере, например, как показано в этом гиде, как установить PureFTPd и MySQL на виртуальный хостинг в системе CentOS 7 (включая квотирования и управлением пропускной способностью).

 Как интегрировать ClamAV в PureFTPd для антивирусной проверки CentOS 7

 

2. Установка ClamAV

ClamAV не доступен в официальных репозиториях CentOS, поэтому мы включаем репозиторий Epel (если вы еще не сделали этого. Начните с импорта ключей RPM GPK.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Затем мы включаем репозиторий Epel на нашей системе CentOS, как много пакетов, которые мы собираемся установить в ходе этого урока не доступны в официальном 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

путем добавления # перед строкой Пример:

..... 
# Комментарий или удалить строку ниже. 
# Пример 

....

Затем отредактируйте файл /etc/clamd.d/scan.conf:

nano /etc/clamd.d/scan.conf

и закомментируйте строку Пример, как мы делали это в файле выше и удалите # перед LocalSocket.

..... 
# Комментарий или удалить строку ниже. 
# Пример 

.... 
LocalSocket /var/run/clamd.scan/clamd.sock 
....

Далее мы создаем ссылку для запуска в системе clamd и запустим его:

systemctl enable clamd@.service
freshclam

Затем запустите службу ClamAV:

systemctl start clamd@.service

Вы можете проверить состояние демона ClamAV с помощью следующей команды:

 systemctl  status clamd@scan

Результат должен быть таким:

[root@сервер system]# systemctl status clamd@scan
? clamd@scan.service - Generic clamav scanner daemon
Loaded: loaded (/usr/lib/systemd/system/clamd@scan.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2016-08-14 18:30:21 CEST; 1min 40s ago
Main PID: 10955 (clamd)
CGroup: /system.slice/system-clamd.slice/clamd@scan.service
??10945 /usr/sbin/clamd -c /etc/clamd.d/scan.conf --nofork=yes
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: HTML support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: XMLDOCS support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: HWP3 support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: Self checking every 600 seconds.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: PDF support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: SWF support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: HTML support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: XMLDOCS support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: HWP3 support enabled.
Apr 09 12:14:10 сервер.пример.ру clamd[10955]: 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 (который будет вызывать /usr/bin/clamdscan в случае загрузки файла через PureFTPd) …

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 как демон – он будет вызывать наш скрипт /etc/pure-ftpd/clamav_check.sh в случае загрузки файла через PureFTPd:

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 clamd@.service

Вот и все! Теперь каждый раз, когда кто-то будет пытаться загрузить вредоносные программы на ваш сервер через PureFTPd, будет молча удалять вредоносный файл (с).

4. образ виртуальной машины

Этот учебник доступен как готовый к использованию в виртуальной машине в формате OVA / OVF для абонентов Howtoforge. Формат VM совместим с VMWare и Virtualbox и других инструментов, которые могут импортировать этот формат. Вы можете найти ссылку для загрузки в меню справа вверху. Нажмите на имя файла, чтобы начать загрузку.

Детали входа в систему виртуальной машины:

Вход по SSH

Username: root
Password: AndreyEx_root

Вход в MariaDB

Username: root
Password: AndreyEx_root

Пожалуйста, измените пароли после первой загрузки.

 

Exit mobile version