Гид по технологиям

Интеграция ClamAV с PureFTPd для сканирования вирусов на Mandriva 2010.0

• 4 min read • Серверы • Обновлено 26 Nov 2025
ClamAV и PureFTPd на Mandriva 2010 — настройка
ClamAV и PureFTPd на Mandriva 2010 — настройка

TL;DR

ClamAV можно подключить к PureFTPd через pure-uploadscript: при загрузке файлов PureFTPd вызывает скрипт, который запускает clamdscan и удаляет заражённые файлы. В статье приведены шаги установки, конфигурации, автозапуска и проверки работоспособности.

Версия и автор

Version 1.0
Author: Falko Timme
Следите за мной в Twitter

О чём статья

Это руководство показывает, как интегрировать ClamAV в PureFTPd для сканирования загружаемых файлов на сервере Mandriva 2010.0. В итоге при каждой загрузке через PureFTPd ClamAV проверит файл и удалит его, если он является вредоносным. Гарантий не даётся — проверяйте на тестовом окружении.

1 Предварительная заметка

У вас должен быть рабочий PureFTPd на Mandriva 2010.0, например, как в руководстве «Virtual Hosting With PureFTPd And MySQL (Incl. Quota And Bandwidth Management) On Mandriva 2009.1». Практика для 2009.1 применима и к 2010.0.

2 Установка ClamAV

Установите ClamAV и демон сканирования:

urpmi clamd clamav

Создайте ссылки автозапуска для clamd и freshclam и запустите их:

chkconfig clamd on
chkconfig freshclam on
/etc/init.d/clamd start

Обновите базы и запустите обновление как сервис:

freshclam
/etc/init.d/freshclam start

Важно: убедитесь, что базы обновляются регулярно. Если freshclam не работает, сканирование не найдёт новых сигнатур.

3 Настройка PureFTPd

Откройте конфигурационный файл PureFTPd и включите поддержку CallUploadScript — это позволит pure-uploadscript получать информацию о новых загрузках и запускать обработчик.

vi /etc/pure-ftpd/pure-ftpd.conf

Найдите (или добавьте) строку и установите:

CallUploadScript yes

Скрипт проверки ClamAV

Создайте файл-обработчик, который будет вызывать clamdscan при загрузке файла.

vi /etc/pure-ftpd/clamav_check.sh

Добавьте в него содержимое:

#!/bin/sh
/usr/bin/clamdscan --remove --quiet --no-summary "$1"

Сделайте скрипт исполняемым:

chmod 755 /etc/pure-ftpd/clamav_check.sh

Примечание: параметр –remove заставляет clamdscan удалять обнаруженные вредоносные файлы. Если вы предпочитаете сохранять файлы и перемещать их в карантин, замените опцию на соответствующую реализацию (mv, quarantine folder и т. п.).

Запуск pure-uploadscript

Запустите pure-uploadscript как демона, чтобы он вызывал ваш скрипт при каждой загрузке:

pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh

Чтобы демон запускался при загрузке системы, добавьте вызов в /etc/rc.local:

vi /etc/rc.local

Добавьте строку (пример содержимого файла):

#!/bin/sh
#
### BEGIN INIT INFO
# Provides: rc.local
# X-Mandriva-Compat-Mode
# Default-Start: 2 3 4 5
# Short-Description: Local initialization script
# Description: 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.
### END INIT INFO

/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
touch /var/lock/subsys/local

Затем перезапустите PureFTPd:

/etc/init.d/pure-ftpd restart

Теперь при загрузке файлов через PureFTPd clamdscan будет проверять файлы и удалять те, которые сочтёт вредоносными.

Важно: действие удаления происходит без уведомления клиента. Рассмотрите логирование и/или перемещение файлов в карантин вместо немедленного удаления, если требуется аудит.

4 Критерии приёмки

  • При загрузке тестового заражённого файла он должен быть обнаружен clamd и удалён (или перемещён в карантин).
  • В логах сервера должны появляться записи о запуске pure-uploadscript и выполнении clamav-скрипта.
  • Обновление баз virus definitions должно выполняться успешно (freshclam).

5 Отладка и откат

  • Проверьте наличие демона clamd: ps aux | grep clamd.
  • Запустите скан вручную: /usr/bin/clamdscan /путь/к/файлу.
  • Просмотрите логи: /var/log/messages или системный журнал.
  • Если интеграция нарушает приёмы загрузки, удалите строку из /etc/rc.local и завершите процесс pure-uploadscript.

Откат: удалите/деактивируйте CallUploadScript в /etc/pure-ftpd/pure-ftpd.conf и перезапустите PureFTPd.

6 Когда это не сработает

  • Если clamd не запущен или базы устарели, файлы не будут корректно проверены.
  • При больших объёмах загрузок последовательный вызов clamdscan может стать узким местом по производительности.
  • Некоторые типы архивов или полиморфные угрозы могут не распознаваться сразу.

7 Альтернативные подходы

  • Использовать clamd в режиме демона и инструменты с поддержкой on-access, чтобы снизить накладные расходы.
  • Настроить отдельный сервис, который асинхронно проверяет загруженные файлы и уведомляет пользователя/админа.
  • Применять интеграцию на уровне прокси/веб-сервера, если FTP не единственный источник загрузок.

8 Мини‑чеклист ролей для внедрения

  • Админ: установить clamd и настроить автообновление баз.
  • Админ: включить CallUploadScript и разместить обработчик.
  • Тестировщик: загрузить тестовые файлы и проверить поведение.
  • Сетевой инженер: проверить влияние на пропускную способность при пиковых загрузках.

9 Короткий глоссарий (1 строка)

  • clamd: демон ClamAV для быстрого сканирования.
  • clamdscan: клиент для сканирования файлов через clamd.
  • pure-uploadscript: утилита PureFTPd для вызова скриптов при загрузках.

10 Ссылки

Итог

Интеграция ClamAV и PureFTPd через pure-uploadscript даёт простой способ проверять загружаемые файлы и удалять заражённые. Тщательно протестируйте решение, настройте логирование и подумайте о карантине вместо немедленного удаления для аудита.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро