2016年4月8日金曜日

CentOS7にClamdを入れてもウイルス検知しない。

研究室のサーバーを新しく作ることになって、CentOS7でやってます。
CentOS7にした理由は、講義で触ったことがあるからです。
Clam Anti Virus(clamav)は有名なアンチウイルスソフトで、yumでインストールできます。
今回はclamavを導入しようとして問題が起きたことを書きます。

下調べ

  1. 基本はアンチウィルスソフト導入を見ながら構築
  2. RPMforgeは導入済み(RPMforgeリポジトリ導入CentOS7にサードパーティリポジトリの追加を見ながら)
  3. 本家Clamavのドキュメントを見ながら

やったこと

まず、RPMforgeリポジトリを入れるところから。
yum-plugin-prioritiesを入れて、これから追加するリポジトリに対してpriority(使用する優先度)をつけていく。これでリポジトリの中身が競合しないはず。

yum -y install yum-plugin-priorities
vi /etc/yum.repos.d/CentOS-Base.repo (標準リポジトリ設定ファイルを編集)
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1 ← 追加
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1 ← 追加
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1 ← 追加

そして、RPMforgeを追加する。
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm -ivh rpmforge-release-*.rpm
rm -f rpmforge-release-*.rpm
yum -y update rpmforge-release
view raw gistfile1.txt hosted with ❤ by GitHub
ついでに、epelリポジトリとremiリポジトリも追加する。
#epelリポジトリ追加
yum -y install epel-release
vi /etc/yum.repos.d/epel.repo (enabled=0にする)
#remiリポジトリ追加
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
vi /etc/yum.repos.d/remi.repo (enabled=0を確認)
view raw gistfile1.txt hosted with ❤ by GitHub
この3つのリポジトリを使うためには--enablerepoオプションを明示しておく必要があります。ただ、僕はその方が間違って他のリポジトリからインストールしないと思うので、明示的にしました。

ここからが本番。

clamavを導入します。
yum -y install clamd
vi /etc/clamd.conf
User clamav
#User clamav ← 行頭に#を追加(root権限で動作するようにする
clamdソケットファイル格納ディレクトリ自動生成設定ファイル作成
vi /etc/tmpfiles.d/clamd.conf
d /var/run/clamav 0755 root root -
自動起動設定
systemctl start clamd
systemctl enable clamd
ウイルス定義ファイルの更新機能を有効にする
sed -i 's/^Example/#Example/g' /etc/freshclam.conf
ウイルス定義ファイルの最新化
freshclam
これで、/etc/cron.daily/freshclamが毎日自動で行われる。
view raw gistfile1.txt hosted with ❤ by GitHub
ちょっと雑になってきた...。

問題点

clamavをインストールしたからには、ウイルスを検知するはず。テストウイルスを用いた検知を行ってみます。
clamscan --infected --remove --recursive
----------- SCAN SUMMARY -----------
Known viruses: 116966
Engine version: 0.90.2
Scanned directories: 5
Scanned files: 35
Infected files: 0 
Data scanned: 0.24 MB
Time: 31.298 sec (0 m 31 s)
view raw gistfile1.txt hosted with ❤ by GitHub
これは当然の結果。 次は、ウイルスのある状態です。eicar.comというテストウイルスを使います。
まずは、ウイルスがない状態で。
wget http://www.eicar.org/download/eicar.com
clamscan --infected --remove --recursive
----------- SCAN SUMMARY -----------
Known viruses: 116966
Engine version: 0.90.2
Scanned directories: 5
Scanned files: 35
Infected files: 0 
Data scanned: 0.24 MB
Time: 31.298 sec (0 m 31 s)
(注意:この結果はコピペですが、実際に反応しませんでした。)
view raw gistfile1.txt hosted with ❤ by GitHub
あ、あれ??
なんで反応しないんだろう?単体でテストしても引っかかりません。あるぇー?
ここでこの問題の原因を予想します。

  1. もしかしたら方法が間違ってる?
  2. もしかしたら学科にUTMがあるから?
  3. もしかしたらバージョンが古い?

結果

1について、
友人に検証してもらった結果、できませんでした。

2について、
友人の環境で同じ方法で検証してもらいましたが、できませんでした。

3について、
調べた結果、バージョンが少しだけ古いですね。
というのも、最近RPMforgeリポジトリはメンテされてないらしいんです。
でも、epelを使ってもできないからな〜。

0 件のコメント:

コメントを投稿