ClamAVを使ってウイルス対策をしよう!
ここでは、アンチウィルスソフト(Clam AntiVirus)のインストール手順を掲載しています。
[広告]
Clam AntiVirusとは…
Clam AntiVirusはオープンソースで開発が進められているアンチウィルスソフトです。オープンソースなので、Linuxだけでなく、Windows版、Mac版のように様々なOSに移植され、使われています。
Clam AntiVirusのインストール
Clam AntiVirusは公式のリポジトリにないので、EPELリポジトリを使ってインストールします。
EPELリポジトリの設定をしていない方は初期設定ページをご覧ください。
EPELリポジトリのClam AntiVirusは、役割ごとパッケージが分かれているので、ホイホイと入れていきます。
[root@rl8 ~]# dnf --enablerepo=epel -y install clamav clamd clamav-update
インストール済み:
clamav-0.103.8-3.el8.x86_64 clamav-filesystem-0.103.8-3.el8.noarch
clamav-lib-0.103.8-3.el8.x86_64 clamav-update-0.103.8-3.el8.x86_64
clamd-0.103.8-3.el8.x86_64 libprelude-5.2.0-1.el8.x86_64
完了しました!
Clam AntiVirusの設定
[root@rl8 ~]# cp -p /etc/freshclam.conf /etc/freshclam.conf.old
[root@rl8 ~]# echo "NotifyClamd /etc/clamd.d/scan.conf" >> /etc/freshclam.conf
[root@rl8 ~]# cp -p /etc/clamd.d/scan.conf /etc/clamd.d/scan.conf.old
[root@rl8 ~]# vi /etc/clamd.d/scan.conf
#LocalSocket /run/clamd.scan/clamd.sock
↓
LocalSocket /var/run/clamd.scan/clamd.sock
User clamscan
↓
User root
Clam AntiVirusの動作確認(1)
まずはウィルス定義ファイルの更新をしてみましょう。
終わるまで時間かかるかも知れませんが、カモミールティーでも飲みながらゆっくり待ちましょう。
[root@rl8 ~]# freshclam
ClamAV update process started at Tue Mar 7 11:13:01 2023 daily database available for download (remote version: 26833) Time: 5.2s, ETA: 0.0s [========================>] 58.02MiB/58.02MiB Testing database: '/var/lib/clamav/tmp.181e4a1c1b/clamav-a8e099762809e7134f431f19e1a4f81b.tmp-daily.cvd' ... Database test passed. daily.cvd updated (version: 26833, sigs: 2023710, f-level: 90, builder: raynman) main database available for download (remote version: 62) Time: 13.5s, ETA: 0.0s [========================>] 162.58MiB/162.58MiB Testing database: '/var/lib/clamav/tmp.181e4a1c1b/clamav-0bb79c175b98c17ace61f86e89dad7c9.tmp-main.cvd' ... Database test passed. main.cvd updated (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr) bytecode database available for download (remote version: 334) Time: 0.3s, ETA: 0.0s [========================>] 285.12KiB/285.12KiB Testing database: '/var/lib/clamav/tmp.181e4a1c1b/clamav-bb141f3d26c172adaf4b7a82e0120ada.tmp-bytecode.cvd' ... Database test passed. bytecode.cvd updated (version: 334, sigs: 91, f-level: 90, builder: anvilleg) WARNING: Clamd was NOT notified: Can't connect to clamd through /var/run/clamd.scan/clamd.sock: No such file or directory
最後に「WARNING」ということで警告が出ていますが、まだClanAVが起動していないために出ている警告なので、無視してOKです。
それ以外のエラーが出て更新が進まない場合は、「freshclam -u root」を実行してみてください。
更新が終わったら、Clam AntiVirusを起動します。
[root@rl8 ~]# systemctl enable --now clamd@scan
Created symlink /etc/systemd/system/multi-user.target.wants/clamd@scan.service → /usr/lib/systemd/system/clamd@.service.
[root@rl8 ~]# systemctl status clamd@scan
● clamd@scan.service - clamd scanner (scan) daemon Loaded: loaded (/usr/lib/systemd/system/clamd@.service; enabled; vendor pres> Active: active (running) since Sat 2023-03-04 18:10:22 JST; 7s ago Docs: man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/ Process: 9743 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/scan.conf (code=exite> Main PID: 9744 (clamd) Tasks: 2 (limit: 11387) Memory: 1.2G CGroup: /system.slice/system-clamd.slice/clamd@scan.service mq9744 /usr/sbin/clamd -c /etc/clamd.d/scan.conf
定義ファイルの更新が終わったら、実際にスキャンをしてみます。
[root@rl8 ~]# clamscan --infected --remove --recursive
----------- SCAN SUMMARY -----------
Known viruses: 8655640
Engine version: 0.103.8
Scanned directories: 1
Scanned files: 7
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 574.842 sec (9 m 34 s)
Start Date: 2023:03:07 11:16:08
End Date: 2023:03:07 11:25:43
何も検出されなかったため、"Infected files"が"0"ですね。
Clam AntiVirusの動作確認(2)
テスト用の無害なウィルスデータをダウンロードし、スキャンされるかどうかを確認します。
まず、テスト用データをダウンロードします。
[root@rl8 ~]# dnf -y install wget
インストール済み:
libmetalink-0.1.3-7.el8.x86_64 wget-1.19.5-10.el8.x86_64
完了しました!
[root@rl8 ~]# wget http://www.eicar.org/download/eicar.com.txt http://www.eicar.org/download/eicar.com
--2023-03-07 11:28:26-- http://www.eicar.org/download/eicar.com.txt www.eicar.org (www.eicar.org) をDNSに問いあわせています... 89.238.73.97, 2a00:1828:1000:2497::2 www.eicar.org (www.eicar.org)|89.238.73.97|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 68 [text/plain] `eicar.com.txt' に保存中 eicar.com.txt 100%[===================>] 68 --.-KB/s 時間 0s 2023-03-07 11:28:27 (2.41 MB/s) - `eicar.com.txt' へ保存完了 [68/68] --2023-03-07 11:28:27-- http://www.eicar.org/download/eicar.com www.eicar.org:80 への接続を再利用します。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 68 `eicar.com' に保存中 eicar.com 100%[===================>] 68 --.-KB/s 時間 0s 2023-03-07 11:28:27 (3.62 MB/s) - `eicar.com' へ保存完了 [68/68] 終了しました --2023-03-07 11:28:27-- 経過時間: 1.8s ダウンロード完了: 2 ファイル、136 バイトを 0s で取得 (2.90 MB/s)
再度ウィルススキャンをかけてみます。
[root@rl8 ~]# clamscan --infected --remove --recursive
/root/eicar.com: Win.Test.EICAR_HDB-1 FOUND /root/eicar.com: Removed. /root/eicar.com.txt: Win.Test.EICAR_HDB-1 FOUND /root/eicar.com.txt: Removed. ----------- SCAN SUMMARY ----------- Known viruses: 8655640 Engine version: 0.103.8 Scanned directories: 1 Scanned files: 9 Infected files: 2 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 68.919 sec (1 m 8 s) Start Date: 2023:03:07 11:28:38 End Date: 2023:03:07 11:29:47
上のように、"Infected files"が"2"になっていれば、きちんと動作しています。
[root@rl8 ~]# vi /etc/cron.daily/clamscan
#!/bin/bash # 設定ファイル CONFIG=/etc/clamd.d/scan.conf # スキャン実行 # ※ウイルス検知時は隔離ディレクトリへ隔離 CLAMSCANLOG=`mktemp` QUARANTINEDIR=/tmp/clamdscan-quarantinedir-$(date +%Y%m%d) mkdir -p ${QUARANTINEDIR} clamdscan -c ${CONFIG} --move=${QUARANTINEDIR} / > ${CLAMSCANLOG} 2>&1 # ウイルス検知時のみroot宛にメール通知 if [ -z "$(grep FOUND$ ${CLAMSCANLOG})" ]; then rm -rf ${QUARANTINEDIR} else grep -A 1 FOUND$ ${CLAMSCANLOG} | mail -s "Virus Found in `hostname` => ${QUARANTINEDIR}" root fi # スキャンログをシスログに出力 cat ${CLAMSCANLOG} | logger -t $(basename ${0}) rm -f ${CLAMSCANLOG}
作成したスクリプトに実行権限を与えます。
[root@rl8 ~]# chmod +x /etc/cron.daily/clamscan
隔離ディレクトリの設定も忘れずに作成しておきましょう。
[root@rl8 ~]# echo ExcludePath ^/tmp/clamdscan-quarantinedir-.*/ >> /etc/clamd.d/scan.conf
ウィルス以外にも、サーバ内ファイルの改ざんにも対応していく必要があります。次はTripwireをインストールしましょう。
参考にしたサイト様
今回新しく登場したコマンド
- wget
[広告]
トップページ
Rocky Linux 8
○インストール準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他