有村日記

日常感じたこと、気がついたこと、思ったことを記録

SELinuxをEnforcingにした「Clam AntiVirus」の設定

2009-01-12 13:34:32 | Linux
参照サイト:CentOS で構築する自宅サーバ
OS:CentOS 5.2

1 yumにRPMforgeリポジトリを追加


[root@host1 ~]# wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

[root@host1 ~]# rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm


デフォルトでは有効にならないように設定ファイルを修正


[root@host1 ~]# vi /etc/yum.repos.d/rpmforge.repo

enabled = 1
    ↓
enabled = 0           ←デフォルトでは有効にしない

RPM の署名を検証するためのキーを導入


[root@host1 ~]# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

[root@host1 ~]# rpm --import RPM-GPG-KEY.dag.txt


2 ウィルス対策ソフト「ClamAV」の導入


ClamAV の取得とインストール


[root@host1 ~]# yum -y --enablerepo=rpmforge install clamd


ClamAV の設定


ウィルスデータベースを格納するディレクトリのコンテキストの設定(SELinux を有効)


[root@host1 ~]# chcon -R system_u:object_r:clamd_var_lib_t /var/clamav


設定ファイルを変更


[root@host1 ~]# vi  /etc/clamd.conf

LocalSocket /tmp/clamd.socket
    ↓
LocalSocket /var/run/clamav/clamd.socket


clamd を起動し、自動的に起動するように設定


[root@host1 ~]# /etc/init.d/clamd start

[root@host1 ~]# chkconfig clamd on


《8 ウィルススキャン定期自動実行設定》へ





本記事は一時保留(再作業した場合、失敗した。再確認する。)

Clamavのインストール(CentOS5.2)



本記事は上記サイトを参照し、編集したもので、オペレーションはすべてroot権限で実行する。


1 RPMforgeリポジトリ導入(RPMforge)


(1) yum-prioritiesインストール


yum -y install yum-priorities

(2) 標準リポジトリ設定ファイル編集


vi /etc/yum.repos.d/CentOS-Base.repo

[base],[updates],[addons],[extras]のそれぞれ最後にpriority=1を追記.


2 RPMforgeリポジトリ導入


(1) RPMforgeのGPGキーインストール


rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

(2) RPMforgeリポジトリインストール


rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

3 Clam AntiVirusインストール


(1) Clam AntiVirusインストール


yum -y install clamd

4 Clam AntiVirus設定


(1) clamd設定ファイル編集


vi /etc/clamd.conf

(2) root権限で動作するようにする


  User clamav
  ↓
  #User clamav

5 SELinuxの調整


(1) SElinux無効化


setenforce 0

(2) SElinux状態確認


getenforce

(3) audit2allowによるログ取得


audit2allow -i /var/log/audit/audit.log

(4) clamdに関連したアクセス許可を与えるポリシー内容


audit2allow -i /var/log/audit/audit.log -m clamd

(5) ポリシー作成


audit2allow -i /var/log/audit/audit.log -l -M clamd

(6) 仕上げ


semodule -i clamd.pp

(7) SElinux有効化


setenforce 1

6 clamdの設定


(1) clamd起動


/etc/rc.d/init.d/clamd restart

(2) clamd自動起動設定


chkconfig clamd on

(3) clamd自動起動設定確認


chkconfig --list clamd

(4) ウィルス定義ファイル更新機能の有効化


sed -i 's/Example/#Example/g' /etc/freshclam.conf

(5) ウィルス定義ファイル最新化


freshclam

7 ウィルススキャンテスト


(1) テスト用ウィルスをダウンロード


  • wget http://www.eicar.org/download/eicar.com
  • wget http://www.eicar.org/download/eicar.com.txt
  • wget http://www.eicar.org/download/eicar_com.zip
  • wget http://www.eicar.org/download/eicarcom2.zip

(2) clamscanを実行


clamscan --infected --remove --recursive

8 ウィルススキャン定期自動実行設定


(1) ウィルススキャン実行スクリプト作成


ファイル名 clamscan


vi clamscan

#!/bin/bash

PATH=/usr/bin:/bin

# clamd update
  yum -y update clamd > /dev/null 2>&1
# excludeopt setup
  excludelist=/root/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

(2) ウィルススキャン実行スクリプトへ実行権限付加


chmod +x clamscan

(3) ウィルススキャン実行スクリプトを毎日自動実行されるディレクトリへ移動


mv clamscan /etc/cron.daily/

最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
audit2allowの使い方が参考になりました (ごらくる)
2009-03-05 17:48:19
始めまして。 ごらくるといいます。

CentOSでSELinuxのポリシーの変更に関する情報が少なくて困っておりました。
記事の趣旨とは違いますが大変参考になったのでTBをさせていただきました。

ありがとうございました

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。