
はじめに
皆様、こんにちは。
3回目の投稿になります。宜しくお願い致します。
今回のテーマは、「ClamAVでウイルススキャンをしてみる(その1)」です。
ClamAVはウイルススキャン機能を備えたフリーソフトで、簡単に導入・利用することが出来ます。
また、フリーソフトなのでコストを抑える事が出来るのも魅力の一つです。
いろんな魅力がつまったClamAVを投稿テーマに取り上げて、ご紹介します。
本稿は、定期スキャン利用を想定した内容をお送りしますが、第2弾でリアルタイムスキャンについて投稿したいと考えています。
過去に投稿した記事はこちらです♪
●ローカルピアリングゲートウェイを使ってみた!
●OCIで簡単なWebサーバを作ってみた!

ClamAVとは?
オープンソースのアンチウイルスソフトです。
主にLinux環境で使用されていますが、WindowsやMacでも使用できます。
ClamAVは、以下の機能があります。
- ウイルススキャン
- オンデマンドスキャン
- リアルタイム保護
インストールしてみます
OCI上に、Oracle Linux 9 のインスタンスを作成し、インストールしました。
まずは、EPEL(Extra Packages for Enterprise Linux)※を有効にして、パッケージをダウンロード・インストールします。
※Red Hat Enterprise Linux (RHEL) 系Linuxディストリビューション向けオプションパッケージ群です。
LinuxのメディアやYumリポジトリに含まれないパッケージ入手先になります。
[root@test-ol-clam ~]# yum repolist all repo id repo name status ol9_MODRHCK Latest RHCK with fixes from Oracle for Oracle Linux 9 (x86_64) disabled ol9_RDMA Oracle Linux 9 (x86_64) RDMA disabled ol9_UEKR7 Oracle Linux 9 UEK Release 7 (x86_64) disabled ol9_UEKR8 Oracle Linux 9 UEK Release 8 (x86_64) enabled ol9_addons Oracle Linux 9 Addons (x86_64) enabled ol9_appstream Oracle Linux 9 Application Stream Packages (x86_64) enabled ol9_baseos_latest Oracle Linux 9 BaseOS Latest (x86_64) enabled ol9_codeready_builder Oracle Linux 9 CodeReady Builder (x86_64) - (Unsupported) disabled ol9_developer Oracle Linux 9 Development Packages (x86_64) disabled ol9_developer_EPEL Oracle Linux 9 EPEL Packages for Development (x86_64) disabled ←--- 無効化されている ol9_developer_UEKR7 Developer Preview of UEK Release 7 (x86_64) disabled ol9_developer_kvm_utils Oracle Linux 9 KVM Utilities for Development and test (x86_64) disabled ol9_distro_builder Oracle Linux 9 Distro Builder (x86_64) - (Unsupported) disabled ol9_ksplice Ksplice for Oracle Linux 9 (x86_64) enabled ol9_kvm_utils Oracle Linux 9 KVM Utilities (x86_64) disabled ol9_oci_included Oracle Linux 9 OCI Included Packages (x86_64) enabled ol9_u0_baseos_base Oracle Linux 9 BaseOS GA (x86_64) disabled ol9_u1_baseos_base Oracle Linux 9.1 BaseOS (x86_64) disabled ol9_u2_baseos_base Oracle Linux 9.2 BaseOS (x86_64) disabled ol9_u3_baseos_base Oracle Linux 9.3 BaseOS (x86_64) disabled ol9_u3_security_validation Oracle Linux 9 Update 3 (x86_64) Security Validations disabled ol9_u4_baseos_base Oracle Linux 9.4 BaseOS (x86_64) disabled ol9_u5_baseos_base Oracle Linux 9.5 BaseOS (x86_64) disabled ol9_u6_baseos_base Oracle Linux 9.6 BaseOS (x86_64) disabled ol9_x86_64_userspace_ksplice Ksplice aware userspace packages for Oracle Linux 9 (x86_64) disabled [root@test-ol-clam ~]# yum-config-manager --enable ol9_developer_EPEL [root@test-ol-clam ~]# yum repolist all repo id repo name status ol9_MODRHCK Latest RHCK with fixes from Oracle for Oracle Linux 9 (x86_64) disabled ol9_RDMA Oracle Linux 9 (x86_64) RDMA disabled ol9_UEKR7 Oracle Linux 9 UEK Release 7 (x86_64) disabled ol9_UEKR8 Oracle Linux 9 UEK Release 8 (x86_64) enabled ol9_addons Oracle Linux 9 Addons (x86_64) enabled ol9_appstream Oracle Linux 9 Application Stream Packages (x86_64) enabled ol9_baseos_latest Oracle Linux 9 BaseOS Latest (x86_64) enabled ol9_codeready_builder Oracle Linux 9 CodeReady Builder (x86_64) - (Unsupported) disabled ol9_developer Oracle Linux 9 Development Packages (x86_64) disabled ol9_developer_EPEL Oracle Linux 9 EPEL Packages for Development (x86_64) enabled ←--- 有効化する ol9_developer_UEKR7 Developer Preview of UEK Release 7 (x86_64) disabled ol9_developer_kvm_utils Oracle Linux 9 KVM Utilities for Development and test (x86_64) disabled ol9_distro_builder Oracle Linux 9 Distro Builder (x86_64) - (Unsupported) disabled ol9_ksplice Ksplice for Oracle Linux 9 (x86_64) enabled ol9_kvm_utils Oracle Linux 9 KVM Utilities (x86_64) disabled ol9_oci_included Oracle Linux 9 OCI Included Packages (x86_64) enabled ol9_u0_baseos_base Oracle Linux 9 BaseOS GA (x86_64) disabled ol9_u1_baseos_base Oracle Linux 9.1 BaseOS (x86_64) disabled ol9_u2_baseos_base Oracle Linux 9.2 BaseOS (x86_64) disabled ol9_u3_baseos_base Oracle Linux 9.3 BaseOS (x86_64) disabled ol9_u3_security_validation Oracle Linux 9 Update 3 (x86_64) Security Validations disabled ol9_u4_baseos_base Oracle Linux 9.4 BaseOS (x86_64) disabled ol9_u5_baseos_base Oracle Linux 9.5 BaseOS (x86_64) disabled ol9_u6_baseos_base Oracle Linux 9.6 BaseOS (x86_64) disabled ol9_x86_64_userspace_ksplice Ksplice aware userspace packages for Oracle Linux 9 (x86_64) disabled
yumコマンドを利用して、ClamAVをインストールしています。
インストールするパッケージは以下の通りです。
- clamav-filesystem
- clamav-lib
- clamav-freshclam
- clamav
- clamd
- clamav-data
# yum install clamav-filesystem clamav-lib clamav-freshclam clamav clamd clamav-data
Oracle Linux 9 EPEL Packages for Development (x 55 MB/s | 32 MB 00:00
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
clamav x86_64 1.0.8-1.el9 ol9_developer_EPEL 352 k
clamav-data noarch 1.0.8-1.el9 ol9_developer_EPEL 223 M
clamav-filesystem noarch 1.0.8-1.el9 ol9_developer_EPEL 18 k
clamav-freshclam x86_64 1.0.8-1.el9 ol9_developer_EPEL 102 k
clamav-lib x86_64 1.0.8-1.el9 ol9_developer_EPEL 2.6 M
clamd x86_64 1.0.8-1.el9 ol9_developer_EPEL 101 k
Transaction Summary
================================================================================
Install 6 Packages
(省略)
Installed:
clamav-1.0.8-1.el9.x86_64 clamav-data-1.0.8-1.el9.noarch
clamav-filesystem-1.0.8-1.el9.noarch clamav-freshclam-1.0.8-1.el9.x86_64
clamav-lib-1.0.8-1.el9.x86_64 clamd-1.0.8-1.el9.x86_64
Complete!
configファイルを設定します
configファイル(/etc/clamd.d/scan.conf)を編集します。
下記では設定内容のみ記載します。
※コメントアウトされている部分を外したり、設定内容を変更したりして、編集しています。
# vim /etc/clamd.d/scan.conf
LogFile /var/log/clamd.scan
LogFileMaxSize 2M
LogTime yes
LogSyslog yes
LogRotate yes
FixStaleSocket yes
TCPSocket 3310
TCPAddr localhost
OnAccessExtraScanning yes
OnAccessExcludeRootUID yes
設定ファイル編集後、各サービスを有効化・起動します。
(test-ol-clamは、今回のインスタンス名だから、気にしないでください)
# systemctl enable clamd@scan Created symlink /etc/systemd/system/multi-user.target.wants/clamd@scan.service → /usr/lib/systemd/system/clamd@.service. # systemctl start clamd@scan # 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 Mon 2025-09-22 03:57:32 GMT; 9s ago Docs: man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/ Process: 39378 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/scan.conf (code=exited, status=0/SUCCESS) Main PID: 39379 (clamd) Tasks: 2 (limit: 72746) Memory: 1.2G CPU: 10.809s CGroup: /system.slice/system-clamd.slice/clamd@scan.service mq39379 /usr/sbin/clamd -c /etc/clamd.d/scan.conf Sep 22 03:57:32 test-ol-clam clamd[39379]: Mail files support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: OLE2 support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: PDF support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: SWF support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: HTML support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: XMLDOCS support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: HWP3 support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: OneNote support enabled. Sep 22 03:57:32 test-ol-clam clamd[39379]: Self checking every 600 seconds. Sep 22 03:57:32 test-ol-clam systemd[1]: Started clamd scanner (scan) daemon. # systemctl enable clamav-freshclam Created symlink /etc/systemd/system/multi-user.target.wants/clamav-freshclam.service → /usr/lib/systemd/system/clamav-fr eshclam.service. # systemctl start clamav-freshclam # systemctl status clamav-freshclam ● clamav-freshclam.service - ClamAV virus database updater Loaded: loaded (/usr/lib/systemd/system/clamav-freshclam.service; enabled; preset: disabled) Active: active (running) since Mon 2025-09-22 04:00:04 GMT; 47s ago Docs: man:freshclam(1) man:freshclam.conf(5) https://docs.clamav.net/ Main PID: 39627 (freshclam) Tasks: 1 (limit: 72746) Memory: 66.7M CPU: 6.086s CGroup: /system.slice/clamav-freshclam.service mq39627 /usr/bin/freshclam -d --foreground=true Sep 22 04:00:06 test-ol-clam freshclam[39627]: WARNING: downloadPatch: Can't download daily-27674.cdiff from https://database.clamav.net/daily-27674.cdiff Sep 22 04:00:06 test-ol-clam freshclam[39627]: WARNING: Incremental update failed, trying to download daily.cvd Sep 22 04:00:07 test-ol-clam freshclam[39627]: Testing database: '/var/lib/clamav/tmp.4533796ebd/clamav-25006a567d0b6a7b262b2dbd6e205402.tmp-daily.cvd' ... Sep 22 04:00:12 test-ol-clam freshclam[39627]: Database test passed. Sep 22 04:00:12 test-ol-clam freshclam[39627]: daily.cvd updated (version: 27769, sigs: 2076849, f-level: 90, builder: raynman) Sep 22 04:00:12 test-ol-clam freshclam[39627]: main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr) Sep 22 04:00:12 test-ol-clam freshclam[39627]: bytecode database available for update (local version: 336, remote version: 339) Sep 22 04:00:12 test-ol-clam freshclam[39627]: Testing database: '/var/lib/clamav/tmp.4533796ebd/clamav-b5ccac76e33a20738f6563cbd6630321.tmp-bytecode.cld' ... Sep 22 04:00:12 test-ol-clam freshclam[39627]: Database test passed. Sep 22 04:00:12 test-ol-clam freshclam[39627]: bytecode.cld updated (version: 339, sigs: 80, f-level: 90, builder: nrandolp) # systemctl enable clamonacc Created symlink /etc/systemd/system/multi-user.target.wants/clamav-clamonacc.service → /usr/lib/systemd/system/clamav-clamonacc.service. # systemctl start clamonacc # systemctl status clamonacc ● clamav-clamonacc.service - ClamAV On-Access Scanner Loaded: loaded (/usr/lib/systemd/system/clamav-clamonacc.service; enabled; preset: disabled) Active: active (running) since Mon 2025-09-22 04:03:58 GMT; 6s ago Docs: man:clamonacc(8) man:clamd.conf(5) https://docs.clamav.net/ Main PID: 39691 (clamonacc) Tasks: 7 (limit: 72746) Memory: 1.9M CPU: 7ms CGroup: /system.slice/clamav-clamonacc.service mq39691 /usr/sbin/clamonacc -F --config-file=/etc/clamd.d/scan.conf Sep 22 04:03:58 test-ol-clam systemd[1]: Started ClamAV On-Access Scanner. Sep 22 04:03:58 test-ol-clam clamonacc[39691]: ERROR: ClamInotif: Please specify at least one path with OnAccessIncludePath
clamonaccは、第2弾で取り上げます!

ウイルススキャンしてみます
ウイルススキャンが出来るかテストをしてみます。
/tmpディレクトリに、EICARテストファイル※を配置しておきます。
https://secure.eicar.org/というサイトからダウンロードが出来ます。
※EICAR が開発したアンチウイルス (AV) ソフトウェアの応答をテストするためのファイルです。
# wget https://secure.eicar.org/eicar.com.txt -O /tmp/eicar.com.txt --2025-09-22 04:09:41-- https://secure.eicar.org/eicar.com.txt Resolving secure.eicar.org (secure.eicar.org)... 89.238.73.97, 2a00:1828:1000:2497::2 Connecting to secure.eicar.org (secure.eicar.org)|89.238.73.97|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 68 [text/plain] Saving to: ‘/tmp/eicar.com.txt’ /tmp/eicar.com.txt 100%[=============================================>] 68 --.-KB/s in 0s 2025-09-22 04:09:43 (112 MB/s) - ‘/tmp/eicar.com.txt’ saved [68/68] # ls -l /tmp total 4 -rw-r--r-- 1 root root 68 Jan 3 2025 eicar.com.txt
clamdscanというコマンドを使って、ディレクトリをスキャンします。
clamscanというコマンドもあるのですが、大量のディレクトリをスキャンしたい場合は、前述のコマンドが便利です。
# clamdscan /tmp /tmp/eicar.com.txt: Win.Test.EICAR_HDB-1 FOUND ----------- SCAN SUMMARY ----------- Infected files: 1 Time: 0.004 sec (0 m 0 s) Start Date: 2025:09:22 04:11:25 End Date: 2025:09:22 04:11:25
EICARテストファイルが検知され、Summaryに「Infected files : 1」と結果が出ました。
これで、無事に検知することが出来ました。
最後に
今回は、OCI上のインスタンスに、ClamAVをインストールし、ウイルススキャンしました。
弊社にはOCIに詳しいエンジニアが多数在籍しております。何かご不明なことやご興味を持たれたことがございましたら、お気軽に当社までお問い合わせください。
次回はリアルタイムスキャンについての記事を投稿させていただく予定ですので、ぜひお楽しみにお待ちください。
投稿者プロフィール
