#author("2018-08-29T14:46:56+09:00","","")

#author("2018-08-29T14:48:21+09:00","","")

[[CentOS7]]

*アンチウイルスソフト導入(Clam AntiVirus) [#u2d82e59]

Linux用のフリーのアンチウイルスソフトであるClam AntiVirusを導入する。

*Clam AntiVirusインストール [#ec6b0122]
|BGCOLOR(black):COLOR(white):|c
|&color(lime){EPELリポジトリ導入(EPEL)を参照してEPELリポジトリを導入する};|
|[root@localhost ~]# yum -y install clamav clamav-server clamav-server-systemd clamav-update clamav-scanner &color(lime){← Clam AntiVirusインストール};|



*ウイルス定義ファイル最新化 [#r7fa9414]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /etc/freshclam.conf &color(lime){← ウイルス定義ファイル更新設定ファイル編集};|
|# Comment or remove the line below. &br; &color(lime){#};Example &color(lime){← 行頭に#を追加してコメントアウト(ウイルス定義ファイル更新機能の有効化)}; &br;  &br; # Send the RELOAD command to clamd. &br; # Default: no &br; #NotifyClamd /path/to/clamd.conf &br; NotifyClamd /etc/clamd.d/scan.conf &color(lime){← 追加(ウイルス定義ファイル更新をclamdに通知する)};|
|[root@localhost ~]# vi /etc/sysconfig/freshclam &color(lime){← ウイルス定義ファイル自動更新設定ファイル編集};|
|&color(lime){#};FRESHCLAM_DELAY= &color(lime){← 行頭に#を追加してコメントアウト};|
|[root@localhost ~]# freshclam &color(lime){← ウイルス定義ファイル最新化};|
|ClamAV update process started at Sat Sep  3 13:22:28 2016 &br; main.cvd is up to date (version: 57, sigs: 4218790, f-level: 60, builder: amishhammer) &br; nonblock_connect: connect timing out (30 secs) &br; Can't connect to port 80 of host database.clamav.net (IP: 172.110.204.67) &br; Trying host database.clamav.net (208.72.56.53)... &br; connect_error: getsockopt(SO_ERROR): fd=4 error=111: Connection refused &br; Can't connect to port 80 of host database.clamav.net (IP: 208.72.56.53) &br; Trying host database.clamav.net (64.22.33.90)... &br; WARNING: getfile: daily-21724.cdiff not found on database.clamav.net (IP: 64.22.33.90) &br; WARNING: getpatch: Can't download daily-21724.cdiff from database.clamav.net &br; WARNING: getfile: daily-21724.cdiff not found on database.clamav.net (IP: 150.214.142.197) &br; WARNING: getpatch: Can't download daily-21724.cdiff from database.clamav.net &br; WARNING: getfile: daily-21724.cdiff not found on database.clamav.net (IP: 194.186.47.19) &br; WARNING: getpatch: Can't download daily-21724.cdiff from database.clamav.net &br; WARNING: Incremental update failed, trying to download daily.cvd &br; Downloading daily.cvd [100%] &br; daily.cvd updated (version: 22176, sigs: 575124, f-level: 63, builder: neo) &br; Downloading bytecode-279.cdiff [100%] &br; Downloading bytecode-280.cdiff [100%] &br; Downloading bytecode-281.cdiff [100%] &br; Downloading bytecode-282.cdiff [100%] &br; Downloading bytecode-283.cdiff [100%] &br; bytecode.cld updated (version: 283, sigs: 53, f-level: 63, builder: neo) &br; Database updated (4793967 signatures) from database.clamav.net (IP: 69.12.162.28) &br; ERROR: Please edit the example config file /etc/clamd.d/scan.conf &br; ERROR: NotifyClamd: Can't find or parse configuration file /etc/clamd.d/scan.conf|

&color(red){※以後のウイルス定義ファイルのアップデートは、/etc/cron.d/clamav-updateにより定期的に自動で行われる};



*Clam AntiVirus設定 [#t8a4c04b]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /etc/clamd.d/scan.conf &color(lime){← Clam AntiVirus設定ファイル編集};|
|# Comment or remove the line below. &br; #Example &color(lime){← 行頭に#を追加してコメントアウト}; &br;  &br; # Run as another user (clamd must be started by root for this option to work) &br; # Default: don't drop privileges &br; #User clamscan &color(lime){← 行頭に#を追加してコメントアウト(root権限で動作するようにする)}; &br;  &br; # Path to a local socket file the daemon will listen on. &br; # Default: disabled (must be specified by a user) &br; LocalSocket /var/run/clamd.scan/clamd.sock &color(lime){← 行頭の#を削除};|

|# Comment or remove the line below. &br; &color(lime){#};Example &color(lime){← 行頭に#を追加してコメントアウト}; &br;  &br; # Run as another user (clamd must be started by root for this option to work) &br; # Default: don't drop privileges &br; &color(lime){#};User clamscan &color(lime){← 行頭に#を追加してコメントアウト(root権限で動作するようにする)}; &br;  &br; # Path to a local socket file the daemon will listen on. &br; # Default: disabled (must be specified by a user) &br; LocalSocket /var/run/clamd.scan/clamd.sock &color(lime){← 行頭の#を削除};|




*Clam AntiVirus起動 [#bb33be6b]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# systemctl start clamd@scan &color(lime){← clamd起動};|
|[root@localhost ~]# systemctl enable clamd@scan &color(lime){← clamd自動起動設定};|



*ウイルススキャンテスト [#jbd64d82]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# clamdscan -c /etc/clamd.d/scan.conf --remove &color(lime){← ウイルススキャンテスト(ウイルスなしの場合)};|
|/root: OK &br;  &br; ----------- SCAN SUMMARY ----------- &br; Infected files: 0 &color(lime){← ウイルスは検知されなかった}; &br; Time: 1.924 sec (0 m 1 s)|
|[root@localhost ~]# wget http://www.eicar.org/download/eicar.com &color(lime){← テスト用ウイルスをダウンロード};|
|[root@localhost ~]# wget http://www.eicar.org/download/eicar.com.txt &color(lime){← 〃};|
|[root@localhost ~]# wget http://www.eicar.org/download/eicar_com.zip &color(lime){← 〃};|
|[root@localhost ~]# wget http://www.eicar.org/download/eicarcom2.zip &color(lime){← 〃};|
|[root@localhost ~]# clamdscan -c /etc/clamd.d/scan.conf --remove &color(lime){← ウイルススキャンテスト(ウイルスありの場合)};|
|/root/eicar.com: Eicar-Test-Signature FOUND &color(lime){← ウイルス検知}; &br; /root/eicar.com: Removed. &color(lime){← ウイルス削除}; &br; /root/eicar.com.txt: Eicar-Test-Signature FOUND &color(lime){← ウイルス検知}; &br; /root/eicar.com.txt: Removed. &color(lime){← ウイルス削除}; &br; /root/eicar_com.zip: Eicar-Test-Signature FOUND &color(lime){← ウイルス検知}; &br; /root/eicar_com.zip: Removed. &color(lime){← ウイルス削除}; &br; /root/eicarcom2.zip: Eicar-Test-Signature FOUND &color(lime){← ウイルス検知}; &br; /root/eicarcom2.zip: Removed. &color(lime){← ウイルス削除}; &br;  &br; ----------- SCAN SUMMARY ----------- &br; Infected files: 4 &color(lime){← 4つのウイルスを検知した}; &br; Time: 23.913 sec (0 m 23 s)|



*ウイルススキャン定期自動実行設定 [#qd5645cb]
**ウイルススキャン定期自動実行設定 [#y9234a86]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /etc/cron.daily/clamdscan &color(lime){← ウイルススキャン日次実行スクリプト作成};|
|#!/bin/sh &br;  &br; # 設定ファイル &br; CONFIG=/etc/clamd.d/scan.conf &br;  &br; # スキャン実行 &br; # ※ウイルス検知時は隔離ディレクトリへ隔離 &br; CLAMSCANLOG=`mktemp` &br; QUARANTINEDIR=/tmp/clamdscan-quarantinedir-$(date +%Y%m%d) &br; mkdir -p ${QUARANTINEDIR} &br; clamdscan -c ${CONFIG} --move=${QUARANTINEDIR} / > ${CLAMSCANLOG} 2>&1 &br;  &br; # ウイルス検知時のみroot宛にメール通知 &br; if [ -z "$(grep FOUND$ ${CLAMSCANLOG})" ]; then &br;     rm -rf ${QUARANTINEDIR} &br; else &br;     grep -A 1 FOUND$ ${CLAMSCANLOG} | mail -s "Virus Found in `hostname` => ${QUARANTINEDIR}" root &br; fi &br;  &br; # スキャンログをシスログに出力 &br; cat ${CLAMSCANLOG} | logger -t $(basename ${0}) &br; rm -f ${CLAMSCANLOG}|
|[root@localhost ~]# chmod +x /etc/cron.daily/clamdscan &color(lime){← ウイルススキャン日次実行スクリプトへ実行権限付加};|
|[root@localhost ~]# echo ExcludePath ^/proc/ >> /etc/clamd.d/scan.conf &color(lime){← 例として/procディレクトリをスキャン対象外にする};|
|[root@localhost ~]# echo ExcludePath ^/sys/ >> /etc/clamd.d/scan.conf &color(lime){← 例として/sysディレクトリをスキャン対象外にする};|
|[root@localhost ~]# systemctl restart clamd@scan &color(lime){← clamd再起動(スキャン除外設定反映)};|

これで、毎日定期的に全ファイルのウイルススキャンが行われ、ウイルスを検知した場合のみroot宛にメールが送られてくるようになる。



**ウイルス検知後の対応 [#vd986c94]
ウイルス検知メールが送られてきた場合、内容を確認し、ウイルスであると確認できた場合、当該ファイルを隔離先(ウイルス検知メール件名に記載)から削除する。

ウイルスでない(ClamAVによる誤検知)と確認できた場合、当該ファイルを隔離先から復元し、次回以降、誤検知しないように当該ファイルをスキャン対象外にする。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS