OpenSUSE Leap 42: ClamAVでウィルススキャンを実行する

ClamAVでウィルススキャンを実行する手順を記載します。

1 clamscanでウィルススキャンを実行する

clamavとclamav-databaseパッケージをインストールします。

> sudo zypper -n in clamav clamav-database

clamscanでウィルススキャンを実行します。

  • -rオプションでディレクトリを再帰的に走査します。
  • -iオプションで検出ファイルのみ表示します。
  • –moveオプションで検出ファイルを指定のディレクトリへ移動します。
> mkdir ~/virus
> clamscan -r -i --move=$HOME/virus .

2 手動でウィルスデータベースを更新する

ウィルスデータベースを更新するにはfreshclamコマンドを実行します。freshclamコマンドはclamavパッケージに含まれます。

> sudo freshclam

3 自動的にウィルスデータベースを更新する

freshclam.serviceを有効にすると1日12回ウィルスデータベースを更新するデーモンが動作します。

> sudo systemctl enable freshclam
> sudo systemctl start freshclam

ウィルスデータベースの更新間隔を変更するにはfreshclam.confのChecksの値を変更します。

> grep Checks /etc/freshclam.conf
#Checks 24

4 clamdでウィルススキャンを実行する

clamdは予めデータベースを読み込み、clamdscanコマンドのリクエストに答えてウィルススキャンを実行するデーモンです。データベースの分だけ常にメモリを消費しますが、clamdscanはclamscanに比べて実行速度が段違いに早いです。clamscanとは異なり、clamdscanの挙動はclamdに依存します。

WEBサイトにアップロードされるファイルをスキャンする場合はこちらを利用すべきでしょう。

clamdの実行ユーザをrootに変更します。

> sudo sed -e 's/^User.*/User root/g' -i /etc/clamd.conf

clamd.serviceを有効にするとclamdが動作します。

> sudo systemctl enable clamd
> sudo systemctl start clamd

clamdscanが実行できるようになります。

> clamdscan <file-or-dir>

5 clamtkでウィルススキャンを実行する

clamtkパッケージはclamavをGUI操作できるようにするパッケージです。デスクトップで使うのに向いています。

> S=http://download.opensuse.org/repositories/security/openSUSE_Leap_42.2
> sudo zypper ar -f -n Security ${S} Security
> sudo zypper -n --gpg-auto-import-keys ref
> sudo zypper -n in clamtk

起動画面は以下の通りです。私の環境だと各項目を選択するのにダブルクリックする必要がありました。

0001_ClamTk.png

Settingsで"scan directories recursively"にチェックを入れておきます。

0002_ScanDirectoriesRecursively.png

"Scan a directory"からホームディレクトリを再帰的にスキャンできます。

0003_ScanADirectory.png