Настройка Антивирусной Защиты Samba, Используя Samba-vscan и Clamav

В данной статье я покажу вам как собрать RPM-пакет samba-vscan для антивирусной защиты файлового сервера Samba. Данный метод будет работать в дистрибутивах RHEL, CentOS и Fedora.

Samba-vscan – это модуль для Samba, реализующий антивирусную проверку загружаемых на файл сервер файлов “на лету“.

В данный момент samba-vscan может использовать для своей работы такие антивирусы как ClamAV, FRISK F-Prot Daemon, Kaspersky AntiVirus, OpenAntiVirus.org ScannerDaemon, mks AntiVirus, Sophos Sweep (via Sophie), Symantec AntiVirus Engine (via ICAP), Trend Micro.

Нас будет интересовать совместная работа samba-vscan и ClamAV, как наиболее популярного антивирусного продукта выпускаемого по GPL.

При подготовке данной статьи я использовал операционную систему CentOS 4.3.

Установка samba-vscan в RHEL и CentOS 4

В дистрибутивах RHEL и CentOS 4 пакет samba-vscan может быть установлен из репозитория RPMforge.

Сборка samba-vscan из исходных текстов

Предполагается, что в системе установлен пакет rpm-build, без которого сборка будет невозможна.

1. Загрузите SRPM-пакет samba и установите его:

# rpm -i samba-3.0.10-1.4E.9.src.rpm

2. Перейдите в каталог /usr/src/redhat/SPECS/ и выполните команду:

# rpmbuild -bc samba.spec

3. Загрузите пакет samba-vscan с сайта проекта и скопируйте его в каталог /usr/src/redhat/SOURCES/.

4. В каталоге /usr/src/redhat/SPECS/ создайте файл samba-vscan-clamav.spec следующего содержания:

Summary:        Clam AntiVirus module for samba
Name:           samba-vscan-clamav
Version:        0.3.6b
Release:        1
License:        GPL
Group:          Applications/System
URL:            http://www.openantivirus.org/
Source0:        samba-vscan-%{version}.tar.bz2
Requires:       clamav
Requires:       samba >= %{sambaversion}
BuildRoot:      %{_tmppath}/%{name}-%{version}-root 

%description
Clam AntiVirus module for samba

%prep
%setup -q -n samba-vscan-%{version}

%build
%configure \
       --with-fhs \
       --with-samba-source=/usr/src/redhat/BUILD/samba-3.0.10/source
%{__make} clamav
strip vscan-clamav.so

%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

install -d $RPM_BUILD_ROOT%{_sysconfdir}/samba/
install -d $RPM_BUILD_ROOT%{_libdir}/samba/vfs/

# Fix socket config
sed -e 's!^clamd socket .*!clamd socket name = /var/run/clamav/clamd.sock!;' \
       clamav/vscan-clamav.conf > $RPM_BUILD_ROOT%{_sysconfdir}/samba/vscan-clamav.conf

install vscan-clamav.so $RPM_BUILD_ROOT%{_libdir}/samba/vfs/.

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

%pre

%post

%preun

%postun

%files
%defattr(0644,root,root,0755)
%doc AUTHORS COPYING ChangeLog FAQ INSTALL NEWS README TODO VERSION
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/samba/vscan-clamav.conf
%attr(0755,root,root) %{_libdir}/samba/vfs/vscan-clamav.so

5. В каталоге /usr/src/redhat/SPECS/ выполните команду:

# rpmbuild -ba samba-vscan-clamav.spec

6. Установите собранный пакет:

# rpm -Uhv /usr/src/redhat/RPMS/i386/samba-vscan-clamav-0.3.6b-1.i386.rpm

7. Измените конфигурационный файл /etc/samba/vscan-clamav.conf.

8. В конфигурационный файле /etc/samba/samba.conf внесите изменения в разделы ресурсов, которые вы хотите защищать с помощью samba-vscan.

vfs object = vscan-clamav
vscan-clamav:config-file = /etc/samba/vscan-clamav.conf

Пример:

[public]
    path = /usr/somewhere/else/public
    public = yes
    only guest = yes
    writable = yes
    printable = no
    vfs object = vscan-clamav
    vscan-clamav:config-file = /etc/samba/vscan-clamav.conf

Как видите, установка и настройка samba-vscan для антивирусной защиты файлового сервера samba является довольно простой задачей.

Автор: Денис Фролов

Статьи по Теме

Другие Статьи

Категории
Поиск