1 (18.12.2011 12:51:44 отредактировано XliN)

Дело вот какое. Хочу на сервере samba прикрутить связку clamav+samba-vscan
Для этого нужно вытянуть исходники актуальной samba на сервере.
У меня samba-3.0.33-3.29.el5_7.4
Ни как не могу их скачать. Подскажите как их найти или установить с реп.

Делаю по этой инструкции http://redhat-club.org/2011/%D0%BD%D0%B … %B8-clamav

OS: CentOS 5.7

UPD: Или у кого есть другие решения. Проблема в том, что на расшаренных папках появились вредоносные файлы. Так же надо как то проверять папки для ftp/upload Там постоянно создаются файлы с вирусом от трекера.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

2

http://mirror.centos.org/centos/5/updat … .4.src.rpm

3

Я эту ссылку первым делом отрыл  ac Но она не рабочая.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

4

ок, а почитать readme.txt в директории? тут смотрите: http://vault.centos.org/5.7/updates/SRPMS/

5

Hrafn, Ну не допер я. Спасибо.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

6

а вообще лучше сделать так:
http://onecool1.wordpress.com/2009/10/1 … to-centos/
http://www.cyberciti.biz/faq/yum-downlo … -from-rhn/

7

не за что ab

8

--=XliN=-- пишет:

Дело вот какое. Хочу на сервере samba прикрутить связку clamav+samba-vscan
......
UPD: Или у кого есть другие решения.

Я тоже немного подумал на эту тему (много - вредно). И пришел к выводу, что заниматься пересборкой самбы на промышленных серверах не есть гуд. Она должна быть из кАропки, из репозитория.
Есть ли иной путь решения поставленной задачи? Безусловно есть. Есть замечательная утилита inotifywait. Она следит за событиями в том или ином каталоге (рекурсивно, со всеми подкаталогами) и если означенные события возникают, то можно по ним запустить свою любуэ задачу на эти события. Например, антивирусный сканер на события создания/модификации файлов.
Вот что у меня есть:
1. Старующий весь этот колхоз скрипт start_monitor_av.sh:

+ открыть спойлер

#!/bin/sh

if [ "$*" = "--stop" ]; then
  killall inotifywait;
  if [ "$(ps -A | grep clamd)" ]; then
     killall clamd
  fi
  exit;
fi

if [ "$(ps -A | grep 'inotifywait')" ]; then
## Если inotify запущен, значит монитор уже работает.
exit;
fi

if [ "x$(ps -A | grep clamd)" == "x" ]; then
## Если clamd не запущен - запустить.
/usr/local/sbin/clamd
fi

MonDirs="test FirmDocs homes WorkDocs"
for dir in $MonDirs
do
/bin/nice -n 20 monitor_av.sh $dir &
done

Этот скрипт умеет остановиться, проверить запущенность колхоза и запуститься на несколько контролируемых "корневых" каталогов. Точнее - напустить на контролируемые каталоги скрипты monitor_av.sh вида:

+ открыть спойлер

#!/bin/sh

mondir="/data/glusterfs/export/exports/$1/"
echo $mondir

INF=/usr/bin/inotifywait
$INF -m -r -q --format '%:e %w%f' -e close -e moved_to -e create "$mondir" | while read row; do
#echo row=$row
    set `echo $row | awk '{ print $1 }'`; event=$1;
#echo event=$event
    name=""
    if [ "$event" == "CLOSE_WRITE:CLOSE" ]; then
      name=`echo $row | awk '{ print substr($0,19) }'`;
    fi
    if [ "$event" == "MOVED_TO" ]; then
      name=`echo $row | awk '{ print substr($0,10) }'`;
    fi
#echo name=$name
    if ! [ "x$name" == "x" ]; then
     /bin/nice -n 20 ScanFile.sh "$name" &
    fi      # Есть имя файла
  done

Этот монитор по ряду событий файловой системы вызывает собственно антивирусный сканер с помощью скрипта ScanFile.sh:

+ открыть спойлер

#!/bin/sh

name=$1
scanlist="/mnt/glusterfs/scripts/antivir/logs/monitor_av.log"

Dir=${name%/*}
Fn=${name##*/}
sleep 2

if ! [ -d "$Dir" ]; then
exit
fi
cd "$Dir"

if ! [ -f "$Fn" ]; then
exit
fi

res=`clamdscan "$Fn"  --no-summary`
if [ $? -eq 1 ]; then # найден вирус
  name1=`echo $name | awk '{ print substr($0,24) }' `
  name_gl=/mnt/glusterfs/${name1}
#echo name_gl=$name_gl
  name_inf=/mnt/nfs/clamav/infected/glusterfs/${name1}
  Dir=${name_inf%/*}
  if ! [ -d "$Dir" ]; then
      mkdir -p "$Dir"
  fi
  user=`ls -la "$name_gl" | awk '{ print $3 }'`
  cp -f --backup=t "$name_gl" "$name_inf"
  rm -f "$name_gl"
  set `date`; y=$6; d=$3; t=$4;
  set `date +%m`; m=$1;
  echo $y.$m.$d $t $user $res >>"$scanlist";
fi

Этот скрипт, подождав 2 секунды (я так захотел из чисто психологических соображений) проверяет новое или измененное файло с помощью clamav'а и если там найден вирус, то это файло переносится в карантин. Да, и еще коммент для ясности. Весь этот колхоз ориентирован на gusterfs-том. И с целью повышения производительности он смотрит не на сам смотнированный том, а "под него", на то, что в том монтируется. А вот операции с зараженными файлами осуществляются на гластерном томе. Это небольшая особенность, которая затрудняет понимаение скриптов, но повышает их скорострельность в конкретной ситуации. Для иной ситуации скрипты надо скорректировать.

9 (18.12.2011 15:10:40 отредактировано XliN)

Мда... есть над чем подумать. Все равно samba-vscan не собрался  ag
Мне кажется для меня проще в кроне запускать строчку вида

 Консоль:
clamdscan --move=/root/soft/virus /var/ftp/uploads/

/var/ftp/uploads/eicar.com: Eicar-Test-Signature FOUND
/var/ftp/uploads/eicar.com: moved to '/root/soft/virus/eicar.com.001'

----------- SCAN SUMMARY -----------
Infected files: 1
Time: 255.122 sec (4 m 15 s)

и не думать о более высоких материях. С базой постоянно работают. Если навертеть постоянный контроль то сервер не выдержит.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

10

--=XliN=-- пишет:

Если навертеть постоянный контроль то сервер не выдержит.

не знаю, у меня не такой большой напор на файловой системе. Плюс к тому - новый файл проверяется только один раз, когда создается или модифицируется. А потом он просто долго лежит на хранении... Когда его читают - то такое событие отфильтровывается и реакции антивирусных скриптов на это нет.
Естественно, что я и по крону (ночью) запускаю тотальное сканирование.
Почему поставил мониторинг - если оставить лежать в публичном доступе зараженный файл, то неизбежно станешь источником заразы. Потом будешь иметь много секса по выковыриванию этой заразы из промышленной сети. Мне оно не надо совершенно. Если запускать сканирование по крону, то сканировать надо скорее всего тотально. Доверять временным меткам на файлах я бы не стал, чтобы сканировать только новые файлы... Потому и сотворил такой мониторинг.

К тому же - я в первом своем спиче на эту тему указал, что антивирусный монитор у меня заточен под glusterfs. Ну и как приятный бонус - корпоративный файл-сервер раздает файло с одного компьютера, а антивирусный мониторинг этих файлов производится с другого компьютера. Причем, контролируется не гластерный том, а то, на чем он стоит... Поэтому потерь в эффективности работы файлового сервера от антивирусной защиты я не замечаю.