Прошу совет по антивирусу

Автор Андрей_1, 09 июня 2016, 08:39:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Андрей_1

Ситуация такая: у меня есть расшаренные ресурсы и бывает скидывают с вирусом, а потом кто-то скачивает и матерится на меня. Я с интернета что-то качаю. Конечно я проверяю с помощью clamscan, удаляю им же. Но это не очень эффективно. Вспомнил винду, dr.web, зашёл на их сайт. У них есть версия под linux.
Нужен совет - стоит ли покупать у них лицензию на прогу?

P.S.
про liveсd и  curit я знаю, но это тоже не эфективно.

ogost

#1
пользовался им для тех же целей много лет назад на протяжении года, был доволен. сейчас за ненадобностью не пользуюсь, и не имею ни малейшего представления как там сейчас обстоят дела. сейчас если же кто-то просит что-то скинуть, то проверяю на virustotal, но это в вашем случае должно быть крайне неэффективно.
у доктора вэба вроде бы есть демо-версия, можете попробовать. или накостылить скрипт и проверять все новые файлы в шаре clamav-ом.

Cообщение объединено 09 июня 2016, 09:18:24

сейчас в репах нашел ещё и clamfs, судя по описанию это то, что вам подходит.

gardarea51

#2
Сделайте просто кламскан, который висит в фоне и сканирует новые появившиеся в шаре файлы.
Есть еще демон clamdscan, но я как-то обошелся просто clamscan.
Вот мой скрипт, который я запустил просто руками, но так-то при запуске системы надо его стартовать:
#!/bin/bash

clamav-scan-files ()
{
   dir=$1
   dtime=`date +"%d.%m.%Y %T"`
   inotifywait -m -q -r -e create --format '%w%f' $dir | \
   while read line; do
      scanresult=$(clamscan -r --no-summary --move=/mnt/data/shares/admins/Quarantine "$line")
      echo "$dtime $scanresult" >> /var/log/clamav/scan-files.log 2>&1
   done
}

clamav-scan-files /mnt/data/shares/public/ &
clamav-scan-files /mnt/data/shares/mycats/ &
clamav-scan-files /mnt/data/shares/office/ &

Проверяет новые появившиеся в шаре файлы, если что перемещает в карантин.

Ну и по крону раз в день проверять всю шару, пока комп не исользуется, наприме ночью.

oermolaev

Ещё есть возможность настроить
ClamFS
защищенная антивирусом файловая система в пространстве пользователя
ClamFS — основанная на FUSE файловая система для Linux с встроенным
антивирусным сканированием посредством clamd
[свернуть]
Например как здесь

Андрей_1

Спасибо всем! Буду пробовать по Вашим советам!

gardarea51

Забыл написать echo "$dtime $scanresult" >> /var/log/clamav/scan-files.log 2>&1
Это у меня в заранее подготовленный файлик логов запись производится, то есть нужно сделать ротацию.

Можно и без логирования.

Андрей_1

gardarea51
скопировал Ваш код, При запуске выдаётся ошибка.

root@DEBSERVER:/home/manager# sh virusscan.sh
virusscan.sh: 3: virusscan.sh: Syntax error: Bad function name

получается ругается на функцию - clamav-scan-files ()

gardarea51

#7
А пути верные указали?
Давайте код скипта.

А и еще, установлен ли пакет Inotify-tools?

Андрей_1

#8
Код скрипта
Открыть содержимое (спойлер)

#!/bin/bash

clamav-scan-files ()
{
   dir=$1
   dtime=`date +"%d.%m.%Y %T"`
   inotifywait -m -q -r -e create --format '%w%f' $dir | \
   while read line; do
      scanresult=$(clamscan -r --no-summary --move=/mnt/data/shares/admins/Quarantine "$line")
      echo "$dtime $scanresult" >> /var/log/clamav/scan-files.log 2>&1
   done
}

clamav-scan-files /mnt/SHARE/TRASH/ &
clamav-scan-files /mnt/NTFS/SVALKA/ &
clamav-scan-files /mnt/COPY/ftpwrite/ &
clamav-scan-files /home/manager/Загрузки/ &


echo "$dtime $scanresult" >> /home/manager/virus.log 2>&1
[свернуть]

Inotify-tools установлен.
Но вот что выяснилось - если я запускаю этот файл через диспетчер файлов двойным кликом, то virusscan.sh появляется в процессах. А в терминале его нет. Но тут наверное будет загвоздка в том что он запущен под юзером, а надо же под root? Т.е. запускать диспетчер файлов под root, потом virusscan.sh ?


Cообщение объединено 10 июня 2016, 12:02:40

Ещё один путь изменил теперь так
Открыть содержимое (спойлер)

#!/bin/bash

clamav-scan-files ()
{
   dir=$1
   dtime=`date +"%d.%m.%Y %T"`
   inotifywait -m -q -r -e create --format '%w%f' $dir | \
   while read line; do
      scanresult=$(clamscan -r --no-summary --move=/mnt/virus/Quarantine "$line")
      echo "$dtime $scanresult" >> /home/manager/virus.log 2>&1
   done
}

clamav-scan-files /mnt/SHARE/TRASH/ &
clamav-scan-files /mnt/NTFS/SVALKA/ &
clamav-scan-files /mnt/COPY/ftpwrite/ &
clamav-scan-files /home/manager/Загрузки/ &
[свернуть]

Но всё равно в терминале не запускается, та же ошибка. Сейчас попробую под root запустить из диспетчера файлов!

alsoijw

Андрей_1, убери минусы в названии функции.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

gardarea51

Вот еще что --move=/mnt/data/shares/admins/Quarantine
Это означает переместить обнаруженные файлы в определенную директорию. У вас должна быть своя.
Минусы ни при чем . :)

А запускать так: сделать файл исполняемым, затем просто выполнить из терминала, от рута.
Можно потом дописать его автозапуск в /etc/rc.local, или куда нибудь в другое место.

В процессах смотреть нужно так:
ps aux | grep clam
ps aux | grep inot

Андрей_1

#11
В терминале всё равно не запускается процессы смотрю через виджет - "Монитор загрузки системы".
Прописал в автозагрузку юзера, от имени root, при загрузке просит пароль, сейчас попробую в rc.local прописать.
В принципе работает этот скрипт, Кинул файлы в две папки, указанные в скрипте, сразу началась проверка в обеих папках.
Спасибо!


Cообщение объединено 11 июня 2016, 04:55:19

Прописал в rc.local . Убрал из автозагрузки юзера. Перегрузил, всё работает!
Ещё раз, СПАСИБО!

gardarea51


Андрей_1

Вот это конечно много мне помогло. Но аппетиты растут. Такой вопросик:
Можно ли сделать чтобы сохранялся отчёт в виде - дата, имя проверяемой папки, сколько заражённых файлов и какие.
Это тоже важно, я бы этот отчёт выкладывал на сайт и можно было бы видеть что и как!

gardarea51

Скрипт записывает дату и имя проверяемого файла в лог.
Он же как работает: утилита inotifywait следит за новоявленными файлами в директории, если появился файл - запускается clamscan, делается запись в лог.
Можно кстати не только новые файлы проверять, а например измененные и пр.. это уже надо смотреть ман к inotifywait.

Чтобы проверять целые директории, надо просто по крону запускать проверку этих самых директорий, указав выводить информацию опять же в лог. Только там вроде даты не ставятся, насколько я помню. А фильтровать результаты для выкладывания на сайт можно в простейшем случае как-то так: cat /var/log/clamav/clamscad-crond | grep INFECTED (выборка строк из некоего лога по некой фразе). Либо вот например как тут в самом низу предлагают: http://ubuntuforums.org/showthread.php?t=2238976

У меня к примеру ежедневное сканирование делается по крону так:
root@gw:~# cat /etc/cron.d/clamscan
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
01 22 * * * root /usr/bin/clamscan -r --move=/mnt/data/shares/admins/Quarantine/ -f /root/executable_scripts/clamav-scan-list-for-cron >> /var/log/clamav/clamscan-crond.log 2>&1

root@gw:~# cat /root/executable_scripts/clamav-scan-list-for-cron
/mnt/data/shares/office
/mnt/data/shares/mycats
/mnt/data/shares/public