Поиск по сайту:

Настройте Clamav для ежедневного сканирования системы и уведомлений по электронной почте в Debian


На этой странице

  1. Установка и настройка
  2. Включить уведомление и расписание сканирования
  3. Протестируйте скрипт

Сегодня мы рассмотрим антивирусное программное обеспечение ClamAV и способы его использования для защиты вашего сервера или рабочего стола. Я покажу вам, как настроить ClamAV для ежедневного сканирования всей системы, веб-сайтов и файлов электронной почты и уведомления вас по электронной почте в случае обнаружения вируса. Для тех, кто не знаком с ClamAV, ClamAV — это антивирусное программное решение с открытым исходным кодом, доступное во всех дистрибутивах Linux. Одним из требований этого руководства является наличие на вашем сервере работающей почтовой службы.

Это руководство отлично работает в системах Debian, но также должно быть совместимо с системами Ubuntu.

Установка и настройка

Прежде всего, мы выполняем команду для установки Clamav и инструмента для отправки уведомлений по электронной почте.

apt-get update && apt-get install clamav clamav-freshclam heirloom-mailx

Убедитесь, что определение вируса будет обновлено с помощью команды:

service ClamAV-freshclam start

По умолчанию ClamAV будет проверять наличие новых определений вирусов каждый час. Если вы хотите изменить этот параметр, вы можете отредактировать файл /etc/clamav/freshclam.conf.

nano /etc/clamav/freshclam.conf

И измените следующую строку:

# Check for new database 24 times a day
Checks 24

к

# Check for new database 1 times a day
Checks 1

в этом случае проверка будет производиться только один раз в день. Я предлагаю вам выходить 24 раза в день.

Чтобы вручную обновить определения вирусов, вы можете выполнить:

freshclam -v

Включить уведомление и запланировать сканирование

В следующем сценарии измените переменную DIRTOSCAN, чтобы указать каталоги, которые вы хотите сканировать.

Создаем файл /root/clamscan_daily.sh

nano /root/clamscan_daily.sh

и вставляем следующий код:

#!/bin/bash
LOGFILE="/var/log/clamav/clamav-$(date +'%Y-%m-%d').log";
EMAIL_MSG="Please see the log file attached.";
EMAIL_FROM="";
EMAIL_TO="";
DIRTOSCAN="/var/www /var/vmail";

for S in ${DIRTOSCAN}; do
 DIRSIZE=$(du -sh "$S" 2>/dev/null | cut -f1);

 echo "Starting a daily scan of "$S" directory.
 Amount of data to be scanned is "$DIRSIZE".";

 clamscan -ri "$S" >> "$LOGFILE";

 # get the value of "Infected lines"
 MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3);

 # if the value is not equal to zero, send an email with the log file attached
 if [ "$MALWARE" -ne "0" ];then
 # using heirloom-mailx below
 echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Found" -r "$EMAIL_FROM" "$EMAIL_TO";
 fi 
done

exit 0

Вы можете изменить две переменные EMAIL_FROM и EMAIL_TO, чтобы они отражали нужные адреса электронной почты, и изменить список каталогов для сканирования в переменной DIRTOSCAN.

Сохраните файл с помощью ( ctrl+o ) и измените разрешение следующим образом:

chmod 0755 /root/clamscan_daily.sh

Теперь включите ежедневное выполнение скрипта, создав символическую ссылку в каталоге /etc/cron.daily/:

ln /root/clamscan_daily.sh /etc/cron.daily/clamscan_daily

Теперь вы сможете получать уведомления по электронной почте один раз в день о вирусах или вредоносных программах в ваших почтовых файлах или на веб-сайтах. ClamAV также сканирует содержимое файлов PHP на наличие вредоносных программ или другого потенциально вредоносного содержимого.

Протестировать скрипт

В этой конфигурации ClamAV не будет выполнять никаких действий с найденными вирусами, а только сообщит о них. Так что не волнуйтесь, ничего не будет удалено или изменено. Чтобы протестировать скрипт, просто запустите:

/root/clamscan_daily.sh

После завершения команды возможны два состояния:

- Clamav обнаружил какой-то вирус: в этом случае вы получите электронное письмо на свой почтовый ящик с прикрепленным журналом.

- Clamav ничего не нашел, или что-то пошло не так. В этом случае вам нужно проверить, что говорит журнал. Чтобы проверить журналы, вы должны проверить в /var/log/clamav/

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

Starting a daily scan of /var/www directory. Amount of data to be scanned is 36G.
Mon Jun 15 13:17:14 CEST 2015

----------- SCAN SUMMARY -----------
Known viruses: 3841819
Engine version: 0.98.4
Scanned directories: 47944
Scanned files: 316827
Infected files: 0
Data scanned: 17386.77 MB
Data read: 34921.59 MB (ratio 0.50:1)
Time: 1432.747 sec (23 m 52 s)
Mon Jun 15 13:41:06 CEST 2015
------------------------------------------------------
------------------------------------------------------
Starting a daily scan of /var/vmail directory. Amount of data to be scanned is 7.0G.
Mon Jun 15 13:41:27 CEST 2015
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1386677288.M361286P15524.domain.tld,W=2675,S=2627:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1371451873.M697795P19793.domain.tld,W=5421,S=5353:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1390203133.M981287P17350.domain.tld,W=3223,S=3157:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1386677288.M361285P15524.domain.tld,W=2270,S=2227:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND

В этом случае ClamAV обнаружил фишинговое электронное письмо по адресу [email , поэтому в этом случае вы также получите электронное письмо.

Вот и все!