UbuntuPCにClamAV(アンチウイルスソフト)を設定する

UbuntuにアンチウイルスソフトClamAVを導入する

Ubuntuのインストールが完了したら、次はセキュリティの設定をしていきます。

ファイアウォールの設定が済んだので、次は、ClamAVというアンチウイルスソフトを稼働させる準備をします。ClamAVのうち、基本のclamavパッケージだけをインストールして簡単にウイルススキャンをしたいと思う方向けの記事です。デーモン(clamav-daemon)使った高速スキャンやcronを使用した定期スキャン、GUI版のClamTKの使い方の説明はしていません。

この記事は、インストールや使い方を先に説明しています。ClamAVの説明を先に読んでから使い方を知りたいという方はページ下部からお読みください。

目次

ClamAVをインストール

まずは、ClamAVをaptパッケージからインストールします。

「端末」を起動する

Dock(ドック)内の「Dock内の「アプリを表示」アイコンアプリを表示」アイコンをクリックし、アプリ一覧の中から「端末」を選び「クリック」します。または、[Ctrl]+[Alt]+[T]で「端末」を開きます。

端末アプリ

パッケージリストの情報を更新

clamavをインストールする前にパッケージリスト情報を更新します。端末に以下を入力して[Enter]を押します。

sudo apt update

※パスワードを求められたら「パスワードを入力」して[Enter]キーを押す

パスワードを入力しても「✱印」などのタイピングの履歴は出ません。パスワードを入力後[Enter]を押せば入力できます。

インストール済みのパッケージを更新

新しいパッケージをアップグレードします。端末に以下を入力して[Enter]を押します。

sudo apt upgrade

※続行しますか?[Y/n]と聞かれるので、[y]キーを押す

yはyes、nはnoです。Ubuntuインストール後すぐのアップグレードはちょっとした時間がかかるのでしばらく待ちます

ClamAVをインストール

パッケージをアップグレード後、以下を入力して[Enter]を押します。

sudo apt install clamav

これでインストールが完了しました。インストールが完了しても、アプリ一覧にClamAVは現れません

他サイトでは、「clamav」と「clamav-daemon」を同時にインストールしていることが多いですが、「ウイルスを検知」する目的だけなら「clamav」だけで十分です。後から「clamav-daemon(デーモン)」が必要だと判断したときに改めてインストールすることもできます。(説明項目参照)

ClamAVの初期設定

インストールが完了したら、次にウイルススキャンをするための初期設定をします。「端末」で操作していきます。

ウイルスデータベース(定義ファイル)を更新する(ウイルスデータベースの説明は後項参照

sudo freshclam

おそらく、エラーが出ます。エラーが出た場合は、以下の3つを実行します

1.ウイルス定義ファイル(デーモン)の稼働を一旦停止する。

sudo systemctl stop clamav-freshclam

2.freshclamを更新する。

sudo freshclam

3.更新したら、ウイルス定義ファイル(デーモン)を再稼働

sudo systemctl start clamav-freshclam

これで初期設定が完了し、ウイルススキャンを実施する準備が整いました。

設定状況を確認する

ウイルススキャンを正常に実施するため、スキャンの前にウイルスデータベース(定義ファイル)の稼働状況を確認します。

「端末」で、以下を入力します。

systemctl status clamav-freshclam

※(状況が出力され続けてしまうので)下のような情報が表示されたら[Ctrl]+[C]キーを同時に押し出力を止めてください。また、画面の幅によっては情報が見切れてしまうことがあるので、その場合は、マウスドラッグで画面の横幅を広げると見切れずに行末まで確認できます。

確認する箇所と内容の説明をします。「clamav-freshclam」が正常に稼働していることを確認してください

 説明 
  • 丸印はユニットの状態を表し、緑の丸印はアクティブな状態を表します。塗りのない丸印「○」の場合は、ウイルス定義ファイルの自動更新が停止したままになっているのでsystemctl start再稼働させてください(前項参照)
  • Loadedの行「loaded」はユニットがメモリにロードされている状態を示し、(括弧)内はユニットファイルのパスと有効化状態が表示されています。serviceとpresetが enabled(有効)になっていればOKです。
  • Activeの行:サービスが開始されているかの状態を表しています。 active(running)ならOKです。「inactive (dead)」と表示されている場合は、ウイルス定義ファイルの自動更新が停止したままになっているのでsystemctl start再稼働させます(前項参照)

これで、ウイルススキャンをする準備が整いました。

ウイルススキャンを実行する

ウイルススキャンは、端末を使って実施します。

「端末「端末」アプリアイコン」に以下のコマンドを打ち込んで[Enter]キーを押すと、①ウイルスデータベースを読み込み、②ウイルススキャンが始まります。ウイルススキャンするデータ量により、所要時間はそれぞれ異なります。

ウイルスは自動的に削除や隔離されません。ウイルスが検出された時は、ユーザーが確認の上で実施します。

書式

基本の書式は以下です。[括弧]内は指定するデータに置き換え、入力後[Enter]キーを押します。

clamscan [options] [file/derectory/-]

※ [options]はclamscanのオプション、[file/derectory/-]は、調べたいパスを指定するという意味です。

オプションの説明は後項を参照してください

以下、具体例です。

ホームディレクトリを再帰的にスキャン

フォルダ内にあるフォルダも含めて、ホームディレクトリ全体をスキャンする

clamscan -r /home

clamscan /homeだけでは、Homeフォルダ内の内部までスキャンしてくれません。ホームフォルダ内のすべてのファイルをスキャンするには、-rオプションを使います。

システム全体を再帰的に(フォルダ内のフォルダの中身も含めて)スキャン

clamscan -r /

※システム全体をスキャンするためのパスは/です。上記の例と同じように-rオプションをつけます。

[外付けの]USBを再帰的に(フォルダ内のフォルダの中身も含めて)スキャン

clamscan -r /media/ユーザーネーム/ファイルネーム

※USBのパスは/media/ユーザーネーム/ファイルネームです。USB以外でも、CD-ROMやダウンロードフォルダなど絶対パスを指定してスキャンすることができます。

絶対パスがわからないときは、こちらの記事を参考にすると簡単に調べることができます。

オプション

clamscanのオプションで使用できるいくつかのオプションを抽出して記載します。オプションは半角スペースで区切ることで複数を同時に指定できます。

ヘルプを表示:--helpまたは-h

バージョン番号を表示:--versionまたは-V ※「V」は大文字

スキャンの詳細を表示:--verboseまたは-v※「v」は小文字

感染したファイルのみ表示:--infectedまたは -i(スキャン途中の詳細表示はなくなります)

スキャンレポートをファイルに保存:--log=FILEまたは -l FILE ※FILEにはファイル名とパスを記述(ログについてはこちらの記事で説明しています)

サブディレクトリを再帰的にスキャン:--recursive[=yes/no(*)]または -r ※推奨

感染したファイルをディレクトリに移動する(隔離):--move=DIRECTORYのパス

感染したファイルを削除する:--remove[=yes/no(*)] ※非推奨。感染したファイルは誤検知やシステムに影響を及ぼすなどの理由により、このオプションを使用して直接削除するのは要注意とされています

clamscan -hでオプション一覧を見ることができます。

筆者おすすめスキャン

筆者が定期的におこなっているスキャンを紹介します。

ホームディレクトリを再帰的にスキャン

clamscan -r -i -v /home

※オプションは、-r再帰的に、-i感染したファイルのみ表示、-vスキャンの詳細を表示

システム全体を再帰的にスキャン

clamscan -r -i -v /

※オプションは、-r再帰的に、-i感染したファイルのみ表示、-vスキャンの詳細を表示

感染したファイルがある場合にファイルの場所を表示させたいが、-iだけではスキャン中の表示がなくなってしまうので、実行中の実況表示も併せて表示させたいという理由-vオプションをつけています。

スキャン結果の見方

スキャンが完了すると、下のようなスキャン結果が表示されます。

—SCAN SUMMARY—の説明
  • Infected filesはウイルスが見つかったときにファイルの数を表示します。「1」以上の数値が出力されていた場合、「ウイルスが検出された」となります
  • —SCAN SUMMARY—は、スキャンの結果のみ表示します。ウイルスが発見されてもウイルスのパスは表示されません(パスを表示したり、隔離する場合はオプションで指定します)

以上で、アンチウイルスソフトのインストールと使用方法の説明は終わりです。ここからは、説明を簡潔にまとめて記載します。

ClamAVとは(詳細説明)

ClamAVは、オープンソースのアンチウイルスソフトの名称です。ウイルスデータベースをPCにダウンロードし、そのデータベースをもとにウイルススキャンが実施されます。

手動スキャンの他、デーモンを使った高速スキャンや即時スキャンなどがあり、目的に応じたパッケージをインストールすることで使うことができるようになります。また、cronを使い、スキャンのスケジュールを設定することも可能です。

手動スキャン

ClamAVでウイルススキャンをするときの、基本のスキャン方法です。(このページで説明しているスキャン方法です)

clamavというaptパッケージ名でインストールし、clamscanコマンドでウイルススキャンを実行します。オンデマンドスキャンとも呼びます。

clamavとは

clamavは、aptパッケージの名称です。インストールやアンインストールはこのaptパッケージの名称で行います。(インストールの説明は前項参照

clamavはコマンドではありません。端末で「clamav」と打ち込んでも、「コマンドが見つかりません」と返されます

clamscanとは

clamscanは、ファイルとディレクトリをウイルススキャンするコマンドです。(ウイルススキャンの説明は前項参照

  • 使えるオプションを調べるにはclamscan -hまたはclamscan --help(オプションの説明は前項参照
  • マニュアルを読みたいときはman clamscanマニュアル閲覧を終了するには[q]キーを押します

ウイルスデータベース

ClamAVは、PCにダウンロードしたウイルスデータベース(ウイルス定義ファイル)をもとに、ウイルススキャンをします。clamavパッケージをインストールすると同時に、ウイルスデータベースもインストールされ、自動的に更新されます。以下2つのシステムが動いています。

freshclamとは

freshclamは、ClamAV用のウイルスデータベースを更新するコマンドです。clamavパッケージをインストールすると同時に、このコマンドもインストールされます。

データベースの更新は自動で行われるため、通常はこのコマンドを使用する必要はありませんが、初回起動時のみ、ウイルスデータベースを更新することが推奨されます(初期設定参照

  • 使えるオプションを調べるにはfreshclam -hまたはfreshclam --help(オプションの説明は前項参照
  • マニュアルを読みたいときはman freshclamマニュアル閲覧を終了するには[q]キーを押します

clamav-freshclamとは

clamav-freshclamは、ClamAV用のウイルスデータベースを自動更新するデーモンです。デーモンとは、バックグラウンドで動くという意味で、バックグラウンドで1時間毎に自動更新されています。clamavをインストールすると同時に自動的にインストールされ、デフォルトで自動更新が有効になっています。

通常は、この自動更新のデーモン(clamav-freshclam)が有効になっているため、ウイルスデータベースを手動で更新する必要はありませんが、初回のみこのデーモンを一旦停止し、freshclamでウイルスデータベースを手動で更新してデータベースを最新の状態にします。(前項参照

clamav-freshclamはコマンドではありません。端末で「clamav-freshclam」と打ち込んでも、「コマンドが見つかりません」と返されます

ClamAV-Daemonとは

ClamAVをリアルタイムで動かすデーモンです(バックグラウンドで常に待機状態にする)。ClamAVと異なり、ウィルスデータベースを常に読み込んだ状態で待機しているのでスキャン時間が短縮されます。結果、高速スキャンが可能となりますが、反面、ウイルスデータベースを常に読み込んでいる状態で、メモリを常時約500MBほど使用するため、PCが重くなったと感じることもあります。

aptパッケージ名はclamav-daemon

clamav-daemonはコマンドではありませんClamAV-Daemonについて詳しくは、こちらのページをお読みください。

cronとは

cronは、指定した日時にジョブを実行してくれるデーモンです。cronを使うと、「ウイルススキャンの日時を指定し、自動でおこなう」ことができます。

ただし、cronは電源が入っていないときには実行されません。電源が入っているときにのみcronジョブが実行されます。

cronについて詳しくは、こちらのページをお読みください。

ログとは?

ウイルススキャンの実施記録を記録することができます。ClamAVはログの記録は自動化されていないので、ログを残すには事前準備が必要です。

ログの設定について詳しくは、こちらのページをお読みください。

ClamTKとは

ClamTKとは、ClamAVのGUI版アプリです。パッケージ名はclamtkです。clamtkをインストールすると、アプリで操作することができますが、筆者はこのアプリの仕様をおすすめしていません。

理由は、第一に「ClamTKは開発が終了(停止)している」ためです。と言っても、Ubuntu24.04では、clammtkはパッケージ化されており、アプリストアからインストールすることも可能です。ですから、「動かせない」とか「危険」とか緊急を要する脆弱性があるとは言い難いのですが、コマンドを使って簡単にウイルススキャンすることができるので、「アプリをインストールして使用する必要はないかな」と判断しています。

アンインストールするには?

clamavパッケージをアンインストールする方法も記録しておきます。

sudo apt remove clamav

※関係ファイルを「残す」とか「残さない」などアンインストールするには注意が必要です。いきなり上のコマンドを実行する前に、何をアンインストールするのか?何がアンインストールされるのかを確認してから行うことをおすすめします。アンインストールは、自己責任でおこなってください。

aptパッケージのアンインストールについて、詳しくはこちらに記載してます。

参考資料

ClamAV公式ドキュメント:https://docs.clamav.net

ClamAV公式ドキュメント(はじめに):https://docs.clamav.net/Introduction.html

【徹底解説】Ubuntu22.04にClamAVをインストール・設定する方法!:https://bytes-box.com/install-clamav/

clamavでウイルススキャン:https://joenoji325.com/clamav/

Clam Anti Virus(ClamAV)インストールと設定:https://www.fumibu.com/use_clam-anti-virus_debian-package/

ClamAVによる定期ウイルススキャンの設定:https://inaba-serverdesign.jp/blog/20170913/clamav_scan_virus_install.html

よかったらシェアしてね!
目次