FreeBSD で clamav を使う
fuji44
FreeBSD で clamav を使いたい
インストールとセットアップ
pkg install clamav
echo 'clamav_clamd_enable="YES"' >> /etc/rc.conf
echo 'clamav_freshclam_enable="YES"' >> /etc/rc.confサービスを起動
service clamav-clamd start
service clamav-freshclam startスキャンする
ワンタイムでスキャンするコマンドは clamscan と clamdscan がある。
d 付のコマンドは clamd を利用する。ついていないものは利用しない。そのためデータベースのロードを一から行うのでかなり遅い。
基本的に d 付のコマンドを使った方がいいと思う。
clamdscan file_path_or_directory-m: マルチスレッドでスキャンする-z: 検知しても、引き続きスキャンする。--fdpass: ファイルのアクセス権限を clamd に移譲する。 clamd と別ユーザで実行している場合はスキャン速度が改善される場合がある。--move=DIRECTORY: 感染したファイルを DIRECTORY に移動する。--remove: 感染したファイルを削除する。--max-filesize=SIZE: スキャンするファイルの最大サイズを指定する。-l log_file: 指定したファイルにログを出力する。clamdscan の場合はclamd.confのログ設定に従ってこれとは異なるログが別途出力される。--quiet: 出力を抑える。
応用
複数ファイルを効率的にスキャン
find で検索したディレクトリ配下のすべてのファイルをマルチスレッドでスキャンする。
find scan_directory | xargs clamdscan -z -m --fdpassサイレントスキャン
標準出力への出力を抑えて、ログに出力する。感染ファイルは .infected/
に移動する。
find scan_directory | xargs clamdscan -z -m --fdpass --move=.infected/ -l /var/log/clamav/scan.log --quiet検知を試す
EICARテストファイル というアンチウイルスソフトのテスト用のファイルを使って検知を試す。テストファイルは eicar.org で入手する。