Daily Archives: 03/01/2012

clamav: clamscanとclamdscanの違いってなんなんだよ

Pocket

clamavはフリーのアンチウイルスソフトウェア

最近はOS Xとかでも有名ですな。

公式サイト

http://www.clamav.net/lang/en/

インストールはportsから。

概要

一部モジュールのみ以下にまとめます。

  • clamscan
  • clamdscan
  • clamd
  • freshclam

・clamscan

 単品で動くウイルススキャナ。

 一回だけのスキャンに使用する。

 遅い。

・clamd

 ウイルススキャナデーモン

 後述のclamdscanとセットで使う。

 あるいはメールのスキャンなどに。

・clamdscan

 clamdとセットで動くウイルススキャナ。

 指定されたファイルのパスをclamdに教えると、clamdがスキャンしてくれる。

 clamdは定義ファイルをメモリ展開しているのでclamscan(clam*d*scanじゃなく)よりもスキャンが断然速い。

・freshclam

 定義ファイルのダウンローダ。

 オンデマンドで実行もできるし、常駐化させておいて定期的にダウンロードさせることもできる。

使い方: ウイルスデータベース更新

インストールすれば、すぐに使える。

まずは念のためウイルスデータベースを更新。freshclamを実行するだけ。

使い方: スキャン: clamscan

あとはclamscanにファイル名を引数で渡せばよい。

  • rを与えれば、ディレクトリを再帰的にスキャンすることもできる。

そのほか、よく使用するオプションとしては、

clamscanとclamdscan

先述の通り、clamscanとclamdscanではスピードが違う。

実験をしてみるとその差は歴然。

というより、clamscanが遅すぎる。

定期的にスキャンするなら、絶対にclamdscanがよい。

注意点はあるが、それは後述。

使い方:clamdscan

仕組みは以下の通りと理解している。

スキャンするときには、ファイルの場所をclamdscanに伝える。

clamdscanはdaemonとして常駐しているので、いちいちウイルスデータベースを読み込まなくてよい。

だから速い。

しかしNFSマウントしたファイルのスキャンなど、ファイルへのアクセス権限が特殊な場合に問題となるケースがあった。

clamdscan起動の準備をする。/etc/rc.confに以下を追加。

ついでにfreshclamもdaemonモードで起動するように。

portsから入れたなら、clamd.conf、freshclam.confは特にデフォルトでよい。

起動させる。

以上。

以下は参考。

/usr/local/etc/freshclam.conf

影響しそうなところのみピックアップ

・ウイルスデータベース格納場所

・freshclamのログファイル場所

・定義ファイル更新を試みる頻度

・プロキシ設定。これはありがたい。

・データベース更新時にclamdに再読み込みさせる。

・データベース更新が失敗したときに実行するコマンド

 興味あるが今は保留

・データベースが古い場合に実行するコマンド

 興味あるが今は保留

/usr/local/etc/clamd.conf

基本デフォルト。MaxScanSize、MaxFileSizeくらいか。

No tags for this post.