今日は、ClamAVウイルス対策ソフトウェアと、それを使用してサーバーまたはデスクトップを保護する方法について説明します。すべてのシステム、ウェブサイト、メールファイルを毎日スキャンし、ウイルスが検出された場合にメールで通知するようにClamAVを設定する方法を説明します。 ClamAVを知らない人のために、ClamAVは、すべてのLinuxディストリビューションで利用できるオープンソースのウイルス対策ソフトウェアソリューションです。このガイドの要件の1つは、サーバーにすでにメールサービスが機能していることです。
このチュートリアルはDebianで正常に機能しています システムですが、 Ubuntuと互換性がある必要があります システムも同様です。
まず、Clamavをインストールするコマンドと、メール通知を送信するツールを実行します。
apt-get update && apt-get install clamav clamav-freshclam heirloom-mailx
次のコマンドでウイルス定義が更新されることを確認してください:
service ClamAV-freshclam start
デフォルトでは、ClamAVは1時間ごとに新しいウイルス定義をチェックします。このパラメータを変更する場合は、ファイル/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
この場合、チェックは1日1回だけ行われます。 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
2つの変数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
これで、メールファイルまたはWebサイト内のウイルスまたはマルウェアに関する電子メール通知を1日1回受信できるようになります。 ClamAVは、PHPファイルのコンテンツをスキャンして、マルウェアやその他の潜在的に悪意のあるコンテンツの存在を確認します。
この構成では、ClamAVは検出されたウイルスに対してアクションを実行せず、それらを報告するだけです。だから心配しないでください、何も削除または変更されません。スクリプトをテストするには、次のコマンドを実行します。
/root/clamscan_daily.sh
コマンドが終了すると、次の2つの状態が発生する可能性があります。
--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は[メール保護]でフィッシングメールを検出したため、この場合はメールも受信します。
それだけです!