Настройте Clamav для ежедневного сканирования системы и уведомлений по электронной почте в Debian
На этой странице
- Установка и настройка
- Включить уведомление и расписание сканирования
- Протестируйте скрипт
Сегодня мы рассмотрим антивирусное программное обеспечение 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 , поэтому в этом случае вы также получите электронное письмо.
Вот и все!