clamscanとclamdscanの違い

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

Linuxで使われているセキュリティーソフトウェアとして、Clam AntiVirus(通称Clam AV)というものがあり、その中でもコマンドラインでウィルススキャンを行うコマンドとしてclamscanclamdscanというものが用意されているが、それぞれ大きな違いがある。ここではそこに着目して説明を行いたい。

clamscanは実行時に初期化される

まず、clamscanについてだが、こちらは通常のコマンドラインスキャンであり、実行時はまずウィルス定義ファイルをロードしてからウィルススキャンを行う。

これは、実行するまでの間はマシンのリソースを食わないという利点があるが、実行時に定義ファイルの読み込みを行うという必要性があるため、動作に時間がかかるという問題がある。

これはファイルサイズにもよるが、比較的低い頻度のcronで定期スキャンを行うのであれば、必要な時にclamのリソースを使う利点があるため、こちらを使ったほうが良いだろう。

ただし、一つのファイルをスキャンするだけでも環境によっては10秒以上はかかるため、ファイルを受け取ったらスキャンするという用途には使えない。

clamdscanはデーモンに処理を移譲する

次にclamdscanだが、こちらはclamdと呼ばれるデーモン ((Unix/Linuxなどの環境における常駐プロセス。Windowsにおける「サービス」に相当する)) を利用してスキャンを行うツールである。

処理自体はclamscanとほとんど変わらないが、こちらはすでに定義ファイルを読み込み済みのclamdに処理を移譲する関係上、すぐにスキャンを行えるという利点がある。従って、ファイルを受け取ったらスキャンするという用途でもファイルにもよるものの、概ね対応可能という利点がある。

一方で、clamdを常駐させる必要がるため、その分のリソースの消費が必要になるという点は要注意である。

最後に

今回はclamscanclamdscanの違いについてまとめてみた。どちらも行えることは一緒だが、その中身はかなり違ったものになっているので要注意である。

Unix/Linux系はウィルスに感染するリスクが低いと言われているが、サーバー運用では他のPCを感染させてしまうこともあるので、ぜひともウィルス対策は行いたいところである。

タイトルとURLをコピーしました