*** ClamAVの導入と設定 [#zf097b4d]
- ClamAVはオープンソースのウィルス検査ソフトです。このソフトを導入するとサーバ内のファイルの~
スキャンや、メールのスキャンにも使用することができます。ここでは、メールのスキャンに対応した~
ClamAVの導入と設定を行ってみたいと思います。~
あと有償のアンチ・ウィルスソフトとの比較ですが、比較的頻繁にパターンファイルの更新はされていますし~
導入しないよりは、全然良いかと思います。
: 前提条件 | COLOR(RED){''clamav''}パッケージがインストール((パーケッジの[[インストール方法>パーケッジのインストールの巻]]はこちらを参照))されていることが条件。~
パッケージの確認は、COLOR(RED){''rpm -q clamav''}コマンドで確認できるよ。~
*** 導入方法 [#cf354e24]
- ClamAV のパッケージ一式をインストールします。今回サーバタイプの clamd を起動するので、~
若干色々とインストールします。
yum install clamav clamav-server clamav-lib clamav-data clamav-update
- ウィルスデータベースを更新します。なんにも設定をしていないと下記のエラーが出ます。
# /usr/bin/freshclam
ERROR: Please edit the example config file /etc/freshclam.conf.
ERROR: Can't parse the config file /etc/clamd.conf
-- COLOR(RED){''/etc/clamd.conff''} ファイルをコピーする。
# cp /usr/share/doc/clamav-server-0.85.1/clamd.conf /etc/clamd.conf
-- COLOR(RED){''/etc/clamd.conf と /etc/freshclam.conf''} ファイルを編集する。~
''Example'' という箇所を見つけてコメントする。
# Comment or remove the line below.
# Example
-- ウィルスデータベースを更新します。今度はokなはず。
# /usr/bin/freshclam
- ウィルスデータベースを定期的に更新するように設定します。~
COLOR(RED){''/etc/cron.d/clamav-update''} が存在するので下記の様に修正します。下記は、毎日03:00に更新する設定です。
## It is ok to execute it as root; freshclam drops privileges and becomes
## user 'clamav' as soon as possible
## Note: replace 'MIN' and 'HOUR' with random values
0 3 * * * root /usr/bin/freshclam --quiet && { test -x /usr/sbin/clamav-notify-servers && exec /usr/sbin/clamav-notify-servers || :; }
*** ClamAV のデーモン化設定 [#n7d813b3]
- 起動用のスクリプトがないので自分で作成します。わたしは[[ここにに掲載>http://tsuttayo.sytes.net/postfix/clamav/]]されていたものを参考にしました。~
下記の内容を COLOR(RED){''/etc/init.d/clamd''} として保存してください。もちろん実行権をつけてね。
#!/bin/bash
# chkconfig: 345 80 20
# description: Clamd daemon
. /etc/init.d/functions
prog="/usr/sbin/clamd"
prog_base="$(basename ${prog})"
prog_config_file="/etc/clamd.conf"
RETVAL=0
case "$1" in
start)
action $"Starting ${prog_base}:" ${prog} -c ${prog_config_file}
RETVAL=$?
echo
;;
stop)
echo $"Shutting down ${prog_base}"
killproc ${prog_base}
RETVAL=$?
echo
;;
status)
status $"${prog_base}"
RETVAL=$?
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
reload)
pid=`pidofproc ${prog_base}`
kill -USR2 ${pid}
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload}"
exit 1
esac
exit $RETVAL
- 実行すると下記のエラーが表示されます。これはCOLOR(RED){''/etc/clamd.conff''}の設定が終わっていないからです。
# /etc/init.d/clamd start
Starting clamd: ERROR: Can't get information about user <USER>.
[失敗]
-- COLOR(RED){''/etc/clamd.conf''}を修正します。
LogFile /var/log/clamd.log # ログファイルの出力先を指定します
LocalSocket /var/run/clamd/clamd.sock # ソケットのファイルを指定します
PidFile /var/run/clamd/clamd.pid # 起動プロセスidを保存するファイルを指定します
#User <USER> # コメントにします
-- 上記のログファイルとかのディレクトリを作成します。
# mkdir /var/run/clamd/
- 設定が終わったら再度起動してみます。
# /etc/init.d/clamd start
Starting clamd: [ OK ]
- マシンが起動するときに自動起動するように設定します。
# /sbin/chkconfig --add clamd
# /sbin/chkconfig --list clamd
clamd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
*** ウィルス・スキャンのテスト [#x8dd44db]
- サーバ内にあるファイルがウィルスに感染していないかをテストすることができます。~
実験用の無害なウィルスがあるのでそのファイルをダウンロードしスキャンをかけてみることにします。
-- 実験用に無害なウィルスをダウンロードする。
# cd /tmp
# wget http://www.eicar.org/download/eicar.com
# ls eicar.com
-- ウィルスを見つけたら除去(削除)するようにしてみる。
# clamscan --infected --remove --recursive /tmp
/tmp/eicar.com: Eicar-Test-Signature FOUND
/tmp/eicar.com: Removed
----------- SCAN SUMMARY -----------
Known viruses: 36080
Engine version: 0.85.1
Scanned directories: 7
Scanned files: 14
Infected files: 1 ←みつかった!
Data scanned: 51.53 MB
Time: 57.997 sec (0 m 57 s)
-- COLOR(RED){''eicar.com''} ファイルが削除されていることを確認する。
# ls eicar.com
ls: eicar.com: そのようなファイルやディレクトリはありません
- オプションを変更することによって、ウィルスを見つけたら除去(削除)でなく~
ファイルを移動するだけとかもできます。あと定期チェックをしたいなら cron とかね。
*** 参考にさせて頂いたサイト様 [#ea326f64]