Используя в повседневности Web-ориентированный клиент rtorrent на домашней системе призадумался. А что же получается, я скачиваю файлы они сохраняются ко мне в систему, позже я их копирую (преимущественно книги, аудиофайлы) для последующего изучения как на планшетник или мобильник дабы не терять то драгоценное время которое порой попусту проедается когда жду транспорт утром, еду в нем, возвращаюсь обратно, даже обед на работе частенько становится тем часом когда можно отдохнуть отвлекшись от рабочей суеты за прослушиванием какой-либо увлекательной книги. А потому, ведь системы на этих устройствах отличаются от моей основной — Ubuntu 12.04.5 Desktop amd64планшетник на Android, смартфон тоже на Android, а рабочий комп — стандарт де-факто Windows. И просто я же могу попросту не неся злой умысел подсадить к себе вирус, кейлоген, троянскую программу да и просто какой-либо зловред. Поэтому хоть и не бывает на системе Ubuntu вирусов, заразить то ее поставляемую из коробки да к тому же настроенную ой как не просто, а вот что с файлами перенесенными в другое место? Но на эту задачу есть решение, в репозитариях поставляемых совместно с Ubuntu входит утилита ClamAVэто набор различных утилит: демон, сканер с использованием командной строки (это я люблю) и конечно же утилита для автоматического получения новых баз содержащих все новые и новые сигнатуры по которым происходит распознавание нежелательных элементов.

Отличительные черты антивируса ClamAV:

Поддержка командной строки

Соответствие популярным почтовым форматам (используется на почтовых шлюзах)

  • Провека различных архивных файлов: Zip, RAR, Dmg, Tar, Gzip, Bzip2, OLE2, Cabinet, CHM, BinHex, SIS and others
  • Проверка исполняемых файлов ELF executables and Portable Executable files packed with UPX, FSG, Petite, NsPack, wwpack32, MEW, Upack and obfuscated with SUE, Y0da Cryptor and others
  • Проверка популярных офисных форматов: MS Office and MacOffice files, HTML, Flash, RTF and PDF

Установка в систему проста как никогда:

ekzorchik@srv-serv:~$ sudo apt-get install clamav clamav-daemon clamav-freshclam clamfs -y

Установленная версия:

ekzorchik@srv-serv:~$ clamscan --version

ClamAV 0.98.5/20025/Tue Feb 3 20:53:01 2015

Пояснение по утилитам входящим в состав пакета clamav:

  • clamav-getfiles – Update script for clamav
  • clamav – antivirus scanner for Unix
  • clamav-base – base package for clamav, an anti-virus utility for Unix
  • clamav-daemon – antivirus scanner daemon
  • clamav-data – clamav data files
  • clamav-docs – documentation package for clamav, an anti-virus utility for Unix
  • clamav-freshclam – downloads clamav virus databases from the Internet
  • clamav-milter – antivirus scanner for sendmail
  • clamav-testfiles – use these files to test that your Antivirus program works
  • clamav-dbg – debug symbols for clamav

Следующее действия это привести установленную антивирусную базу в обновленное состояние:

ekzorchik@srv-serv:~$ sudo freshclam

ClamAV update process started at Tue Feb 3 20:35:58 2015

и далее пошел процесс обновления, который через некоторое время успешно завершился.

Что теперь?

Чтобы просканировать всю систему полностью и файлы (и директории) на других файловых системах, попросту говоря смонтированных сетевых ресурсах:

ekzorchik@srv-serv:~$ sudo clamscan / --recursive=yes --cross-fs=yes

(На заметку: если не указать где производить сканирование, то по умолчанию сканирование будет произведено в домашнем каталоге текущего пользователя)

Если же не хочется смотреть на консоль когда антивирус проходит по всем файлам, то можно задать специальную опцию с целью показа только тех файлов которые имеют место быть зараженными:

ekzorchik@srv-serv:~$ sudo clamscan / -i --recursive=yes --cross-fs=yes

Проверить конкретный файл:

ekzorchik@srv-serv:~$ cat /etc/passwd | clamscan -

stdin: OK

———– SCAN SUMMARY ———–

Known viruses: 3736523

Engine version: 0.98.5

Scanned directories: 0

Scanned files: 1

Infected files: 0

Data scanned: 0.00 MB

Data read: 0.00 MB (ratio 0.00:1)

Time: 7.586 sec (0 m 7 s)

Проверить конкретный файл и в случае обнаружения инициализировать звуковой сигнал:

ekzorchik@srv-serv:~$ clamscan -i --bell

В обычном режиме программа просто сообщает о найденном вирусе. Используя дополнительные ключи, можно выполнить следующие действия: удалить вирус (--remove), переместить (--move=путь) или скопировать (--copy=путь) файлы в другой каталог.

Подключаю логический диск к каталогу для проверки антивирусом из под Ubuntu:

ekzorchik@srv-serv:~$ sudo mkdir /media/smb

ekzorchik@srv-serv:~$ sudo apt-get install smbfs -y

ekzorchik@srv-serv:~$ sudo smbmount //192.168.1.41/c$ /media/smb -o username=ekzorchik,<мой_пароль_к_windows_станции>

либо

ekzorchik@srv-serv:~$ sudo mount -t cifs //192.168.1.41/c$ /media/smb -o username=ekzorchik,<мой_пароль_к_windows_станции>

Запускаю сканирование каталога download на станции Windows, пройти по всем файлам и каталогам, нежелательные элементы удалять, отчет вывести в каталог пользователя ekzorchik в файл Log_scan.txt:

ekzorchik@srv-serv:~$ sudo clamscan /media/smb/download/ -i --recursive=yes --cross-fs=yes --remove —log=/home/ekzorchik/log_scan.txt

а вот и первые результаты по обнаружению нежелательных элементов:

  • /media/smb/download/InstallScript/InstallScript/UP/Addons/1-MSXML4/Files/ForceCopy/SVCPACK/MSXML4.EXE: Win.Trojan.Agent-30620 FOUND
  • /media/smb/download/InstallScript/InstallScript/UP/Addons/1-MSXML4/Files/ForceCopy/SVCPACK/MSXML4.EXE: Removed.

Как видно наглядно процесс идет и он непоколебим.

Также в процессе сканирования будут полезны опции задающие правила сканирования, т. е. Задавание какие каталоги следует пропистить при сканировании, а какие наоборот включить. Делается это с помощью опций:

excludeисключить из процесса сканирования (к примеру каталоги: /sys & /proc & dev

ekzorchik@srv-serv:~$ sudo clamscan -ri --exclude-dir=^/sys\|^/proc\|^/dev/ / --log=/home/ekzorchik/log_scan.txt

includeдобавить в процесс сканирования

Как и у большинства различных антивирусов clamav не обделен и расширенными настройками, за настройку отвечает конфигурационный файл: clamd.conf расположение которого легко узнается посредством команды:

ekzorchik@srv-serv:~$ sudo find / -name clamd.conf

/etc/clamav/clamd.conf

следует заменить, что настройки в нем к сожалению не отражают всех перечисленных, потому как некоторые уже заранее заложены, как дефолтные и повторять их еще раз в файле кажется разработчикам излишне, чтобы отобразить все действущие делаем так:

ekzorchik@srv-serv:~$ clamconf

Откуда же берется вывод действующих настроек, а все просто задействуются такие конфигурационные файлы, как: clamd.conf & freshclam.conf

ekzorchik@srv-serv:~$ sudo find / -name freshclam.conf

/etc/clamav/freshclam.conf

Для более подробной информации по опциям советую почитать справку по утилите clamav. (man clamav)

Чтобы каждый раз не запускать clamav на сканирование системы с целью проверки, а не подцепили ли Вы что-либо или проверить, что каталог со скачанными файлами из torrent выдают себя за те которые Вы скачать, можно настроить соответствующее задание на периодичность, к примеру раз час или как Вам лучше в зависимости от Ваших потребностей:

ekzorchik@srv-serv:~$ sudo nano /etc/cron.hourly/clamscan_download

#!/bin/bash

SCAN_DIR="/media/smb"

LOG_FILE="/var/log/clamav/clamscan_download.log"

/usr/bin/clamscan -ri --remove $SCAN_DIR >> $LOG_FILE

Сохраняем внесенные изменения, назначаем созданному файлу права на запуск:

ekzorchik@srv-serv:~$ sudo chmod +x /etc/cron.hourly/clamscan_download

Можно на всякий случай перезапустить службу cron:

ekzorchik@srv-serv:~$ sudo service cron stop

cron stop/waiting

ekzorchik@srv-serv:~$ sudo service cron start

cron start/running, process 4682

Теперь каждый час будет производиться сканирование каталога где у меня располагаются скачанные torrent файлы, но как я заметил выше данная периодичность достигается индивидуально.

Прекратить выполнение задания, снимает исполняемый атрибут:

ekzorchik@srv-serv:~$ sudo chmod -x /etc/cron.hourly/clamscan_download

Также можно сделать по другому сделать задание но уже запуск назначить на конкретное время в течение дня,недели,месяца,года:

ekzorchik@srv-serv:~$ sudo mkdir /etc/clamav/script

ekzorchik@srv-serv:~$ sudo nano /etc/clamav/script/download

/usr/bin/clamscan -ri --remove --exclude-dir=^/sys\|^/proc\|^/dev /media/smb/download | mail -s "ClamAV scan Result for 'date +%d'" support@ekzorchik.ru

ekzorchik@srv-serv:~$ sudo chmod +x /etc/clamav/script/download

Запускать скрипт каждый день в девять часов вечера:

ekzorchik@srv-serv:~$ sudo crontab -e

0 21 * * * /etc/clamav/script/download

Сохраняем внесенные изменения:

crontab: installing new crontab

Что еще хочется отметить, можно сделать также задание но уже более расширенное с возможность отправки отчета о проделанной операции на почту. Для этих целей к примеру подойдет скрипт имеющий место быть опубликованным в этой заметке.

  • https://hacking.im/automated-clam-antivirus-scanning-for-centos-servers
  • https://forum.transmissionbt.com/viewtopic.php?f=1&t=15665

Просто берем его и адаптируем под свои задачи — это гораздо проще использовать уже что-то написанное чем создавать все с нуля и проходить все грабли.

Но чтобы почта отправлялась в системе должен быть настроен MTA агент от имени какого почтового ящика инициализировать отправку, к примеру за шагами настройки можете обратиться на мой блог к заметке.

Не знаю, чтобы еще такого показать для антивируса, скажу лишь одно — не обязательно гнаться за известными на слуху антивирусами, уже давно имеющееся и хорошо себя зарекомендовавшее присутствующее в репозитариях утилита clamav может применяться для повседневных задач столь же качественно как и другие. Clamav хорош бесплатностью и универсальностью, способностью комбинироваться и подстраиваться под нужды пользователя/администратора на системе Ubuntu. Меня он в полной мере устраивает всем.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru