Debian에서 일일 시스템 검사 및 이메일 알림을 위한 Clamav 구성

Debian에서 일일 시스템 검사 및 이메일 알림을 위한 Clamav 구성

2022-10-19 last update

7 minutes reading ubuntu antivirus 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 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 "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 protected]에서 일부 피싱 이메일을 찾았으므로 이 경우에도 이메일을 받게 됩니다.
그게 다야!