DTop CMS - система управления контентом
Текущая версия: 3.4.1


© 2002-2018

Статья опубликована: 2010.06.10
Последние изменения: 2010.10.27

На данный момент порты net/samba3 и security/samba-vscan удалены из портов, поэтому данная статья неактуальна для текущего дерева портов. Для net/samba35 интерфейса для взаимодействия с clamav пока нет.


ClamAV + Samba


На этой страничке расписано как настроить Samba для проверки файлов "на лету" антивирусом ClamAV.

  • Использованные версии ПО:
    # uname -sr
    FreeBSD 7.3-PRERELEASE
    
    # pkg_info | grep clamav
    clamav-0.96.1
    
    # pkg_info | grep samba
    samba-3.0.37,1
    
    # pkg_info | grep samba-vscan
    samba-vscan-0.3.6c_2
    

  • ClamAV

    Установка и настройка

  • samba-vscan

    samba-vscan - дополнение к samba для сканирования файлов на вирусы "на лету".
    Установка:
    # cd /usr/ports/security/samba-vscan
    # make install clean
    

    В окне настроек выберите опцию VSCAN_CLAMAV:
    [ ] VSCAN_ANTIVIR  for use with AntiVir
    [X] VSCAN_CLAMAV   for use with Clam AntiVirus Daemon
    [ ] VSCAN_FPROTD   for use with F-Prot Daemon
    [ ] VSCAN_FSAV     for use with F-Secure AntiVirus
    [ ] VSCAN_ICAP     for use with an ICAP anti-virus
    [ ] VSCAN_KAVP     for use with Kaspersky AntiVirus
    [ ] VSCAN_MKSD     for use with mks32
    [ ] VSCAN_NAI      for use with NAI/McAfee uvscan
    [ ] VSCAN_OAV      for use with OpenAntiVirus.org ScannerDaemon
    [ ] VSCAN_SOPHOS   for use with Sophos
    [ ] VSCAN_TREND    for use with Trend Micro FileScanner
    
    Настройка:

    /usr/local/etc/samba-vscan/vscan-clamav.conf

    Сохраняем оригинальный vscan-clamav.conf (по желанию)
    # mv /usr/local/etc/samba-vscan/vscan-clamav.conf /usr/local/etc/samba-vscan/vscan-clamav.conf.origin
    

    Создаем новый vscan-clamav.conf
    # touch /usr/local/etc/samba-vscan/vscan-clamav.conf
    

    Записываем в /usr/local/etc/samba-vscan/vscan-clamav.conf
    [samba-vscan]
    
    max file size = 0
    verbose file logging = no
    scan on open = yes
    scan on close = yes
    deny access on error = no
    deny access on minor error = no
    send warning message = no
    infected file action = delete
    quarantine directory = /home/infected
    quarantine prefix = vir-
    max lru files entries = 100
    lru file entry lifetime = 5
    exclude file types =
    clamd socket name = /var/run/clamav/clamd.sock
    libclamav max files in archive = 1000
    libclamav max archived file size = 10485760
    libclamav max recursion level = 5
    
    Если задать verbose file loggging = yes, тогда в /var/log/messages будет поступать подробная отладочная информация.

    Создаем директорию /home/infected для карантина
    # mkdir -p /home/infected
    # chmod -R 0777 /home/infected
    

  • samba

    Настройка:

    /usr/local/etc/smb.conf
    Добавить строки в начале секции каждого ресурса:
    vfs object = vscan-clamav
    vscan-clamav: config-file = /usr/local/etc/samba-vscan/vscan-clamav.conf
    

    Перезапуск:
    # /usr/local/etc/rc.d/samba restart
    

    Проверка что samba работает:
    # ps ax | grep smbd
     7106  ??  Is     0:00.03 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf
     7116  ??  I      0:00.00 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf
     7117  ??  S      0:00.01 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf
     7118  ??  S      0:00.13 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf
     7120  ??  I      0:00.01 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf
     7158  ??  I      0:00.00 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf
     7160  ??  S      0:00.01 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf
    # ps ax | grep nmbd
     7100  ??  Ss     0:00.02 /usr/local/sbin/nmbd -D -s /usr/local/etc/smb.conf