- 2011年8月21日 23:18
- Linux -リナックス-
【こちらの記事は、約10分程でお読みいただけます。】
ITブログを見てくださっている皆さん、こんばんは!
皆さんは、ウイルス・セキュリティ対策、しっかり行っていますか??
本日は、LinuxというOSのセキュリティについてです。
実は、昔Linuxは、クライアントにあまり利用されないため、
ウィルス等の影響が受けにくい、とされていました。
最近でも、そうなのでしょうか??どうなのか気になり、調べてみる事に。
すると、雑誌の記事やWebサイトで、下記のような書き込みを見つけました。
「Windowsをターゲットにしたウィルスの定義ファイルは、
数10分から2時間という非常に短いサイクルで、
日々発生しては更新されている。
これらのウィルスがLinuxに被害をもたらすことはないようだが、
インターネットや外部メモリーが普及した現在、
Windowsとデータをやり取りする機会は増えている。
ウィルスに感染したファイルを受け取るリスクは、確実に高まっている。
知らない間にウィルス感染したファイルをメールに添付し、
Windowsユーザーに送信してしまう可能性は高い。
自分のパソコンに被害をもたらすことはなくても、
ネットワークや外部メモリーを通じて
被害が拡大してしまうのを防ぐ必要がある。」
という内容でした。
そこで、Linux版のアンチウィルスソフトの種類はどのくらいあるのか、
調べてみる事にしました。
自身でもインストールして試しに使ってみようと思いましたので、
無料版のウィルスソフトを絞り込んでみたところ、
代表的なソフトとして、4種類ありました。
・チェコ共和国のALWIL Software a.s.社が開発した
「avast! Linux Home Edition」
・オランダのAVG Technologies,N.V.社が開発した
「AVG Anti-Virus Free Edition 8.5 for Linux」
・オープンソースの
「ClamAntiVirus(ClamAV)」
・アイルランドのFrisk SoftWare International社が開発した
「F-PROT Antivirus for Linux Workstations」
です。
この各種ウィルスソフトは無料のため、
機能的にどうなのか調べたところ、
製品版に比べたら機能は少ないですが
実用していく上で十分な機能の提供がなされていました。
提供している内容としては、下記の機能です。
(ソフトにより、全て入っているわけでなく、各々提供していない機能もあります)
・ファイル操作のリアルタイム・スキャン
・送受信メールのリアルタイム・スキャン
・スキャンの定期実行
・定義ファイルの自動更新
・GUI
・デーモンの実装
以上の項目を比較してみて、私自身が試してみようと思ったのは、
オープンソースの「ClamAntiVirus(ClamAV)」でした。
理由としては、各種機能が手動設定になるものの、
拡張できる機能が多い点と
設定の自由度が一番高かった点からです。
以降より、導入してみた手順を紹介したいと思います。
【環境】
Linuxディストリビューション :CentOS5.6
フリーウィルスソフト :ClamAntiVirus(ClamAV)
【手順】
■rpmforgeリポジトリ のインストール
yum でインストールする際に、便利なパッケージが数多く配布されている
Dag RPM Repository を追加します。
(今回は、下記のサイトからダウンロードしました)
http://dag.wieers.com/rpm/packages/rpmforge-release/
rpmforge-release-0.5.2-2.el5.rf.i386.rpm
---------------------------------------------------------------
#rpm ?ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
---------------------------------------------------------------
■vi で直接ファイル編集して基本リポジトリのデフォルト無効化する場合
---------------------------------------------------------------
# vi /etc/yum.repos.d/rpmforge.repo
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0 ←※ enabled = 1になっている場合は、enabled = 0にする
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
---------------------------------------------------------------
■Clam AntiVirus インストール
(今回は、下記のサイトからダウンロードしました)
http://ftp.riken.jp/Linux/dag/redhat/el5/en/i386/dag/RPMS/
# rpm -ivh clamav-0.97-1-1.el5.rf.i386.rpm clamav-db-0.97-1-1.el
5.rf.i386.rpm
clamav-daemonインストール
---------------------------------------------------------------
# yum -y --enablerepo=rpmforge install clamd
---------------------------------------------------------------
■Clam AntiVirus 設定
設定ファイルをバックアップ
---------------------------------------------------------------
# cp -a /etc/clamd.conf /etc/clamd.conf.bkup
---------------------------------------------------------------
clamd 設定ファイル編集
---------------------------------------------------------------
# vi /etc/clamd.conf
User clamav
↓※root権限で動作するように変更する
#User clamav
---------------------------------------------------------------
設定ファイルをバックアップ
---------------------------------------------------------------
# cp -a /etc/freshclam.conf /etc/freshclam.conf.bkup
---------------------------------------------------------------
ウィルスデータベース更新設定ファイル編集
---------------------------------------------------------------
# vi /etc/freshclam.conf
# Uncomment the following line and replace XY with your country
# code. See http://www.iana.org/cctld/cctld-whois.htm for the
full list.
#DatabaseMirror db.XY.clamav.net
DatabaseMirror db.jp.clamav.net
↑※ウィルスデータベース取得元を日本に変更
---------------------------------------------------------------
■Clam AntiVirus 起動
clamd 起動
---------------------------------------------------------------
# /etc/rc.d/init.d/clamd start
Starting Clam AntiVirus Daemon: Bytecode: Security mode set to
"TrustSigned".
LibClamAV Warning: ********************************************
******
LibClamAV Warning: *** The virus database is older than 7 days!
***
LibClamAV Warning: *** Please update it as soon as possible.
***
LibClamAV Warning: ********************************************
******
[ OK ]
---------------------------------------------------------------
clamd 自動起動設定確認
---------------------------------------------------------------
# chkconfig --list clamd
clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
---------------------------------------------------------------
■Clam AntiVirus のウィルス定義ファイル最新化
ウィルス定義ファイル最新化
---------------------------------------------------------------
# freshclam
ClamAV update process started at Thu Jul 7 02:20:20 2011
main.cvd is up to date (version: 53, sigs: 846214, f-level: 53,
builder: sven)
WARNING: getfile: daily-13172.cdiff not found on remote server
(IP: 203.212.42.128)
WARNING: getpatch: Can't download daily-13172.cdiff from db.jp.
clamav.net
WARNING: getfile: daily-13172.cdiff not found on remote server
(IP: 211.10.155.48)
WARNING: getpatch: Can't download daily-13172.cdiff from db.jp.
clamav.net
WARNING: getfile: daily-13172.cdiff not found on remote server
(IP: 218.44.253.75)
WARNING: getpatch: Can't download daily-13172.cdiff from db.jp.
clamav.net
WARNING: Incremental update failed, trying to download daily.
cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 13287, sigs: 138771, f-level: 60,
builder: ccordes)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 143, sigs: 40, f-level: 60, build
er: edwin)
Database updated (985025 signatures) from db.jp.clamav.net (IP:
27.96.54.66)
Clamd successfully notified about the update.
---------------------------------------------------------------
■ウィルスチェック
ウィルス検出無し
---------------------------------------------------------------
# clamscan --infected --remove --recursive
----------- SCAN SUMMARY -----------
Known viruses: 283581
Engine version: 0.93
Scanned directories: 307
Scanned files: 1131
Infected files: 0
↑※Infected filesが0ならば、ウィルスは検出されなかった事を表す
Data scanned: 57.61 MB
Time: 40.507 sec (0 m 40 s)
---------------------------------------------------------------
ウィルス検出有りの状態確認テスト
---------------------------------------------------------------
無害なテスト用ウィルスを/tmp/virus/ディレクトリにダウンロード
# wget -P /tmp/virus/ http://www.eicar.org/download/eicar.com
# wget -P /tmp/virus/ http://www.eicar.org/download/
eicar.com.txt
# wget -P /tmp/virus/ http://www.eicar.org/download/
eicar_com.zip
# wget -P /tmp/virus/ http://www.eicar.org/download/
eicarcom2.zip
/home/user/パス以下をチェックし、確認
---------------------------------------------------------------
# clamscan --infected --remove --recursive /tmp/virus/
/tmp/virus/eicar_com.zip: Eicar-Test-Signature FOUND
↑■ ウィルス検出
/tmp/virus/eicar_com.zip: Removed
↑■ ウィルス削除
/tmp/virus/eicarcom2.zip: Eicar-Test-Signature FOUND
↑■ ウィルス検出
/tmp/virus/eicarcom2.zip: Removed
↑■ ウィルス削除
/tmp/virus/eicar.com: Eicar-Test-Signature FOUND
↑■ ウィルス検出
/tmp/virus/eicar.com: Removed
↑■ ウィルス削除
/tmp/virus/eicar.com.txt: Eicar-Test-Signature FOUND
↑■ ウィルス検出
/tmp/virus/eicar.com.txt: Removed
↑■ ウィルス削除
----------- SCAN SUMMARY -----------
Known viruses: 283581
Engine version: 0.93
Scanned directories: 20
Scanned files: 1619
Infected files: 4
↑■ Infected filesが4ならば、4個のウィルスが検出された事を表す
Data scanned: 45.09 MB
Time: 48.287 sec (0 m 48 s)
---------------------------------------------------------------
■ウィルススキャン 定期自動実行
---------------------------------------------------------------
# mkdir -m 750 clamd ←■ ディレクトリ作成
---------------------------------------------------------------
ウィルススキャン実行スクリプト作成
---------------------------------------------------------------
# vi /root/clamd/clamscan
#!/bin/bash
PATH=/usr/bin:/bin
# clamd update
yum -y --enablerepo=rpmforge update clamd > /dev/null 2>&1
# excludeopt setup
excludelist=/root/clamd/clamscan.exclude
if [ -s $excludelist ]; then
for i in `cat $excludelist`
do
if [ $(echo "$i"|grep \/$) ]; then
i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
excludeopt="${excludeopt} --exclude-dir=$i"
else
excludeopt="${excludeopt} --exclude=$i"
fi
done
fi
# signature update
freshclam > /dev/null
# virus scan
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP
2>&1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
# report mail send
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`"
root rm -f $CLAMSCANTMP
----------------------------------------------------------------
ウィルススキャン実行スクリプトへ実行権限付加
---------------------------------------------------------------
# chmod +x /root/clamd/clamscan
---------------------------------------------------------------
■ウィルススキャン対象外ディレクトリ設定
---------------------------------------------------------------
# vi /root/clamd/clamscan.exclude
/proc/ ←※/proc を対象外にする場合の例
/sys/ ←※/sys を対象外にする場合の例
※ ディレクトリを指定する場合は、必ず末尾に / を付けること
---------------------------------------------------------------
■定期的に実行するcrondの設定
---------------------------------------------------------------
# crontab -e
0 1 * * * /root/clamd/clamscan ←※毎日の1時に実行する
---------------------------------------------------------------
■GUIツール
ClamAVは、デフォルトではCUIのみなので、
GUIによる設定が可能なツールとして「ClamTK」と「KlamAV」があります。
2種類のツールを比べると、機能が豊富なのはKlamAVの方みたいです。
しかし、KlamAVのパッケージは、
GUI環境がKDEに対応したパッケージしか公開されておらず、
利用するときはKDEにする必要があるそうです。
よって、今回はClamTKをインストールする事にしました。
ClamTKは最新版の方が日本語対応しているという事で、
必要なパッケージ等もあると考えたため、
最初はyumコマンドを使用してインストールしました。
インストールしてみると、
その他関係があるperlパッケージと同時にインストールされます。
しかし最新版では無かったので、英語表示になっていました。
そこでさらに、最新版を探してダウンロードし、
アップデートを行ったら、日本対応になりました。
どうやら、最新版が日本語対応になっているそうです。
ClamTK用のリポジトリ設定
----------------------------------------------------------------
# vi /etc/yum.repos.d/rpmforge.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=
http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
enabled=1
gpgcheck=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
----------------------------------------------------------------
ClamTKインストール
----------------------------------------------------------------
# yum install clamtk ← ※19個のパッケージをインストール
します。
----------------------------------------------------------------
ClamTKアップグレード
下記のサイトから、最新版をダウンロードする
http://sourceforge.jp/projects/sfnet_clamtk/releases/
----------------------------------------------------------------
# rpm ?Uvh clamtk-4.33.1.el5.noarch.rpm
----------------------------------------------------------------
インストールが終了したら、下記の手順でGUIツールを起動します。
「アプリケーション」→「アクセサリ」→「ClamTK」
「ClamTK」をクリックすると、下記のGUIツール画面が起動します。

デフォルト設定は、ホームディレクトリのスキャンが推奨されていますが、
コンピュータ全体のスキャン設定も、GUIツールなら簡単に出来ます。
「拡張」タブ→「スケジュール」でスケジュールダイアログボックスが開くので、
「スキャン設定」から「コンピュータ全体」にチェックし、「スキャンする時間」を指定して、
「+」ボタンから「-」ボタンをクリックして設定します(下記の図参照)。

下記のコマンドを、実行するとcronの設定が確認できます。
----------------------------------------------------------------
# vi crontab -e
5 2 * * * /usr/bin/clamscan --detect-pua -i -r / --exclude-dir=
/proc --exclude-dir=/sys --exclude-dir=/dev --exclude-dir=/root
/.clamtk/viruses --log=$HOME/.clamtk/history/$(date +\%b-\%d-\%Y
).log 2>/dev/null # clamtk-scan
----------------------------------------------------------------
以上がClamAVの設定準備手順になります。
今日は専門的なお話となってしまいましたが、
実際Linuxを使用している皆さんには、ぜひおススメしたいソフトです^^
その他にも、機能がありますので、
色々試してみてくださいね♪^^
--------------------------------------------------------------------------------
Linuxの設定方法を学習したいあなたへ、
プロが教えるKENスクールで、一からチャレンジしませんか??
⇒【ネットワーク Linux講座一覧】
WebサーバやメールサーバではLinuxが50%以上に
シェアを伸ばしている一方で、情報管理者の63.5%が
「Linuxを管理できる人員が不足している」と感じています。
今、この機会にLinuxを覚えておけば、就転職のニーズが
あること間違いなし!ぜひ学習していきましょう!
23
本日の更新者:
パソコンスクール KENスクール Networkコース
インストラクター 鷲尾
- 次の記事へ: HTML5の新機能 - video要素 -
- 前の記事へ: プログラミング言語「BASIC」とプチコン
