参照サイト: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)
- (参照)RPMforgeリポジトリ導入(RPMforge) - CentOSで自宅サーバー構築
- (参照)[ SElinuxで権限を与える-その2] by Fedora奮戦記
- (参照)audit2allow
本記事は上記サイトを参照し、編集したもので、オペレーションはすべて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/
CentOSでSELinuxのポリシーの変更に関する情報が少なくて困っておりました。
記事の趣旨とは違いますが大変参考になったのでTBをさせていただきました。
ありがとうございました