Fedora 10
Sponsored Link

アンチウィルスとの連携2008/12/14

  clamav はインストール済みとして、 squid と clamav を連携させてWebブラウジング時のダウンロードファイルをリアルタイムスキャンできるようにします。 追加で clamd と squidclamav というソフトをインストールします。 clamav についてはこちらを参照してインストールしてください。 さらに追加で clamd というソフトも必要になるのでインストールしておきます。

[1] clamd インストール&設定
[root@lan ~]#
yum -y install clamav-server


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


# 以下の内容で新規作成

LogFile /var/log/clamav/clamd.log
LogFileMaxSize 0
LogTime yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/lib/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket yes
TCPSocket 3310
TCPAddr 127.0.0.1
MaxConnectionQueueLength 30
ReadTimeout 300
User clamav
AllowSupplementaryGroups yes
ScanPE yes
ScanELF yes
DetectBrokenExecutables yes
ScanOLE2 yes
ScanArchive yes


[root@lan ~]#
mkdir /var/run/clamav

[root@lan ~]#
chown clamav. /var/run/clamav

[root@lan ~]#
mkdir /var/log/clamav

[root@lan ~]#
chown clamav. /var/log/clamav

[root@lan ~]#
vi /etc/rc.d/init.d/clamd
 
# 起動スクリプト作成


# 以下の内容で新規作成

#!/bin/sh
#
# Startup script for the Clam AntiVirus Daemon
#
# chkconfig: 2345 61 39
# description: Clam AntiVirus Daemon is a TCP/IP or socket protocol
# server.
# processname: clamd
# pidfile: /var/run/clamav/clamd.pid
# config: /etc/clamav.conf

. /etc/rc.d/init.d/functions

. /etc/sysconfig/network

[ -x /usr/sbin/clamd ] || exit 0

case "$1" in
  start)
      echo -n "Starting Clam AntiVirus Daemon: "
      daemon clamd
      RETVAL=$?
      echo
      [ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamd
      ;;
  stop)
      echo -n "Stopping Clam AntiVirus Daemon: "
      killproc clamd
      rm -f /var/clamav/clamd.socket
      rm -f /var/run/clamav/clamav.pid
      RETVAL=$?
      echo

      [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/clamd
      ;;
  status)
      status clamd
      RETVAL=$?
      ;;
  restart|reload)
      $0 stop
      $0 start
      RETVAL=$?
      ;;
  condrestart)
      [ -e /var/lock/subsys/clamd ] && restart
      RETVAL=$?
      ;;
  *)
      echo "Usage: clamd {start|stop|status|restart|reload|condrestart}"
      exit 1
esac

exit $RETVAL


[root@lan ~]#
chmod 755 /etc/rc.d/init.d/clamd

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

Starting Clam AntiVirus Daemon:
[  OK  ]

[root@lan ~]#
chkconfig --add clamd

[root@lan ~]#
chkconfig clamd on
[2] squidclamav インストール
[root@lan ~]#
yum -y install curl-devel


[root@lan ~]#
wget http://www.samse.fr/GPL/squidclamav/squidclamav-3.8.tar.gz


[root@lan ~]#
tar zxvf squidclamav-3.8.tar.gz

[root@lan ~]#
cd squidclamav-3.8

[root@lan squidclamav-3.8]#
./configure

[root@lan squidclamav-3.8]#
[root@lan squidclamav-3.8]#
make install

[root@lan squidclamav-3.8]#
cp squidclamav.conf.dist /etc/squidclamav.conf

[root@lan squidclamav-3.8]#
[root@lan ~]#
vi /etc/squidclamav.conf


# 49行目より以降, 52行目を除く全行コメント解除

# 変更( Proxyアドレス )

proxy
http://127.0.0.1:8080/

# 変更( logファイル )

logfile
/var/log/squid/squidclamav.log

# 変更( リダイレクト先URL )

redirect
http://www.google.co.jp/

# squidguard /usr/local/squidGuard/bin/squidGuard
debug 0
force 1
stat 1
# 変更( clamdの設定とあわせる )

clamd_local
/var/run/clamav/clamd.sock

# 変更

clamd_ip
127.0.0.1

clamd_port 3310
timeout 60
abort ^.*\.gz$
abort ^.*\.bz2$
abort ^.*\.pdf$
abort ^.*\.js$
abort ^.*\.html$
abort ^.*\.css$
abort ^.*\.xml$
abort ^.*\.xsl$
abort ^.*\.js$
abort ^.*\.ico$
aborti ^.*\.gif$
aborti ^.*\.png$
aborti ^.*\.jpg$
aborti ^.*\.swf$
content ^.*application\/.*$
whitelist .*google\.com
[3] squid 設定
[root@lan ~]#
vi /etc/squid/squid.conf


# 639行目:コメント解除

http_access deny to_localhost

# 最終行に以下3行追記

url_rewrite_access deny localhost
redirect_program /usr/local/bin/squidclamav
redirect_children 15


[root@lan ~]#
touch /var/log/squid/squidclamav.log

[root@lan ~]#
chown squid. /var/log/squid/squidclamav.log

[root@lan ~]#
vi /etc/logrotate.d/squid


# テキトーに最終行にでも追記

/var/log/squid/squidclamav.log {
   weekly
   rotate 5
   copytruncate
   compress
   notifempty
   missingok
}


[root@lan ~]#
/etc/rc.d/init.d/squid restart

Stopping squid: .............
[  OK  ]

Starting squid: .
[  OK  ]
[4] 試しに以下のテストウィルスが置いてあるページにアクセスして、
http://www.eicar.org/anti_virus_test_file.htm
テキトーに「eicar.com」でもクリックして、テストウィルスのダウンロードを試みてみます。 すると、ここではたちまちグーグルにリダイレクトするように 設定したため、以下のような画面にリダイレクトされました。ちゃんと効いているようです。 グーグルへのリダイレクトはたちまちの設定で、リダイレクト先のページはきちんとしたものを 作成してウィルス検知をユーザーが分かるようにした方がよいでしょう。
 
関連コンテンツ