Настройка антивируса Clamav в Debian GNU/Linux Etch 4.0

VXZ аватар

1). Добавляем в список репозиториев
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
для этого даем команду
gedit /etc/apt/sources.list
и добавляем указанную выше строку
(листинг файла /etc/apt/sources.list)
*******************************************
#
deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-3 20070407-11:40]/ etch contrib main
deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-2 20070407-11:40]/ etch contrib main
deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 DVD Binary-1 20070407-11:40]/ etch contrib main
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
# Line commented out by installer because it failed to verify:
deb http://security.debian.org/ etch/updates main contrib
# Line commented out by installer because it failed to verify:
deb-src http://security.debian.org/ etch/updates main contrib
*******************************************
2). Обновляем список доступных для установки пакетов
apt-get update
3). Устанавливаем антивирус clamav
apt-get install clamav
4). Обновляем антивирусную базу
/usr/bin/freshclam
5). Смотрим логи
gedit /var/log/clamav/freshclam.log
6). Если хотите просканировать всю систему на наличие паразитов даем команду
/usr/bin/clamscan -r /
7). Настройка автоматического обновления антивирусных баз и ежедневного сканирования системы
открываем файл конфигурации cron
gedit /etc/crontab
и добавляем две строки
0 9 * * * root /usr/bin/clamscan -r /
0 12 * * * root /usr/bin/freshclam
первая строка отвечает за то, чтобы каждый день в 9.00 производилось сканирование системы, ну а вторая обновляет базу антивируса в 12.00
(листинг файла /etc/crontab)
********************************************
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
0 9 * * * root /usr/bin/clamscan -r /
0 12 * * * root /usr/bin/freshclam
#
*****************************************
THE END

D3viL аватар

Спасибо, прикрутил, правда на Slackware :)

VXZ аватар

Да и еще, если у вас на машинке есть почтовый сервер и настроена система теневого копирования почты, то каждый день на ящик root@ваш_домен будут приходить письма с отчетами о результатах сканирования системы и обновления баз clamav.

Grifon аватар

Не понял, зачем система теневого копирования почти, если честно. У меня на сервере просто стоит amavisd-new, который проверяет почту на спам с помощью spamassassin и на вирусы с помощью clamav

VXZ аватар

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

Grifon аватар

Хы... А названа-то как, да и не связано это с clamav ни коим образом

VXZ аватар

Это позволяет принимать от clamav отчеты об сканировании и обнаруженных вирусах

Grifon аватар

Если Вы не против, я Вас немного поправлю. Во-первых, лучше не изменять /etc/crontab, а создавать задания в /etc/cron.d; во-вторых, отчёты вам приходят от crontab на почту root, поэтому нет необходимости в теневом копировании для логов, присылаемых от планировщика, достаточно добавить alias от root на своего пользователя; в-третьих, если вам нужна большая прозрачность, можно организовать скрипт:

#!/bin/bash
TMPFILE=`mktemp /tmp/clamlog.XXXXXX` || exit 1
/usr/bin/clamscan -ri / &>$TMPFILE
cat $TMPFILE | mail -s clamlog user@domain
rm $TMPFILE

Данный код содержит:
- параметр i у сканера, что выводит только заражённые файлы (зачем читать портянки?)
- отправка лога на любой выбранный email. Конечно, отправка такого лога нарушает некоторые rfc об электронной почте (если текст содержит символы не ascii, например, заражённый файл назван русскими буквами, то текст должен кодироваться в base64)
Этот скрипт вы запускаете из cron, выводя лог в /dev/null. Сюда вы сможете добавить любую обработку файлов, например, поместить в карантин (правда, clamscan это умеет командой --move=DIRECTORY, но наша фантазия ведь бурная?). Можно отправлять почту другими способами, например, "правильным rfc или предварительно архивируя лог.
Так что, если вы пишете материал, давайте лучше исследовать всю проблему. Надеюсь, я пишу не зря

VXZ аватар

Спасибо за полезную информацию.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".