Это руководство объясняет, как можно интегрировать ClamAV в PureFTPd для проверки на вирусы на Fedora 14 системы. В конце концов, всякий раз, когда файл запускается загружено через PureFTPd, ClamAV будет проверить файл и удалите его, если он является вредоносной программой.
Предварительные замечания
Вы должны иметь рабочий PureFTPd установленный на Fedora 14 сервер, например, как показано в этом руководстве: виртуальный хостинг с PureFTPd и MySQL на Fedora 14.
Установка ClamAV
ClamAV может быть установлен следующим образом:
|
Clamdscan ожидает файл конфигурации /etc/clamd.conf которых не существует - поэтому мы создаем символическую ссылку с /etc/clamd.conf на /etc/clamd.d/amavisd.conf:
|
Далее мы создадим автозапуск для Clamd с системой и запустим его:
|
Настройка PureFTPd
Первый мы открываем /etc/pure-ftpd/pure-ftpd.conf и CallUploadScript на yes:
|
[...]
# 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 (который будет вызывать /usr/bin/clamdscan всякий раз, когда файл загружается через PureFTPd) ...
|
#!/bin/sh /usr/bin/clamdscan --remove --quiet --no-summary "$1"
... и сделаем его исполняемым:
|
Теперь мы запускаем pure-uploadscript программу как демон - это вызовит наш /etc/pure-ftpd/clamav_check.sh сценарий, когда файл загружается через PureFTPd:
|
Конечно, Вы не хотите, чтобы демон запусткался вручную каждый раз при загрузке системы - поэтому мы открываем /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:
|
Вот и все! Теперь всякий раз, когда кто-то пытается загрузить вредоносный "плохой" файл (ы) на сервер с помощью PureFTPd, файл будут немедленно удалены.