웹사이트 검색

Debian에서 일일 시스템 스캔 및 이메일 알림을 위해 Clamav 구성


이 페이지에서

  1. 설치 및 구성
  2. 알림 활성화 및 검색 예약\n
  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/ 디렉토리에 symlink를 생성하여 스크립트의 매일 실행을 활성화합니다.

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 에서 일부 피싱 이메일을 찾았으므로 이 경우 이메일도 수신하게 됩니다.

그게 다야!