[macOS] Clam AntiVirusをインストールする

無料で使えるオープンソースアンチウイルスソフトClamAV」をmacOSへインストールして動かすところまでをまとめます。

ちょっと前にAmazon Linux2へ入れたのですが、手元の環境でもチェックしたくなったんですよ。

インストール

brewで本体を入れる

HomeBrewを使うとコマンド一発で入ります。

$ brew install clamav

設定ファイルを準備

雛形をコピー

インストールすると設定ファイルのサンプルが用意されていますので、これをコピーします。

$ cd /usr/local/etc/clamav
$ cp clamd.conf.sample clamd.conf
$ cp freshclam.conf.sample freshclam.conf

定義ファイルの保存先を準備

ウイルス情報が定義されたデータベースの保存先ディレクトリを準備しておきます。

$ sudo mkdir -p /usr/local/var/lib/clamav
$ sudo chown _clamav:_clamav /usr/local/var/lib/clamav

chown等で所有者を変更しておかないと以下のようなエラーが発生します。

$ freshclam
ERROR: Can't create mirrors.dat in /usr/local/var/lib/clamav
Hint: The database directory must be writable for UID 82 or GID 82

freshclam.confを編集

最新の定義ファイルを取得するのに利用する設定ファイルを準備します。最初のExampleコメントアウト、先ほど作成したディレクトリを定義ファイルの保存先とします。

$ vi freshclam.conf
# Example
DatabaseDirectory /usr/local/var/lib/clamav

clamd.confを編集

スキャンを行う際の設定を行います。最初のExampleコメントアウト、定義ファイルの場所を指定、今回はTCPSocketで通信を行うのでその設定を行っています。

$ vi clamd.conf
# Example
DatabaseDirectory /usr/local/var/lib/clamav
LocalSocket /tmp/clamd.socket
TCPSocket 3310
TCPAddr 127.0.0.1

デーモンを起動

以下のコマンドを叩くと起動します。1〜2分ほど時間がかかります。デーモンを利用しない場合はこのステップは不要です。

$ sudo /usr/local/sbin/clamd

psコマンドで確認すると無事に起動したのががわかりますね。

$ ps aux | grep clamd
root             74380   0.0  4.4  5469824 737168   ??  Ss    2:02PM   0:33.18 /usr/local/sbin/clamd

スキャンする

コマンドのさらに詳しい使い方など詳細はこちらの記事を参照ください。

コマンド版

$ clamscan /Users/katsube/

デーモン版

$ clamdscan /Users/katsube/

その他

シェルスクリプトから起動する

時々しかスキャンしない場合は以下のようなシェルスクリプトを用意しておくと便利ですね。スキャン対象のディレクトリは環境に合わせて適宜ご変更ください。

#!/bin/bash

#
# ClamAVでスキャン
#

# 定義ファイルを更新
echo '----- FreshClam'
sudo /usr/local/bin/freshclam

# デーモンが起動していなければ起こす
echo '----- Check ClamAV Daemon'
count=`ps aux | grep 'clamd' | grep -v 'grep' | wc -l`
if [ $count = 0 ]; then
  echo '[start clamd]'
  sudo /usr/local/sbin/clamd
fi

# スキャン開始
echo '----- Start Scanning'
/usr/local/bin/clamdscan /Users/katsube

参考ページ