背景
ClamAVを触る機会が出てきたので入門する。最近初見かと思いきや社内シスアド的なのやってた時にも実は触ったことがあったらしいことをローカルのメモから知った。当時はこの手のツールはとりあえず入れておけばいいんじゃないくらいで使ってたので良くわからず使ってたはず(新卒1年目とか)。古参で安定しててOSSなので結構色々いなとことで使われてるとかですかね〜
ClamAVとは
ClamAV(Clam Antivirus)とはTomasz Kojm等によって開発・メンテナンスされているLinuxやBSD、Mac 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構成でウイルススキャンの構成をとることも可能です。