| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
ウィルス対策として、「Clam AV」を導入する。
なお、ここではバージョンが0.88である。
0.92.1の場合、こちらを参照。
「Clam AV」用ユーザの作成
「Clam AV」用のユーザを作成する。
Solaris# groupadd -g 3310 clamav Solaris# useradd -u 3310 -g clamav -d /bin/false -s /bin/false clamav |
「Clam AV」のインストール
「Clam AV」のソースファイルをダウンロードし、インストールする。
Solaris# mkdir /usr/local/src/clamav <= 作業用ディレクトリの作成 Solaris# chmod 777 /usr/local/src/clamav <= 作業用ディレクトリのパーミッション変更 Solaris# exit <= 一般ユーザになる Solaris% cd /usr/local/src/clamav <= 作業用ディレクトリへ移動 Solaris% wget http://jaist.dl.sourceforge.net/sourceforge/clamav/clamav-0.88.tar.gz <= 「Clam AV」のソースをダウンロード Solaris% gunzip -c clamav-0.88.tar.gz | tar xf - <= ダウンロードしたファイルの展開 Solaris% cd clamav-0.88 <= 展開したディレクトリに移動 Solaris% ./configure |& tee configure.log Solaris% gmake |& tee make.log <= コンパイル Solaris% su <= スーパーユーザになる Password: <= パスワードの入力 Solaris# gmake install |& tee make-install.log <= インストール |
なお、ウィルス定義ファイルを更新する「freshclam」も同時にインストールされる。
「Clam AV」の設定
Solaris# vi /usr/local/etc/clamd.conf <= 設定ファイルの編集 Example ↓ #Example <= コメントアウト #LogFile /tmp/clamd.log ↓ LogFile /var/log/clamd.log <= ログファイルを指定 #LogTime ↓ LogTime <= ログファイルに日付と時間を加える #PidFile /var/run/clamd.pid ↓ PidFile /var/run/clamav/clamd.pid <= PIDファイルを指定 |
PIDファイルとSocketファイル格納する為のディレクトリを作成し、オーナを変更する。
Solaris# mkdir /var/run/clamav Solaris# chown clamav:clamav /var/run/clamav |
「freshclam」の設定
Solaris# vi /usr/local/etc/freshclam.conf <= 設定ファイルの編集 Example ↓ #Example <= コメントアウト #UpdateLogFile /var/log/freshclam.log ↓ UpdateLogFile /var/log/freshclam.log <= コメント解除 #LogTime ↓ LogTime <= ログファイルに日付と時間を加える #PidFile /var/run/freshclam.pid ↓ PidFile /var/run/clamav/freshclam.pid <= PIDファイルを指定 |
ログファイルを作成し、パーミッションとオーナを変更する。
Solaris# touch /var/log/freshclam.log <= ログファイルの作成 Solaris# chmod 644 /var/log/freshclam.log <= ログファイルのパーミッションを変更 Solaris# chown clamav:clamav /var/log/freshclam.log <= ログファイルのオーナの変更 |
デーモンとして起動する場合、それぞれを起動する。
なお、デーモンとして起動しない場合、これらの作業は必要ない。
「Clam AV」の起動
Solaris# clamd <= 「Clam AV」の起動 |
「freshclam」の起動
Solaris# freshclam -d -c 12 <= 「freshclam」の起動 |
「Clam AV」+「freshclam」の自動起動
それぞれの起動スクリプトを作成し、Solaris起動時に自動的に起動するようにする。
「Clam AV」の起動スクリプト
Solaris# vi /etc/init.d/clamav <= 「Clam AV」の起動スクリプトの作成
#!/sbin/sh
MKDIR='/usr/bin/mkdir'
CHOWN='/usr/bin/chown'
CLAMD='/usr/local/sbin/clamd'
PID=`/usr/bin/ps -aef | /usr/bin/grep clamd | /usr/bin/grep -v grep | /usr/bin/awk '{print $2}'`
PIDDIR='/var/run/clamav'
case "$1" in
'start')
if [ -f $CLAMD ]; then
if [ $PID ]; then
echo "ClamAV has started"
else
if [ ! -d $PIDDIR ]; then
$MKDIR -p $PIDDIR
$CHOWN clamav:clamav $PIDDIR
fi
$CLAMD
echo "Running: ClamAV"
fi
else
echo "ClamAV is not installed"
fi
;;
'stop')
if [ $PID ]; then
kill -KILL `cat /var/run/clamav/clamd.pid`
echo "Stopping: ClamAV"
else
echo "ClamAV has stopped"
fi
;;
'restart')
$0 stop
sleep 3
$0 start
;;
'status')
if [ $PID ]; then
echo "ClamAV starts"
else
echo "ClamAV stopped"
fi
;;
*)
echo "Usage: $0 { start | stop | restart | status }"
exit 1
;;
esac
exit 0
Solaris# chmod 744 /etc/init.d/clamav <= 起動スクリプトファイルに実行権限付加
Solaris# ln /etc/init.d/clamav /etc/rc2.d/S99clamav <= ランレベル2で起動する
Solaris# ln /etc/init.d/clamav /etc/rc3.d/S99clamav <= ランレベル3で起動する
Solaris# ln /etc/init.d/clamav /etc/rc0.d/K99clamav <= ランレベル0で停止する
|
「freshclam」の起動スクリプト
Solaris# vi /etc/init.d/freshclam <= 「freshclam」の起動スクリプトの作成
#!/sbin/sh
MKDIR='/usr/bin/mkdir'
CHOWN='/usr/bin/chown'
PIDDIR='/var/run/clamav'
PID='/var/run/clamav/freshclam.pid'
case "$1" in
'start')
if [ -f /usr/local/bin/freshclam ]; then
if [ -f $PID ]; then
echo "freshclam has started"
else
if [ ! -d $PIDDIR ]; then
$MKDIR -p $PIDDIR
$CHOWN clamav:clamav $PIDDIR
fi
/usr/local/bin/freshclam -d -c 12
echo "Running: freshclam"
fi
fi
;;
'stop')
if [ -f $PID ]; then
kill -KILL `cat $PID`
echo "Stopping: freshclam"
else
echo "freshclam has stopped"
fi
;;
'restart')
$0 stop
sleep 3
$0 start
;;
'status')
if [ -f $PID ]; then
echo "freshclam starts"
else
echo "freshclam stopped"
fi
;;
*)
echo "Usage: $0 { start | stop | restart | status }"
exit 1
;;
esac
exit 0
Solaris# chmod 744 /etc/init.d/freshclam <= 起動スクリプトファイルに実行権限付加
Solaris# ln /etc/init.d/freshclam /etc/rc2.d/S90freshclam <= ランレベル2で起動する
Solaris# ln /etc/init.d/freshclam /etc/rc3.d/S90freshclam <= ランレベル3で起動する
Solaris# ln /etc/init.d/freshclam /etc/rc0.d/K90freshclam <= ランレベル0で停止する
|
「freshclam」の実行
ウィルスの定義を最新にする為、まず「freshclam」を実行する。
Solaris# /usr/local/bin/freshclam <= 「freshclam」の実行 |
ウィルス格納用ディレクトリの作成
ウィルスを発見した場合、いきなり削除せず、別のディレクトリに移動する場合、移動させるディレクトリを作成する。
なお、ウィルス発見と同時に削除する場合、ディレクトリを作成する必要はない。
Solaris# mkdir -p /var/clamav/virus <= ウィルス格納用ディレクトリの作成 Solaris# chown -R clamav:clamav /var/clamav <= オーナの変更 |
「Clam AV」の実行
「Clam AV」をデーモンとして動作させていない場合
Solaris# clamscan -i --move=/var/clamav/virus -r / <= 全ファイルのスキャン |
ウィルス発見と同時に削除する場合、オプションの「-i --move=/var/clamav/virus」を「--remove」に変更する。
「Clam AV」をデーモンとして動作させている場合
「Clam AV」をデーモンとして動作させている場合、以下のコマンドによりウィルススキャンを行う。
この場合もウィルス発見と同時に削除する場合、オプションの「--move=/var/clamav/virus」を「--remove」に変更する。
Solaris# clamdscan --move=/var/clamav/virus / <= 全ファイルのスキャン |
ウィルス定義ファイルの自動更新と自動スキャン
Solaris# vi ~/clamav.sh <= ウィルス定義ファイルの自動更新のスクリプトの作成 #!/sbin/sh /usr/local/bin/freshclam > /var/log/clamav.log /usr/local/bin/clamscan -i --move=/var/clamav/virus -r / >> /var/log/clamav.log 2>&1 /usr/bin/grep "FOUND" /var/log/clamav.log Solaris# chmod 755 ~/clamav.sh <= 設定ファイルに実行権限付加 Solaris# crontab -e <= 設定ファイルの編集 00 4 * * * /root/clamav.sh <= 追加(毎日4:00に実施) |