Антивирус · 3 min read · Sep 22, 2025
Настройка Clamav для ежедневных сканирований системы и уведомлений по электронной почте на Debian
Сегодня мы рассмотрим антивирусное программное обеспечение 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="Пожалуйста, смотрите прикрепленный файл журнала.";
EMAIL_FROM="[email protected]";
EMAIL_TO="[email protected]";
DIRTOSCAN="/var/www /var/vmail";
for S in ${DIRTOSCAN}; do
DIRSIZE=$(du -sh "$S" 2>/dev/null | cut -f1);
echo "Начинаем ежедневное сканирование каталога "$S".
Объем данных для сканирования составляет "$DIRSIZE".";
clamscan -ri "$S" >> "$LOGFILE";
# получаем значение "Зараженные строки"
MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3);
# если значение не равно нулю, отправляем электронное письмо с прикрепленным файлом журнала
if [ "$MALWARE" -ne "0" ];then
# используем heirloom-mailx ниже
echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Обнаружен вредоносный код" -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/
Я прикреплю небольшой пример журнала, чтобы вы знали, что читать:
Начинаем ежедневное сканирование каталога /var/www. Объем данных для сканирования составляет 36G.
Пн Июн 15 13:17:14 CEST 2015
----------- РЕЗЮМЕ СКАНИРОВАНИЯ -----------
Известные вирусы: 3841819
Версия движка: 0.98.4
Сканируемые каталоги: 47944
Сканируемые файлы: 316827
Зараженные файлы: 0
Объем данных, сканируемых: 17386.77 MB
Объем данных, прочитанных: 34921.59 MB (соотношение 0.50:1)
Время: 1432.747 сек (23 м 52 с)
Пн Июн 15 13:41:06 CEST 2015
------------------------------------------------------
------------------------------------------------------
Начинаем ежедневное сканирование каталога /var/vmail. Объем данных для сканирования составляет 7.0G.
Пн Июн 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 protected], так что в этом случае вы также получите электронное письмо.
Вот и все!
Get new posts in your inbox
No spam. Unsubscribe anytime.