ClamAV
Clam AntiVirus は UNIX 用のオープンソースの (GPL) アンチウイルスツールキットです。柔軟性がありマルチスレッドで動作するデーモンやコマンドラインスキャナー、データベースを自動的に更新するツールなど、さまざまなユーティリティが含まれています。ClamAV は主として Windows デスクトップのためのファイル・メールサーバーで使われることを想定しているので、基本的には Windows のウイルスやマルウェアを検知します。
目次
インストール
ClamAV は公式リポジトリにある clamav パッケージでインストールできます。
デーモンの起動
サービスは clamd.service
です。デーモンを起動したり、ブート時に有効にするといった情報の詳細はデーモンを読んで下さい。
データベースの更新
次のコマンドでウイルス定義を更新します:
# freshclam
データベースのファイルは以下に保存されます:
/var/lib/clamav/daily.cvd /var/lib/clamav/main.cvd
ウイルス定義をアップデートするサービスは freshclamd.service
です。このサービスを起動・有効化することでウイルス定義が最新になります。
ソフトウェアのテスト
ClamAV とウイルス定義が正しくインストールされているかどうか確かめるには、clamscan で EICAR テストファイル (ウイルスコードは含まれていない無害な署名です) をスキャンします。
$ wget -O- http://www.eicar.org/download/eicar.com.txt | clamscan -
以下が出力されれば検出成功です:
stdin: Eicar-Test-Signature FOUND
上記の表示が出ない場合、トラブルシューティングを読むか、あるいは Arch フォーラム に投稿してください。
ウイルスのスキャン
clamscan
を使って特定のファイルやホームディレクトリ、もしくはシステム全体をスキャンすることができます:
$ clamscan myfile $ clamscan -r -i /home $ clamscan -r -i --exclude-dir='^/sys|^/proc|^/dev|^/lib|^/bin|^/sbin' /
感染しているファイルを clamscan
に削除して欲しい場合はコマンドに --remove
オプションを使って下さい。隔離したい場合は --move=/dir
を使います。
-l path/to/file
オプションを使うと clamscan
のログがテキストファイルに出力されます。
milter を使う
/etc/clamav/clamav-milter.conf.sample
を /etc/clamav/clamav-milter.conf
にコピーして必要に応じて編集してください。例:
/etc/clamav/clamav-milter.conf
MilterSocket /run/clamav/clamav-milter.sock MilterSocketMode 660 FixStaleSocket yes User clamav PidFile /run/clamav/clamav-milter.pid TemporaryDirectory /tmp ClamdSocket unix:/var/lib/clamav/clamd.sock LogSyslog yes LogInfected Basic
/etc/systemd/system/clamav-milter.service
を作成:
/etc/systemd/system/clamav-milter.service
[Unit] Description='ClamAV Milter' After=clamd.service [Service] Type=forking ExecStart=/usr/bin/clamav-milter --config-file /etc/clamav/clamav-milter.conf [Install] WantedBy=multi-user.target
サービスを有効化して起動してください。
トラブルシューティング
Error: Clamd was NOT notified
freshclam を実行した後に以下のメッセージが表示される場合:
WARNING: Clamd was NOT notified: Cannot connect to clamd through /var/lib/clamav/clamd.sock connect(): No such file or directory
ClamAV の sock ファイルを追加してください:
# touch /var/lib/clamav/clamd.sock # chown clamav:clamav /var/lib/clamav/clamd.sock
それから、/etc/clamav/clamd.conf
を編集して次の行をアンコメントしてください:
LocalSocket /var/lib/clamav/clamd.sock
ファイルを保存してデーモンを再起動してください。
Error: No supported database files found
デーモンを起動した時に次のエラーが表示される場合:
LibClamAV Error: cli_loaddb(): No supported database files found in /var/lib/clamav ERROR: Not supported data format
root でデータベースを生成してください:
# freshclam -v
Error: Can't create temporary directory
次のエラーが UID と GID の番号を含む 'HINT' と一緒に表示される場合:
# can't create temporary directory
パーミッションを直して下さい:
# chown UID:GID /var/lib/clamav & chmod 755 /var/lib/clamav