The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Использование ClamAV для проверки ресурсов Samba 3.0.x через VFS в Linux (samba virus clamav linux fs slackware)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: samba, virus, clamav, linux, fs, slackware,  (найти похожие документы)
From: umask aka Илья <umask at yandex dot ru> Newsgroups: email Date: Mon, 25 Sep 2005 18:21:07 +0000 (UTC) Subject: Использование ClamAV для проверки ресурсов Samba 3.0.x через VFS в Linux Использование ClamAV для проверки ресурсов Samba 3.0.x через VFS в Linux (на примере Slackware Linux 10.1). Предыстория. Я люблю заниматься исследованием различных антивирусов, узнавать их особенности, недостатки и достоинства. Ранее в институте использовался DrWeb, он проверял загружаемые на сервер через Sabma файлы, но однажды надоело искать ключи для бета-тестеров (да и бетатестирование на данный момент уже подходило к концу) или пробные ключи. Решил поставить ClamAV, посмотреть как он работает. Что имеем. Имеем рабочий Slackware Linux 10.1 с работающей Samba 3.0.x. Немного времени, интерес и желание настроить антивирусную проверку загружаемых через Samba файлов. Зачем это нужно. Если у Вас нет денег на нормальный коммерческий антивирус, то приходиться использовать хоть что-то для защиты, и ClamAV - на мой взгляд лучший антивирус распространяемый по лицензии GNU/GPL. Т.е. бесплатно. Установка и настройка. Для начала нам потребуется ClamAV (http://www.clamav.net), на момент написания статьи последней была версия 0.87. Идём на сайт ClamAV и скачиваем последнюю версию. Устанавливаем её, как указано на http://www.clamav.net/doc/<;номер вашей версии>/html в разделе "Installation". Кратко расскажу о процессе установки. Разархивировав только что скачанный дистрибутив, не спешите набирать ./configure, для начала, создайте группу и пользователя clamav. # groupadd clamav # useradd -g clamav -s /bin/false clamav Затем, можно набрать: $ ./configure (или $ ./configure --help что бы увидеть все возможные опции, кстати, можно и проверку на наличие юзера и группы clamav тут же отключить, но этого делать не рекомендуеться!) затем наберите: $ make И, после успешной сборки: # make install Теперь нужно сконфигурировать clamd и freshclam, поскольку разработчики принудительно заставляют пользователя это сделать: конфигурационные файлы изначально нерабочие. По умолчанию конфигурационные файлы расположены в /usr/local/etc, если вы не указывали путь к ним в параметрах к configure. Редактируем freshclam.conf: - самое главное, что необходимо сделать - закомментировать строку содержащую одно слово - "Example". - укажите DatabaseDirectory как вам удобнее, например, /var/lib/clamav, как указано у меня. Запомните этот путь: в файле clamd.conf так же нужно будет его указать. - укажите UpdateLogFile, например /var/log/freshclam.log. Перейдите в каталог /var/log, создайте файл freshclam.log и измените владельца на clamav.clamav (chown clamav.clamav freshclam.log). - укажите в DatabaseOwner пользователя clamav. - другие настройки можно не изменять, самое важное в этом конфигурационном файле мы уже сделали. Редактируем clamd.conf: - самое главное, что необходимо сделать - закомментировать строку содержащую одно слово - "Example". - укажите LogFile /var/log/clamd.log. Перейдите в каталог /var/log, создайте файл clamd.log и измените владельца на clamav.clamav (chown clamav.clamav clamd.log). - укажите TemporaryDirectory, например так, /tmp. - укажите DatabaseDirectory так /var/lib/clamav. - укажите LocalSocket /tmp/clamd (главное, что бы пользователь clamav имел врава доступа к этому сокету на запись и чтение!). - укажите User clamav. - другие настройки можно не трогать. Но лучше почитайте комментарии и измените под себя, например, какие объекты не следует проверять. Обратите внимание на LogFileMaxSize. Теперь запустим freshclam: # freshclam Вы должны увидеть сообщения об обновлении вирусных баз (Downloading*.cvd) - Database Updated... Если базы не обновились, то прочитайте внимательно, что вам выдал freshclam, а так же загляните в лог-файл - /var/log/freshclam.log. Если ничего не помогает, обратитесь за помощью к документации ClamAV. Запускаем clamd: # clamd Проверяем: # tail /var/log/clamd.log если нет сообщений об ошибке, то значит демон запустился. Так же проверьте его наличие в списке процессов (ps ax). В логах демона должно быть сообщение вида "Unix socket file /tmp/clamd" - это значит, что средство для взаимодействия с Sabma в норме. Теперь нам необходимо скачать и скомпилировать OpenAntiVirus samba-vscan. Идём на страницу http://www.openantivirus.org/projects.php#samba-vscan и скачиваем samba-vscan. На момент написания статьи последняя версия samba-vscan была 0.3.6b. Так же нам понадобятся исходные коды для Samba. Чтобы не мучаться, просто скачайте исходные коды установленной версии Samba с сайта разработчиков Вашего дистрибутива, или найдите их на дисках дистрибутива. В Slackware 10.1 (подозреваю, что и в 10.2) исходные коды Samba можно найти на 4-м CD. В моём случае это были исходные коды samba-3.0.10.tar.bz2 - 3.0.10-версии Samba. Проверим версию установленной в системе версии Samba так: # smbd --version Версия исходных кодов обязательно должна совпадать с установленной версией! Распакуем исходники samba-3.0.10.tar.bz2 и samba-vscan-0.3.6b.tar.bz2, например в /usr/src. Переходим в /usr/src/samba-3.0.10/source (или в /path-to-source-dir/samba-version/source), набираем $ ./configure $ make proto ------------------------------------ Замечание 1. Для полной уверенности, можно посмотреть параметры configure для Samba в вашем дистрибутиве: # smbd --build-options или # smbd -b Paths можно задать через соответствующие параметры для configure. Скорее всего у вас не будет необходимости это делать. ------------------------------------ Теперь скопируем каталог с исходниками samba-vscan в /usr/src/samba-3.0.10/examples/VFS (или в /path-to-source-dir/samba-version/examples/VFS). Таким образом, в каталоге /usr/src/samba-3.0.10/examples/VFS будет подкаталог samba-vscan-0.3.6b. Переходим в каталог /usr/src/samba-3.0.10/examples/VFS/samba-vscan-0.3.6b и набираем $ ./configure $ make Наш модуль Samba VFS для ClamAV готов. Теперь необходимо скопировать /usr/src/samba-3.0.10/examples/VFS/samba-vscan-0.3.6b/vscan-clamav.so в каталог, где расположены модули VFS для вашей версии Samba. У меня это был каталог /usr/lib/samba/vfs: # ginstall -g root -o root -m 0755 \ /home/toor/samba-3.0.10/examples/VFS/samba-vscan-0.3.6b/vscan-clamav.so \ /usr/lib/samba/vfs/ ------------------------------------ Замечание 2. Я использовал ginstall что бы сразу задать права для полученного модуля, можно было просто скопировать, а затем сменить права и владельца. Так же можно было просто набрать # make install Но для этого нужно было выполнить действия указанные в Замечании 1. ------------------------------------ Скопируем /usr/src/samba-3.0.10/examples/VFS/samba-vscan-0.3.6b/clamav/vscan-clamav.conf в каталог, где расположены конфигурационные файлы Samba. У меня это выглядело так: # cp /usr/src/samba-3.0.10/examples/VFS/samba-vscan-0.3.6b/clamav/vscan-clamav.conf /etc/samba # chown root.root /etc/samba/vscan-clamav.conf # chmod 0644 /etc/samba/vscan-clamav.conf Конфигурируем Samba и samba-vscan. В /etc/samba/smb.conf нужно изменить некоторые опции для каталога, который хотим проверять, например так: [pub] comment = Protected by ClamAV path = /export/pub vfs object = vscan-clamav vscan-clamav: config-file = /etc/samba/vscan-clamav.conf writeable = yes browseable = yes read-only = no public = yes guest ok = yes В /etc/samba/vscan-clamav.conf можно оставить почти всё как есть, но я рекомендовал бы изменить следующие параметры: max file size = <по вкусу> deny access on error = no deny access on minor error = no infected file action = delete (действие quarantine к сожалению, мне не удалось добиться) Обязательно необходимо изменить параметр: clamd socket name = /tmp/clamd (!!!) Теперь необходимо перезапустить Samba: # /etc/rc.d/rc.samba restart или # killall -HUP smbd Проверка работоспособности. Проверим работоспособность нашей антивирусной системы. Скачиваем с http://www.eicar.com/anti_virus_test_file.htm файл eicar.com и пробуем записать его в каталог //server-name/pub. Если вы производите это действие из Windows, то вы получите сообщение через систему Windows Messenger о том, что файл eicar.com инфицирован. Автоматические обновления. Осталось добавить freshclam в crontab. Набираем: # crontab -e Добавляем строку: * */2 * * * /usr/local/bin/freshclam > /dev/null 2>&1 Всё готово. Некоторые впечатления. Скорость записи\чтения в\из защищённой директории Samba снизилась в 5-10 раз, но это терпимо, поскольку с pub'ом не ведётся активная работа. Другой же стороной столь низкой скорости является мощность файлового сервера - а это AMD K6-450 Mhz, 192 MB RAM, 2 x HDD Maxtor. Самое большое ограничение - мощность процессора и оперативная память. Так же существенным недостатком ClamAV являеться нежелание разработчиков добавлять алгоритмы поддержки RAR3 и 7Z по лицензионным соображениям. Кстати, поддержку RAR2 можно включить в clamd.conf. К существенным недостатком так же относиться неразвитость ClamAV в проверке упакованных бинарников, по сравнению с коммерческими антивирусами он просто ничто. А для хоть какой-то защиты вполне сносно работает. P.S. Старался написать как можно подробнее и проще, для тех, кто не сильно знаком с темой. Спасибо за внимание. by umask a/k/a Илья(с), MATI-RSTU, app-math dept. mail to: umask at yandex dot ru. Sun Sep 25 18:06:32 MSD 2005.

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Прхожий, 01:00, 27/09/2005 [ответить] [смотреть все]
  • +/
    >Так же существенным недостатком ClamAV являеться
    >нежелание разработчиков добавлять алгоритмы
    >поддержки RAR3 и 7Z по лицензионным соображениям.

    Как то не очень выглядит эта фраза, 7zip пока ни один
    из коммерческих разработчиков антивирусов у себя
    не добавил, а вы это в кламаве существенным
    недостатком обозначили, означает ли сие, что если кто
    из коммерческих антивирусов 7zip не поддерживает, то
    они тоже "один большой недостаток"? Поддержка RAR3
    тоже не у всех коммерческих антивирусов имеется....

     
  • 1.2, wotl, 11:21, 27/09/2005 [ответить] [смотреть все]
  • +/
    У меня samba-vscan модуль не компилится, помогите пожалуйста!
    Такое впечатление, что не может добраться до самбовских хедеров. Пробовал прямо указывать ./configure --with-samba-source=<путь к сырцам>, Все равно не понимает.
    При make выдает кучу ошибок...
    Например не может найти includes.h
    samba-vscan-src/include/vscan-global.h:4:22: includes.h: No such file or directory
    Но реально сам includes.h находиться в директории инклудесов самбы...Вот такая трабла! Плиз Хелп!!!
     
  • 1.3, wotl, 17:02, 27/09/2005 [ответить] [смотреть все]
  • +/
    Спасибо...уже разобрался...
     
  • 1.4, wotl, 16:04, 28/09/2005 [ответить] [смотреть все]
  • +/
    > (действие quarantine к сожалению, мне не удалось добиться)

    В vscan-clamav.conf выставляешь quarantine directory
    Чтобы карантин заработал, нужно просто выставить права на эту директорию 777.

     
  • 1.5, Spectr, 12:14, 14/11/2005 [ответить] [смотреть все]
  • +/
    Блин а как этому кламу подсунуть обновления, если в сети инета нет, и где их взять отдельно?
     
  • 1.6, Miller, 09:39, 13/01/2006 [ответить] [смотреть все]  
  • +/
    Все сделали как в примерах - все отлично, но обнаружилась ГИГАНТСКАЯ беда:
    В обычной ситуации все работает "на ура". При попытке записать зараженный файл на сервак он (файл) удаляется.
    НО - если зараженный комп попытается заразить уже имеющиеся файлы на серваке, то сервак станет совсем чистым
    ни вирусов, ни файлов......
    :(
    как быть? что делать?
     
     
  • 2.7, peredoz, 18:51, 27/01/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    100 повод написать багрепорт авторам Как временное решение - запускаешь две са... весь текст скрыт [показать] [показать ветку]
     
  • 2.8, Junior, 17:02, 09/03/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Использовать dazuko с самбой При грамотной настройке антивирус НЕ ДАСТ записать... весь текст скрыт [показать] [показать ветку]
     
  • 1.9, leo, 11:05, 10/03/2006 [ответить] [смотреть все]  
  • +/
    Поставил Samba 3.0.21c b последний ClamAV
    почту проверяет отлично, самба без него работает, но когда указываю
    vfs object = vscan-clamav
        vscan-clamav: config-file = /etc/samba/vscan-clamav.conf
    в логах ничего не ругается а в шару не пускает
    Че может быть???
     
     
  • 2.10, peredoz, 11:44, 10/03/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Подыми в самбе уровень журнализации, потомучто без логов тебе тут никто не помож... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.11, leo, 14:34, 10/03/2006 [^] [ответить] [смотреть все]  
  • +/
    Поднял лог в samba user usr libexec ld-elf so 1 usr local samba lib vfs vs... весь текст скрыт [показать]
     
     
  • 4.12, peredoz, 15:06, 10/03/2006 [^] [ответить] [смотреть все]  
  • +/
    Эта у тебя не все либы доступны Проверяй пути по которым vscan-clamav so ищет в... весь текст скрыт [показать]
     
     
  • 5.13, leo_boy, 17:15, 10/03/2006 [^] [ответить] [смотреть все]  
  • +/
    Ну а какие как узнать что надо и куда положить У меня уже ничего не соображает... весь текст скрыт [показать]
     
  • 1.14, leo, 18:21, 13/03/2006 [ответить] [смотреть все]  
  • +/
    поставил samba3 и подсунул ей файл с паролями от второй версии. Заработало, подхватила, а когда я завожу нового пользователя, странно себя ведет.
    завел юзера и вот такая строчка появилась:
    zts_inj1:1058:6BA2730853FC2C19AAD3B435B51404EE:75F1D23F3A2527C6BFAADA3E93B32A8B:ZTS INJENER:/home/zts_inj1:/usr/bin/false
    а раньше в конце строки было так:
    vpm:1116:6BA2730853FC2C19AAD3B435B51404EE:75F1D23F3A2527C6BFAADA3E93B32A8B:[UX         ]:LCT-43FD62AD:

    как только юзер подключаеться к шаре, она его естественно не пущает, я смотрю на его строку и ЧТО Я ВИЖУ:
    zts_inj1:1058:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:ZTS INJENER:/home/zts_inj1:/usr/bin/false

    ЧТО ЭТО?????? ПОЧЕМУ???? Как побороть?

     
     
  • 2.15, leo, 18:52, 13/03/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Победил Это был глюк как только перегрузил машину которая подключалась на шар... весь текст скрыт [показать] [показать ветку]
     
  • 1.16, leo_boy, 14:50, 21/03/2006 [ответить] [смотреть все]  
  • +/
    Привет Переставил самбу, той версии как в статье 3 0 10 Все сделал как описан... весь текст скрыт [показать]
     
  • 1.17, leo_boy, 14:54, 21/03/2006 [ответить] [смотреть все]  
  • +/
    Сделал все как в статье описано, но нехочет пускать в шару на проверку в лог ки... весь текст скрыт [показать]
     
  • 1.18, somebody, 15:45, 25/05/2006 [ответить] [смотреть все]  
  • +/
    При перемещении заражённых файлов в карантин их наименования преобразуются в - vir-JxJTqp  vir-L6RZ5y  vir-P8gdYB  vir-VCcIMe, никакого соответствия предедущего и последующего имени. Как узнать исходное имя файла?
     
     
  • 2.22, somebody, 17:55, 28/09/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Просмотрел исходники - никак - , прийдётся подправить самому Великая сила Отк... весь текст скрыт [показать] [показать ветку]
     
  • 1.19, dim, 14:20, 07/06/2006 [ответить] [смотреть все]  
  • +/
    Хорошая статья, спасибо !
     
  • 1.20, alex, 10:48, 23/08/2006 [ответить] [смотреть все]  
  • +/
    Подскажите про exclude file types пробовал как avi mpg так и avi,mpg так и *.avi *.mpg Как правильно?
     
  • 1.21, alex, 11:01, 23/08/2006 [ответить] [смотреть все]  
  • +/
    очепятка не avi,mpg а avi;mpg
     
  • 1.23, Foxbat, 12:55, 22/01/2007 [ответить] [смотреть все]  
  • +/
    Спасибо за хорошую статью, а так же за реальное сравнение коммерч. антивирусов с ClamAV.
     
     
  • 2.24, igor, 13:33, 21/04/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Кто поможет?
    КламАВ ругается на любой файл.

    INFO: Scanning file : '/srv/samba/public/eicar.com'
    ERROR: file /srv/samba/public/eicar.com not found, not readable or an error occured

    Есть предложения по данной проблемке????

     
  • 1.25, user, 11:18, 11/09/2008 [ответить] [смотреть все]  
  • +/
    Попробовал поставить связку Samba 3.0.30 + Samba-vscan-0.3.6c-beta5 + Clamav 0.94 на Debian-Lenny-Beta ,из исходников , используя данный мануал.

    При установки возникли две небольшие трудности. :)

    1)Перед запуском  clamd необходимо выполнить команду — ldconfig.

    /sbin/ldconfig - настройка динамического связывания во время выполнения.

    2)Если КламАВ ругается на любой файл.
    INFO: Scanning file : '/srv/samba/publ/eicar.com'
    ERROR: file /srv/samba/public/eicar.com not found, not readable or an error occured  

    Необходимо указать  расшаренной папке , что владелец у неё ClamAV т.е.

    samba.conf
    [office]
    ...
    path=/home/archiv1
    ...

    chown -R clamav:office /home/archiv1

    P.S.
    За статью автору большое спасибо!

     
     
  • 2.27, AdviZzzor, 00:43, 12/01/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Подскажите, настроил как написано, распаковываю тестовый файл прямо на шаре, да и вообще, даже если его копировать , из пд венды, ничего не происходит.
    home samba # ldd /usr/lib/samba/vscan-clamav.so
            linux-gate.so.1 =>  (0xffffe000)
            libpcre.so.0 => /usr/lib/libpcre.so.0 (0xb7f24000)
            libmagic.so.1 => /usr/lib/libmagic.so.1 (0xb7f10000)
            libc.so.6 => /lib/libc.so.6 (0xb7ddd000)
            libz.so.1 => /lib/libz.so.1 (0xb7dc9000)
            /lib/ld-linux.so.2 (0x80000000)
    самба при перезапусках не ругается. вобщем , вродебы должно работать но нет.
     
  • 1.26, yavik, 22:13, 12/12/2008 [ответить] [смотреть все]  
  • +/
    Возникла проблема. Clamav - проверяет файлы шары только если задать владельцем каталога шары пользователя clamav. Как быть если владельцем каталога должен быть   Ivanov    и все файлы и каталоги  что внутри него тоже должны иметь владельца Ivanov.     Clamav   в таком случае их не проверяет. Пишет Access denied при попытке открыть файл скопированный в этот каталог  ??? Неужели прийдется давать кламу рута в качестве пользователя под которым он запускается.
     
  • 1.28, Макс, 18:50, 21/06/2009 [ответить] [смотреть все]  
  • +/
    Добрый день Подскажите пожалуйста Пытаюсь проделать всё вышеописанное на Debia... весь текст скрыт [показать]
     
  • 1.29, Князева Лидия Васильевна, 11:14, 30/10/2009 [ответить] [смотреть все]  
  • +/
    Здравствуйте !
    Может быть Вы сможете подсказать мне решение следующей проблемы. У меня отлаженная Java-программа, которая пересылает на сервер текстовый файл. Мой провайдер поставил на сервер clamav. Теперь через раз этот файл переименовывается "на лету" в in.Имя файла., хотя содержимое не портится. Это, естественно вызывает дальнейшие ошибки. Можно ли как-нибудь отменить переименование файла или вообще можно ли хоть что-то сделать ?
     
  • 1.30, efuego, 20:17, 27/02/2011 [ответить] [смотреть все]  
  • +/
    Думаю по последнему посну сначала к провайдеру.
    Задача не ясна.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor