ClamAVを使ってウイルス対策をしよう!
ここでは、アンチウィルスソフト(Clam AntiVirus)のインストール手順を掲載しています。
[広告]
Clam AntiVirusとは…
Clam AntiVirusはオープンソースで開発が進められているアンチウィルスソフトです。オープンソースなので、Linuxだけでなく、Windows版、Mac版のように様々なOSに移植され、使われています。
Clam AntiVirusのインストール
Clam AntiVirusは公式のリポジトリにないので、EPELリポジトリを使ってインストールします。
EPELリポジトリの設定をしていない方は初期設定ページをご覧ください。
EPELリポジトリのClam AntiVirusは、役割ごとパッケージが分かれているので、ホイホイと入れていきます。
[root@rl10 ~]# dnf --enablerepo=epel -y install clamav clamd clamav-update
インストール済み:
clamav-1.4.2-1.el10_0.x86_64
clamav-filesystem-1.4.2-1.el10_0.noarch
clamav-freshclam-1.4.2-1.el10_0.x86_64
clamav-lib-1.4.2-1.el10_0.x86_64
clamd-1.4.2-1.el10_0.x86_64
完了しました!
Clam AntiVirusの設定
[root@rl10 ~]# cp -p /etc/freshclam.conf /etc/freshclam.conf.old
[root@rl10 ~]# echo "NotifyClamd /etc/clamd.d/scan.conf" >> /etc/freshclam.conf
[root@rl10 ~]# cp -p /etc/clamd.d/scan.conf /etc/clamd.d/scan.conf.old
[root@rl10 ~]# 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@rl10 ~]# freshclam
ClamAV update process started at Sun Jun 22 19:23:27 2025 daily database available for download (remote version: 27677) Time: 12.4s, ETA: 0.0s [========================>] 61.68MiB/61.68MiB Testing database: '/var/lib/clamav/tmp.287c2cd6ab/clamav-36ceddd0bf4b758372d429b214aff533.tmp-daily.cvd' ... Database test passed. daily.cvd updated (version: 27677, sigs: 2075789, f-level: 90, builder: raynman) main database available for download (remote version: 62) Time: 31.3s, ETA: 0.0s [========================>] 162.58MiB/162.58MiB Testing database: '/var/lib/clamav/tmp.287c2cd6ab/clamav-7d1aabc03d25968d9941617de84d9fa9.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: 336) Time: 0.4s, ETA: 0.0s [========================>] 277.52KiB/277.52KiB Testing database: '/var/lib/clamav/tmp.287c2cd6ab/clamav-42d7e97d8ac545bb0829399354de4bd3.tmp-bytecode.cvd' ... Database test passed. bytecode.cvd updated (version: 336, sigs: 83, f-level: 90, builder: nrandolp) 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@rl10 ~]# systemctl enable --now clamd@scan
Created symlink '/etc/systemd/system/multi-user.target.wants/clamd@scan.service' → '/usr/lib/systemd/system/clamd@.service'.
[root@rl10 ~]# systemctl status clamd@scan
● clamd@scan.service - clamd scanner (scan) daemon Loaded: loaded (/usr/lib/systemd/system/clamd@.service; enabled; preset: disabled) Active: active (running) since Sun 2025-06-22 19:26:32 JST; 12s ago Invocation: d9e80f4cffd34275aee6144fdf924db4 Docs: man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/ Process: 2468 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/scan.conf (code=exited, status=0/SUCCESS) Main PID: 2469 (clamd) Tasks: 2 (limit: 100174) Memory: 1.3G (peak: 1.3G) CPU: 9.083s CGroup: /system.slice/system-clamd.slice/clamd@scan.service mq2469 /usr/sbin/clamd -c /etc/clamd.d/scan.conf
実際にスキャンをしてみましょう。
[root@rl10 ~]# clamscan --infected --remove --recursive
----------- SCAN SUMMARY -----------
Known viruses: 8707556
Engine version: 1.4.2
Scanned directories: 2
Scanned files: 8
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 9.260 sec (0 m 9 s)
Start Date: 2025:06:22 19:28:35
End Date: 2025:06:22 19:28:44
何も検出されなかったため、"Infected files"が"0"ですね。
Clam AntiVirusの動作確認(2)
テスト用の無害なウィルスデータをダウンロードし、スキャンされるかどうかを確認します。
まず、テスト用データをダウンロードします。
[root@rl10 ~]# dnf -y install wget
インストール済み:
wget-1.24.5-5.el10.x86_64
完了しました!
[root@rl10 ~]# wget https://secure.eicar.org/eicar.com.txt https://secure.eicar.org/eicar.com
--2025-06-22 19:29:45-- https://secure.eicar.org/eicar.com.txt secure.eicar.org (secure.eicar.org) をDNSに問いあわせています... 89.238.73.97, 2a00:1828:1000:2497::2 secure.eicar.org (secure.eicar.org)|89.238.73.97|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 68 [text/plain] `eicar.com.txt' に保存中 eicar.com.txt 100%[===================>] 68 --.-KB/s 時間 0s 2025-06-22 19:29:47 (190 MB/s) - `eicar.com.txt' へ保存完了 [68/68] --2025-06-22 19:29:47-- https://secure.eicar.org/eicar.com secure.eicar.org:443 への接続を再利用します。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 68 `eicar.com' に保存中 eicar.com 100%[===================>] 68 --.-KB/s 時間 0s 2025-06-22 19:29:47 (324 MB/s) - `eicar.com' へ保存完了 [68/68] 終了しました --2025-06-22 19:29:47-- 経過時間: 1.7s ダウンロード完了: 2 ファイル、136 バイトを 0s で取得 (240 MB/s)
再度ウィルススキャンをかけてみます。
[root@rl10 ~]# clamscan --infected --remove --recursive
/root/eicar.com.txt: Win.Test.EICAR_HDB-1 FOUND /root/eicar.com.txt: Removed. /root/eicar.com: Win.Test.EICAR_HDB-1 FOUND /root/eicar.com: Removed. ----------- SCAN SUMMARY ----------- Known viruses: 8707556 Engine version: 1.4.2 Scanned directories: 2 Scanned files: 11 Infected files: 2 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 9.294 sec (0 m 9 s) Start Date: 2025:06:22 19:30:20 End Date: 2025:06:22 19:30:29
上のように、"Infected files"が"2"になっていれば、きちんと動作しています。
[root@rl10 ~]# 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@rl10 ~]# chmod +x /etc/cron.daily/clamscan
隔離ディレクトリをスキャン対象から外す設定も忘れずにしておきましょう。
[root@rl10 ~]# echo ExcludePath ^/tmp/clamdscan-quarantinedir-.*/ >> /etc/clamd.d/scan.conf
参考にしたサイト様
今回新しく登場したコマンド
- freshclam
- clamscan
- wget
[広告]

トップページ
Rocky Linux 10
○インストール準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○その他
Proxmox 8
AlmaLinux 9
Rocky Linux 8
CentOS 7
Scientific Linux 6
CentOS 5
ブログ
[広告]