地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【ClamAV】入門する (Clam Antivirus)

f:id:ryuichi1208:20210723214134p:plain

背景

ClamAVを触る機会が出てきたので入門する。最近初見かと思いきや社内シスアド的なのやってた時にも実は触ったことがあったらしいことをローカルのメモから知った。当時はこの手のツールはとりあえず入れておけばいいんじゃないくらいで使ってたので良くわからず使ってたはず(新卒1年目とか)。古参で安定しててOSSなので結構色々いなとことで使われてるとかですかね〜

www.clamav.net

ClamAVとは

ClamAV(Clam Antivirus)とはTomasz Kojm等によって開発・メンテナンスされているLinuxBSDMac OS Xなど各種UNIX系のシステムで動作するアンチウイルスソフトクロスプラットフォームアンチウイルスソフトウェアでwindows版も派生して存在するみたいです。

以下公式サイトより概要を引用: https://clamav-jp.osdn.jp/

Clam AntivirusはTomasz Kojm等によって開発・メンテナンスされているLinuxやBSD、Mac OS Xなど各種UNIX系のシステムで動作するアンチウイルスソフトです。
シグネチャによるパターンマッチング方式を採用していて、2004年5月27日の時点で約21,694種類のウイルスに対応しています。
GPLライセンスに従って利用することができるオープンソースのソフトウェアです。

Clam Antivirusについてgoogleなどで検索するときは「clam antivirus」や「clamav」などのキーワードをもとにして探すとよいでしょう。

主な機能/特徴とかは以下。デーモンに加えてDBのアップデートツールとか充実している印象を受けました。

・マルチスレッドデーモン(clamd)
・コマンドライン版スキャンツール(clamscan)
・データベースアップデータ(freshclam)
・自動シグネチャアップデート
・Googleセーフブラウジングデータベースのサポート
・ウイルス検出時のメール通知

使ってみる

インストール

yum install epel-release
yum install clamav clamav-data clamav-devel clamav-filesystem clamav-update clamd

それぞれの役割はざっくり以下のような感じです。

clamav -> ClamAV本体。各種ツール類
clam-data -> ウィルススキャンデータベース
clamav-devel -> ClamAVの関連ライブラリやヘッダーファイル
clamav-filesystem -> ClamAV動作に必要なユーザー設定やファイル構成のパッケージ
clamav-update -> ウィルスデータベースを更新するためのパッケージ
clamd -> ClamAVをデーモンとして動作させるパッケージ

このままスキャンをするとエラーになるので実行前にウィルスデータベースのアップデートを行います。freshclamを実行しておきます。以下のコマンドを実行してユーザデータがあるようなパスを検査対象として検査します。–remove をつけることで、ウィルスを発見したときに自動的に削除することも可能です。

$ clamscan --infected --recursive /home
----------- SCAN SUMMARY -----------
Known viruses: 10588000
Engine version: 0.103.3
Scanned directories: 2 -> 検査したディレクトリの数
Infected files
Scanned files: 3 -> 検査したファイルの数
Infected files: 0 -> 重要: 検出したウィルスの数
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 15.369 sec (0 m 15 s)
Start Date: 2021:07:23 10:19:40
End Date:   2021:07:23 10:19:55

自身の環境にインストールして自分でDB参照してウイルスをスキャンすることを行いましたがclamdを使うことでC/S構成でウイルススキャンの構成をとることも可能です。