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

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

• 4 min read • Серверы • Обновлено 23 Nov 2025
ClamAV + PureFTPd на Fedora 14 — сканирование загрузок
ClamAV + PureFTPd на Fedora 14 — сканирование загрузок

Версия 1.0
Автор: Falko Timme
Следите за мной в Twitter

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

На сервере должна быть рабочая установка PureFTPd на Fedora 14, например как в руководстве «Virtual Hosting With PureFTPd And MySQL (Incl. Quota And Bandwidth Management) On Fedora 14». Убедитесь, что у вас есть права root для установки пакетов и правка конфигурационных файлов.

Важно: это решение удаляет обнаруженные файлы автоматически (–remove). Если вы хотите сначала логировать инциденты и вручную разбирать случаи обнаружения, используйте опции без –remove и настройте отдельный лог.

2 Установка ClamAV

ClamAV устанавливается стандартной командой yum:

yum install amavisd-new clamav clamav-data clamav-server clamav-update clamav-scanner

Clamdscan ожидает конфигурационный файл /etc/clamd.conf, которого может не быть — создадим символическую ссылку на конфиг amavisd:

ln -s /etc/clamd.d/amavisd.conf /etc/clamd.conf

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

chkconfig --levels 235 clamd.amavisd on  
/etc/init.d/clamd.amavisd start

Проверьте статус демона и логи (/var/log/messages или /var/log/clamav/) при необходимости.

3 Настройка PureFTPd

Откройте конфигурацию PureFTPd и включите CallUploadScript:

vi /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. CallUploadScript yes [...] |

Создайте скрипт /etc/pure-ftpd/clamav_check.sh, который будет вызываться при каждой загрузке:

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

Запустите pure-uploadscript как демон — он будет вызывать ваш скрипт при загрузках:

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

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

vi /etc/rc.local

…и добавьте строку запуска, например:

| #!/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:

/etc/init.d/pure-ftpd restart

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

4 Советы по эксплуатации и безопасность

  • Логи: при активном –remove логируйте события отдельно (например, перенаправляйте stdout и stderr скрипта в /var/log/pureftpd-clamav.log), чтобы не терять информацию о том, какие файлы были удалены.
  • Обновления сигнатур: убедитесь, что clamav-update (freshclam) настроен и работает, иначе обнаружение будет неэффективным.
  • Права доступа: скрипт запускается от имени pure-uploadscript; проверьте, что у него достаточно прав на чтение временных мест загрузки и на удаление файлов.
  • Производительность: на высокой загрузке использование clamd (демона) предпочтительнее одиночного clamscan; clamdscan обращается к уже запущенному демону и экономит ресурсы.

5 Когда этот подход не подходит

  • Если вы не можете позволить себе автоматическое удаление файлов — используйте карантин или перемещение в отдельную директорию для дальнейшего анализа.
  • Если файл шифрован или архив защищён паролем, ClamAV может не распознать угрозу.
  • Для корпоративных сред с высоким уровнем требований к аудиту и расследованию инцидентов лучше внедрять систему карантина и централизованный SIEM.

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

  • Интеграция с внешним AV/сканером через AMaViS или MTA для централизованной проверки почты и сайтов.
  • Использовать S3/облачные хранилища с серверной проверкой (если приложение хранит файлы в облаке).
  • Промежуточный файловый прокси — перехватывает и проверяет файлы перед передачей на backend.

Контрольный список развертывания

  • Установлен clamd и clamdscan доступен по /usr/bin/clamdscan
  • Создана ссылка /etc/clamd.conf при необходимости
  • CallUploadScript в /etc/pure-ftpd/pure-ftpd.conf = yes
  • /etc/pure-ftpd/clamav_check.sh создан и имеет права 755
  • pure-uploadscript запущен и добавлен в /etc/rc.local
  • Проверены обновления сигнатур (freshclam)
  • Настроено логирование операций удаления/обнаружения

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

  • После загрузки тестового заражённого файла (eicar или аналог) файл не остаётся в конечной директории загрузки.
  • В логах видно исполнение clamav_check.sh и результат проверки.
  • После перезагрузки демоны clamd и pure-uploadscript автоматически стартуют.

Краткий словарь

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

Заключение

Интеграция ClamAV и PureFTPd на Fedora 14 позволяет автоматически сканировать и удалять заражённые файлы прямо при их загрузке пользователями FTP. Это простой и эффективный способ добавить уровень защиты, но требует настройки логирования, обновления сигнатур и планирования поведения при обнаружении (удалять, карантин или уведомлять).

Ссылки

Поделиться: 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 быстро