Назад | Перейти на главную страницу

Использование антивируса clamav с clamfs для сканирования файловой системы

Моя система - CentOS5-5.

Я хочу отслеживать подкаталоги в указанном корне с помощью clamfs и удалять любые подозрительные файлы, как только они обнаруживаются.

Пока что установил clamav, а потом clamfs. Моя проблема в том, что clamfs не реагирует, когда я помещаю файл с сигнатурой вируса в мой корневой каталог, я подозреваю, что нет связи между clamfs и clamd.

Ниже я подробно расскажу о том, как я настраивал clamav и clamfs:

/etc/clamd.conf:

LogFile /var/log/clamav/clamd.log
...
LogVerbose yes
...
LocalSocket /var/run/clamav/clamd.sock
...
User clamav
...
AllowSupplementaryGroups yes
...

Я запускаю clamd с помощью следующей команды и root (благодаря указанному выше файлу процесс clamd принадлежит пользователю Clamav):

service clamd start

В /etc/clamfs/clamfs.xml, Я установил:

clamd socket = "/ var / run / clamav / clamd.sock

...

файловая система root = "MyPathToScan" mountpoint = "CopyOfMyPathToScan" public = "yes" nonempty = "yes"

...

log method = "file" filename = "PathToLogFile" verbose = "yes"

Корень, который я хочу просканировать с помощью clamfs, и все его подкаталоги и файлы принадлежат пользователю user01 (который принадлежит к группе user01). Поэтому я также установил пользователя clamav в группу «user01».

Запускаю clamfs вот так, с рутом:

clamfs /etc/clamfs/clamfs.xml

Добавляю, что моя вирусная база обновлена.

Отмечу следующие проблемы:

lstat () не удалось: в доступе отказано. ОШИБКА

Спасибо за вашу помощь !

Сильвен

Я заметил, что проблема может исходить от apparmor. Я пытался настроить clamfs для своего домашнего каталога, но он продолжал жаловаться. Затем я создал файл конфигурации apparmor, чтобы он работал :)

$ cat /etc/apparmor.d/usr.bin.clamfs 

Для простоты я скопировал броню clamav и модифицировал ее на clamfs - догадки:

#include <tunables/global>

/usr/bin/clamfs {
  #include <abstractions/base>
  #include <abstractions/nameservice>

  # LP: #433764:
  capability dac_override,

  @{PROC}/filesystems r,
  owner @{PROC}/[0-9]*/status r,

  /etc/clamfs/* r,
  /etc/fuse.conf r,

  /usr/bin/clamfs mr,

  /tmp/ rw,
  /tmp/** krw,

  /var/run/clamav/clamd.ctl rw,

  # Allow home dir to be scanned
  /media/disk/* rw,
  /media/disk/** rw,

  # Site-specific additions and overrides. See local/README for details.
  #include <local/usr.bin.clamfs>
}

Я также скопировал /etc/init.d/skeleton в /etc/init.d/clamfs-home и отредактировал по своему усмотрению, сделал его исполняемым и назвал update-rc.d clamfs-home defaults. Затем выполняется с запуском /etc/init.d/clamfs-home и ура! Посмотрим, вернется ли он после перезагрузки. Мне интересно, как запустить clamfs с пользователем без полномочий root ...