AWS EC2 Amazon Linux AMI のマシンで clamav を使う

2016-02-22 山田喜三郎 (@kisaburo_y) Tweet

  1. clamav はフリーのアンチウィルスソフト
  2. いつの間にか AWS EC2 Amazon Linux AMI のレポジトリに入っていた
  3. ウェブ上に数多ある解説はいずれも古く、AWS EC2 の最新情報になっていない
  4. 複数のページから集めた情報をもとに試行錯誤して最善・最短の手順をまとめた

インストール

# yum -y install clamav-update    ウィルス定義ファイルの自動更新(cron で実行される。デフォルトで 3 の倍数時)
# yum -y install clamd            スキャナーデーモン
# yum -y install clamav           コマンド(ユーザー・インタフェース)
 

ウィルス定義ファイルの自動更新

# vim /etc/sysconfig/freshclam
### !!!!! REMOVE ME !!!!!!
### REMOVE ME: By default, the freshclam update is disabled to avoid
### REMOVE ME: network access without prior activation
#FRESHCLAM_DELAY=disabled-warn  # REMOVE ME     ←この行をコメントアウト
# vim /etc/freshclam.conf
# Comment or remove the line below.
#Example                                ←コメントアウト

DatabaseDirectory /var/lib/clamav       ←コメント解除

UpdateLogFile /var/log/freshclam.log    ←コメント解除

DatabaseOwner clamupdate                ←コメント解除

#DatabaseMirror database.clamav.net     ←コメントアウト
DatabaseMirror db.jp.clamav.net         ←この行追加
 

ウィルス定義ファイルをコマンドで更新

# freshclam
(警告が出るが気にしない)
 

clamd.scan(スキャナーデーモン)

# vim /etc/clamd.d/scan.conf
# Comment or remove the line below.
#Example                                    ←コメントアウト

LocalSocket /var/run/clamd.scan/clamd.sock  ←コメント解除

#User clamscan                              ←コメントアウト
User root                                   ←この行追加
# /etc/init.d/clamd.scan start
# chkconfig clamd.scan on
# ln -s /etc/clamd.d/scan.conf /etc/clamd.conf  (これをやっておかないと clamdscan がエラーになる)
 

EICARテストファイル

このファイルをスキャンすると、ウィルスを検出したときと同じ動作をする。
$ vim eicar.com
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*    ←この文字列を書き込む
 

スキャニングを実行(コマンドライン)

# clamdscan eicar.com   (たぶん clamd.scan のクライアント)
# clamscan eicar.com    (デーモンを使わない?のですごく遅い)
 

スキャニングを実行(ソケット通信)

socat などのコマンドまたは自作のクライアントから clamd.scan に接続し、コマンドを発行する。
# chmod a+x /var/run/clamd.scan         ←最初に一回これをやっておくと clamscan 以外のユーザーがソケットをオープンできる。
$ man clamd
でプロトコルの詳しい解説が見られる。
PHP によるクライアントのサンプルコード

不出世のプログラマー(不世出のプログラマーではない)
日本喫煙者党総裁
日本ガラケー保存会会長
花巻蕎麦振興会理事
板麩エヴァンジェリスト
巻き爪評論家
ダイエット(リバウンド)評論家
リバウンド王

— 山田喜三郎 (@kisaburo_y) 2016, 2月 10