トップ OSS紹介 ClamAV

ClamAV

サポート対象

NRIのOpenStandiaが提供するClamAV詳細情報

バージョンアップ情報

ClamAV情報

ClamAV情報更新日:2026/09/08

ClamAVとは

ClamAV(Clam Antivirus)は、Tomasz Kojm氏らによって開発され、現在はCisco Systems, Inc.により提供されているオープンソースのアンチウイルスソフトウェアです。
主にメールゲートウェイにおける電子メールのウイルススキャンを目的として設計され、現在ではLinux/UNIX系サーバを中心にファイルサーバやメールサーバにおけるマルウェア対策、Webアプリケーションのアップロードファイル検査、バッチスキャンなど幅広い用途で利用されています。
ClamAVは一般的な個人向けエンドポイント対策製品とは異なり、サーバ環境やシステム組み込み用途で使いやすいアンチウイルスエンジンとして広く知られています。また、ディストリビューションのパッケージマネージャから導入しやすいこともLinuxサーバ環境で利用されることが多い理由の一つとなっています。
常駐型デーモンによる高速スキャン、コマンドラインによるオンデマンドスキャン、ウイルス定義データベースの自動更新など、実運用に必要な基本機能を備えている点も特徴としてあげられます。

主な機能

ClamAVの中核はウイルス定義などを使用してファイル内のマルウェアを検出するスキャンエンジンで、以下の4つの検出方法があります。

シグネチャマッチング

シグネチャとはマルウェア固有の文字列やバイナリパターン、ファイル構造などを定義したもので最も基本的なウイルス定義です。そのシグネチャの入手方法については後述します(ウイルス定義データベース更新機能)。

論理シグネチャ

ファイル内の複数の文字列やバイナリパターンに対して、AND、OR、NOTなどの条件を組み合わせて判定するシグネチャです。
例えば、「特定の文字列AとバイナリパターンBの両方が存在し、文字列Cは存在しない」といった複雑な検出条件を定義できます。
単一の文字列だけで判定する方式よりも、マルウェアの特徴を細かく指定しやすく、誤検知を抑えながら亜種を検出する用途に利用されます。

バイトコードシグネチャ

論理シグネチャのような文字列照合では対応しにくい、複雑なファイル解析や検出ロジックをC言語で実装することができます。ファイル形式の内部構造を解析したり、データを変換したうえで特徴を確認したりできるため、高度なマルウェアや脆弱性を悪用するファイルの検出が可能です。
C言語によるプログラムをコンパイルしてできたバイナリをバイトコードシグネチャと呼んでいます。バイトコードはOS上で直接実行されることはなく、ClamAVが持つ制限された仮想マシン環境内で安全に実行されます。

ヒューリスティック解析

シグネチャを手掛かりとする検出方法と異なり、ファイルの構造や内容に不審な特徴がないかを解析する方法です。
例えば、不自然な実行ファイル構造、難読化されたコード、疑わしいマクロ、破損した文書形式などを検出します。
未知または新しいマルウェアを発見できる可能性がある一方、正常なファイルを誤って不審と判定する場合があります。

次にスキャンの実行方式として、以下の3つがあります。

常駐型スキャン機能(clamd / clamdscan)

ClamAVは継続的かつ高速にスキャンを実施するための常駐型機能としてclamdを提供しています。clamdはLinux上で動作するマルチスレッドデーモンであり、スキャンを行う際には別の実行モジュールであるclamdscanが起動済みのclamdを呼び出します。
clamdはウイルス定義データベースを読み込んだ状態で動作するので、オンデマンド実行でも比較的高速に処理できます。
また、ログ出力やスキャン時の挙動も設定ファイルで細かく調整できます。

ワンタイムスキャン機能(clamscan)

clamscanはデーモンを利用せずにファイルやディレクトリをスキャンするコマンドラインツールです。
必要な時だけ実行する運用に向いており、常駐プロセスを避けたい環境や簡易的な確認用途に適しています。定期バッチや手動確認、トラブルシュート時のスポットスキャンにも利用しやすい機能です。

リアルタイムスキャン機能(On-Access Scanning)

On-Access Scanning はLinuxシステム向けのリアルタイムスキャン機能です。カーネルの機能であるfanotifyを利用し、監視対象にファイルが配置された段階でスキャンを実施します。
ただし、本機能はLinux環境でfanotifyが有効、かつfanotifyに対応したファイルシステムに限定されるため、適用にあたっては有効に機能する環境かどうかの確認が必要です。
また、任意のタイミングでスキャンが実行されることを前提に、性能影響を事前に評価する必要があります。

次に外部連携機能について説明します。

ウイルス定義データベース更新機能(freshclam)

アンチウイルス製品は導入しただけでは十分でなく、定義ファイルを継続的に更新してこそ効果を発揮します。freshclamはそのウイルス定義データベースを更新するためのツールです。
freshclamはインターネット上から最新のウイルス定義を取得します。しかしながら、実際にはインターネットへ直接接続できない閉域環境も多く存在します。その場合はインターネットとの中間地点にプライベートミラーを配置することで解決できます。
プライベートミラーはcvdupdate
コマンドを利用して構築します。プライベートミラーはネットワークの制約を回避するだけでなく、多数のClamAVサーバを運用する際の外部通信量削減や経路統制にも有効です。
freshclamは差分更新に対応しているため、効率的にウイルス定義を更新できます。手動更新と自動更新の両方に対応しており、継続運用しやすい点も特徴です。

メールサーバ連携 (clamav-milter)

Milter APIを使用して、SendmailやPostfixと連携するメールフィルター機能です。
メールの添付ファイルはマルウェア、ランサムウェアの侵入の入口の一つになっています。ClamAVはメール受信時に本文や添付ファイルを検査し、感染メールの受信拒否や検疫隔離を行います。

最後に運用・管理支援機能について説明します。

監視・管理支援機能(clamdtop / sigtool)

ClamAVは運用支援ツールとしてclamdtopを備えています。clamdtopは専用インタフェースを通じてclamdデーモンを監視し、メモリ使用量やジョブキューの状況を可視化します。これは運用時の負荷状況確認やボトルネック把握に役立ちます。
もう一つはウイルスシグネチャの作成や操作を行うsigtool です。このツールは必要に応じて、独自のシグネチャ追加や除外設定を行うことができます。

インストールとバージョン確認

一般的にClamAVはLinuxディストリビューションのパッケージ管理システムを利用してインストールします。
ここでは例として、Red Hat系のディストリビューション(Red Hat Enterprise Linux、AlmaLinux、Fedora)でのインストールの流れを説明します。

Red Hat系でのパッケージを利用したインストール

ClamAVのインストールにはExtra Packages for Enterprise Linux (EPEL)が必要なため、まず以下のようにEPELを有効にします。


$ sudo dnf install -y epel-release

ClamAVはEPEL内で以下のパッケージに分割されています。

  • clamd – ClamAVのデーモン
  • clamav – ClamAVのエンドユーザー向けツール
  • clamav-data – ClamAVのウイルス定義データ
  • clamav-devel - 開発者向けのヘッダファイルおよびライブラリ
  • clamav-lib – ClamAVのダイナミックリンクライブラリ
  • clamav-milter – ClamAVのmilterモジュール
  • clamav-freshclam – ClamAVウイルス定義の自動更新機能

以下のコマンドを実行すると上記のパッケージがインストールされます(ただし、開発者向けパッケージを除く)。


$ sudo dnf install -y clamav clamd clamav-update

clamdを自動起動するために/etc/clamd.d/scan.confの以下の項目のコメントアウトを外します。なお、clamdにはlocalモード/TCPモードがありますが、ここではlocalモードでの起動とします。

※「Example」の行やTCPモードに関する設定行はコメントアウトのままにします。


#Example
LocalSocket /run/clamd.scan/clamd.sock
LocalSocketGroup virusgroup

systemdでclamdを有効にし、起動していることを確認します。


$ sudo systemctl enable --now clamd@scan
$ sudo systemctl status clamd@scan

ウイルス検知できているかを確認するには、EICARテストファイルを作成またはダウンロードして配置し、配置したファイルをスキャンしてください。


$ clamdscan --fdpass /path/to/eicar-test-file

「Eicar-Signature FOUND」が表示されれば検知できています。

インストールしたClamAVのバージョンを確認するには以下のいずれかを実行してください。


$ clamd -V
$ clamscan -V

ディストリビューションのパッケージを利用したインストール方法以外に、Dockerコンテナを利用した方法、ソースコードからビルドする方法もあります。
詳細は参考情報のリンク先をご確認ください。

主な特徴

ClamAVは個人向けの総合エンドポイント対策製品と異なり、サーバ運用や自動化を前提とした設計がなされています。そのため、システムに組み込んで継続的に利用したい場合や、低コストで基本的なウイルス検査を実現したい場合に適した選択肢となります。

Linux/UNIX系サーバで活用しやすい

ClamAVはLinuxで利用されることが多いアンチウイルスソフトウェアです。
オープンソースで入手しやすく、多くのディストリビューションでパッケージマネージャからの導入に対応しているため、メールサーバ、ファイルサーバ、コンテナ環境、各種ミドルウェア基盤へ組み込みやすいという利点があります。

サーバ組み込みや自動化に向いている

GUI中心の個人向け製品と異なりCLIやデーモン、設定ファイルをベースに設計されているため、以下のような用途に適しています。

  • メールゲートウェイでの添付ファイル検査
  • Webシステムでアップロードされたファイルのスキャン
  • ファイルサーバの定期スキャン
  • バッチ処理やシェルスクリプトへの組み込み
  • Linuxサーバにおけるマルウェア混入チェック

低コストで導入しやすい

GPL v2.0で提供されるオープンソースソフトウェアで、無償で利用することができます。商用製品と比較してライセンス費用を抑えながら導入できるため、低コストでサーバ向けウイルススキャンを導入したい場合の有力な選択肢になります。
特に、複数台のLinuxサーバに展開するケースでは、コスト面での優位性が出やすいといえます。

幅広いファイル形式の検査に対応している

アーカイブファイル、ドキュメントファイル、一部の圧縮・パッキング形式を用いた実行ファイルなど、幅広いファイル形式に対応しています。
たとえば、ZIP、RAR、CPIO、ARJ、TAR、HTML、RTF、PDFなどが挙げられます。また、Windowsの実行形式ファイルやOfficeファイルにも対応しています。
詳細な対応ファイル形式は参考情報のリンク先をご確認ください。

一定範囲の用途では実用性が高い

メール添付ファイルやアップロードファイルの一次検査、Linuxサーバ上の基本的なマルウェアチェック、既知の脅威に対するシグネチャベース検査といった用途で高い実用性があります。
一方で、最新のゼロデイ脅威、高度な振る舞い検知、EDR(Endpoint Detection and Response)相当の監視、Windows端末向けの総合防御などについては、一般的に商用製品のほうに優位性があります。
そのため、ClamAVは単独で万能な機能を持つ製品というより、サーバ用途に適した軽量なOSSアンチウイルスエンジンとして位置付けるのが適切です。

メリット・デメリット

メリット・必要性

  • 導入コストを抑えやすい
    ClamAVはオープンソースであるため、商用アンチウイルス製品に比べてライセンス費用を抑えやすいという大きな利点があります。
    特に複数台のLinuxサーバへ導入する場合、コストメリットはより大きくなります。
  • Linuxサーバとの親和性が高い
    ClamAVはLinuxサーバ環境で使われることが多く、メールサーバ、ファイルサーバ、Webシステムとの連携がしやすいです。
  • Linux上でWindows向けマルウェアを検出できる
    Windows向けマルウェアはLinuxサーバ上では実行できませんが、ファイルサーバやメールサーバを経由してWindows端末へ到達する可能性があります。
    ClamAVはLinuxベースのゲートウェイでありながら、Linux以外のファイルにも対応し、OSが混在する環境の防御層として機能することができます。
  • 自動化・運用機能連携に適している
    CLIやソケット通信可能なデーモン中心の設計のため、cronによる定期スキャン、アップロード直後の自動スキャン、メール受信時の添付ファイル検査、バッチやスクリプトへの組み込みといった運用に向いています。
  • 幅広いファイル形式を対象にできる
    アーカイブ、文書ファイルなど幅広い形式に対応しているため、多様なファイルを扱うシステムの基本対策として利用しやすいです。
  • 独自の運用条件に合わせて設定しやすい
    検査対象ファイルタイプ、除外対象、最大ファイルサイズ、タイムアウト、同時実行数、ログ出力といった設定項目を運用要件に応じて調整できます。
  • 閉域環境でも運用できる
    ウイルス定義データベースのプライベートミラーを構築できるため、インターネット接続が制限されたサーバに対しても定義ファイルを配布できます。

デメリット・注意点・課題

  • 商用製品ほど総合防御機能は豊富ではない
    ClamAVは主にシグネチャベースの検査を中心とした製品です。
    そのため、商用製品でよく見られる振る舞い検知、EDR機能、高度な管理コンソール、統合レポーティング、エンドポイント統合防御などの機能は限定的であり、別途補完が必要な場合もあります。
  • 用途によっては検出率が期待値を満たさない場合がある
    ClamAVは実用的なアンチウイルスエンジンですが、常に商用製品と同等あるいはそれ以上の検出性能が得られるとは限りません。特に、最新脅威や高度な標的型攻撃への対応については、別のセキュリティ対策と組み合わせて考える必要があります。
  • 運用にはLinux/OSSの知識が求められる
    GUI主体の管理製品ではないため、導入・設定・ログ確認・チューニングにはLinuxやOSSに関する運用知識が求められます。
  • Windowsエンドポイント保護用途には第一候補ではない
    ClamAVはWindows版もありますが、実際にはLinux/UNIX系サーバ用途での採用が中心です。企業のWindows PC保護を主目的とする場合は商用エンドポイント製品のほうが適しています。
  • リアルタイム保護は環境依存がある
    On-Access ScanningはLinux限定機能であり、かつ動作条件もあるため、設計・検証が必要です。また、本番適用前には性能影響の確認が重要です。

ウイルス検出率について

ClamAVの検出率はエンジンやウイルス定義のバージョン、検体の種類、ファイル形式、難読化の有無などによって大きく変わるため、複数の検証結果から総合的に評価する必要があります。
ClamAVについて公開されている主な検証結果は以下の通りです。

No.

出典(時期)

検査対象

ClamAVの検出率

備考

1

Royal Holloway
(2021年)

既知のLinux ELFマルウェア43,553件

97.9%
(平均値)

すでに共有されていた既知検体

2

Royal Holloway
(2021年)

Metasploit提供のエンコードしたLinux向けペイロード24件

25%

新たに作成・加工した検体

3

Splunk
(2022年)

コモディティマルウェア416,561件

59.94%

ファイル形式やマルウェア分類に偏りがある

4

SCORE、
(2025年)

Bash、Python、Perlの悪意あるスクリプト

16.954%
(再現率)

サーバサイドスクリプトに限定した評価

No.1のRoyal Holloway University of Londonの研究では、既知のLinux ELFマルウェアに対して平均97.9%という高い検出率を示しました(比較対象4製品中1番)。一方、No.2のエンコードされたペイロードに対して検出できたのは24件中6件、検出率は25%にとどまりました(比較対象4製品中2番)。
同じ研究でも大きな差があることから、ClamAVはウイルス定義データベースに登録された既知マルウェアには強い一方、未知または加工されたマルウェアの検出には限界があることが分かります。

No.3でSplunkが MalwareBazaarの416,561件を対象にClamAVを検査した結果では249,696件を検出し、全体の検出率は59.94%でした。
内訳をみると、DOCX、DLL、ELFでは比較的良好な結果だった一方、EXE、Excel文書、JAR、ZIPなどでは多くの検体を見逃しています。また、トロイの木馬やボットネットに比べ、情報窃取型マルウェアやRAT(Remote Access Trojan)では検出率が低い結果となりました。

No.4のSCOREの研究によると、Bash、Python、Perlで記述された悪意あるスクリプトに対するClamAVの再現率は16.954%でした(比較対象の製品、研究用深層学習モデル13件中13番目 製品では2件中2番目)。検出したファイルの誤検知はありませんでしたが、多くの不正スクリプトを見逃しています。
この結果はWebシェルなどのスクリプトマルウェアをClamAVだけで網羅的に検出することが難しいことを示しています。

これらの結果から、ClamAVには以下の傾向があると考えられます。

  • 既知のLinuxマルウェアでは高い検出率を示す
  • ファイル形式やマルウェア分類によって検出率は大きく異なる
  • 新規、難読化、パッキング済み検体では検出率が低下しやすい
  • 不正なスクリプトの検出をClamAVだけに依存するのは難しい

ClamAVはメールゲートウェイ、Webアップロード、ファイルサーバ、CI/CDなどで既知マルウェアを排除するための防御層として有用です。ただし、より強固なセキュリティが求められる場合は、EDR、サンドボックス、ファイル形式の制限、独自シグネチャ、SIEMなどと組み合わせた多層防御が必要になります。

なお、商用アンチウイルス製品はファイルシグネチャによる検出機能以外に、クラウド分析、機械学習、振る舞い検知、Web保護などの機能を持っており、第三者試験ではこれら全体を一つの製品機能とみなして防御能力を評価します。
したがって、商用Windows製品で報告される99~100%の検知率と、ClamAVのファイルスキャン結果を直接比較することは適切でありません。

類似プロダクト

Linux向けのマルウェア対策製品には、ClamAVのようなファイルスキャンを中心とするOSSと、リアルタイム保護、集中管理、EDR、脆弱性管理などを総合的に提供する商用製品があります。

機能比較

製品

提供形態

主な保護機能

集中管理・EDR

主な用途・特徴

ClamAV

OSS/GPLv2.0

オンデマンドスキャン、常駐スキャン、LinuxでのOn-Access Scanning

標準ではなし

メールゲートウェイ、Webアップロード、ファイルサーバ、CI/CDへの組み込み

Cisco Secure Endpoint

商用

ファイルスキャン、検出ファイル隔離、振る舞い検知、継続的なアクティビティ監視、クラウド解析

Secure Endpointコンソールによる集中管理、EDR、脅威ハンティング、Orbitalによる端末調査

Cisco製品との連携や、Linuxを含む複数OSのエンドポイントを継続的に監視・調査したい場合に適する

Symantec Endpoint Protection Linux Agent

商用

リアルタイムスキャン、手動・定期スキャン、隔離、ウイルス定義の自動更新

Symantec Endpoint Protection Managerで管理。
EDR機能は契約製品と構成による

既存のSymantec環境とLinuxサーバを統合管理したい場合に適する

Trend Vision One – Server & Workload Protection

商用

リアルタイムマルウェア対策、機械学習、IPS、ファイアウォール、変更監視、アプリケーションコントロール

Trend Vision Oneによる集中管理、XDR連携

サーバやクラウドワークロードを多層防御したい場合に適する

ESET Server Security for Linux

商用

リアルタイム・オンデマンドスキャン、クラウド保護、Webアクセス保護、隔離、コンテナ対応

ESET PROTECTで集中管理。
ESET InspectとのEDR連携に対応

ファイルサーバ保護と比較的軽量な運用を重視する場合に適する

Microsoft Defender for Endpoint on Linux

商用

次世代アンチウイルス、リアルタイム保護、振る舞い監視、EDR、脆弱性管理

Microsoft Defenderポータルで統合管理

Microsoft Defender XDR、Microsoft Sentinel、Defender for Cloudなどを利用している環境に適する

Sophos Intercept X Advanced for Server/Sophos Protection for Linux

商用

リアルタイム・オンデマンドスキャン、ランタイム検知、コンテナ・ワークロード監視

Sophos Centralで集中管理。
XDRやMDRに対するライセンスを選択可能

Linuxサーバやコンテナの実行時挙動まで監視したい場合に適する

WithSecure Elements Linux Protection

商用

リアルタイム・手動・定期スキャン、ファイル変更監視、検出ファイル隔離、ネットワーク隔離

WithSecure Elements Security Centerで集中管理。
Elements EDRと連携可能

Linuxサーバをクラウド管理し、ファイル整合性監視も行いたい場合に適する

Linux Malware Detect
(LMD/Maldet)

OSS/GPLv2.0

ハッシュ、文字列パターン、YARA、統計解析、ClamAVエンジンによる検査、inotify監視、隔離

標準ではなし

共有ホスティング、Webサーバ、Webシェルや不正スクリプトの検査に適する

類似プロダクト比較のまとめ

ClamAVが優れている点は、OSSで導入コストを抑えやすいこと、Linuxサーバへの導入がしやすいこと、メールゲートウェイやアップロードファイル検査へ組み込みやすいこと、CLIやスクリプトベースで自動化しやすいことです。
一方、商用製品が優れている点は、検出性能や多層防御機能、統合管理コンソール、ベンダサポート、EDRや振る舞い検知などの高度な機能です。
つまり、低コストで基本的なサーバ向けウイルス対策を実装したい場合にClamAVは最も有力な選択肢であり、より高度な企業向けセキュリティ運用を求める場合には商用製品も選択肢になります。

動作環境

サポートプラットフォーム

ClamAVは最も普及しているOSの最新2つの長期サポートバージョンでテストされています。
以下は定期的にテストされているOSのバージョンです。(2026年8月時点)

GNU/Linux

  • Alpine
     3.22 (x86_64,arm64)
  • Ubuntu
     24.04 (x86_64,arm64)
     22.04 (x86_64,arm64)
  • Debian
     13 (x86_64,arm64)
     12 (x86_64,arm64)
  • AlmaLinux
     10 (x86_64,arm64)
     9 (x86_64,arm64)
  • Fedora
     42 (x86_64,arm64)
     41 (x86_64,arm64)
  • openSUSE
     Leap 15 (x86_64,arm64)

UNIX

  • FreeBSD
     14 (x86_64)
     13 (x86_64)
  • macOS
     15.3 Sequoia (x86_64,arm64)
     14.7 Sonoma (x86_64,arm64)
     13.7 Ventura (x86_64,arm64)

Windows

 11 (x86_64,arm64)
 10 (i386,x86_64)

推奨システム要件

以下はCisco が提供する標準 ClamAVウイルス定義データベースで clamscan または clamdアプリケーションを使用する場合の最小推奨システム要件です

最小推奨 RAM

  • FreeBSD および Linux サーバ版: 3 GiB 以上
  • Linux 非サーバ版: 3 GiB 以上
  • Windows 10 および 11: 3 GiB 以上
  • macOS: 3 GiB 以上

最小CPU

  • 2.0GHz以上のCPU 1基

最小ストレージ容量

  • 5GiBの空き容量を推奨

※各OSの動作に必要な容量とは別に必要です。

ClamAVのライセンス

ClamAVはGNU General Public License v2.0(GPL v2.0)に基づいているオープンソースソフトウェアです。
広く利用されているOSSライセンスで、一定条件下でソフトウェアの複製、頒布、改変が認められていますが、再配布や組み込み形態によってはライセンス条件に沿った対応が必要です。
商用利用は可能ですが、製品組み込みや再配布を伴う場合は法務・ライセンス観点での確認を推奨します。

参考情報

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください
オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。