アンチウィルスとの連携2013/07/04 |
Clamavはインストール済みとして、
Squid と Clamav を連携させてWebブラウジング時のダウンロードファイルをリアルタイムスキャンできるようにします。
|
|
[1] | Clamd インストール |
[root@lan ~]#
[root@lan ~]# yum -y install clamav-server clamav-server-systemd clamav-server-sysvinit cp /usr/share/doc/clamav-server-*/clamd.conf /etc/clamd.d/squid.conf
[root@lan ~]#
vi /etc/clamd.d/squid.conf # 8行目:コメントにする # Example
# 14行目:コメント解除し変更 LogFile /var/log/clamd.squid
# 61行目:コメント解除し変更 PidFile /var/run/clamd.squid/clamd.pid
# 65行目:コメント解除 TemporaryDirectory /var/tmp # 80行目:コメント解除し変更 LocalSocket /var/run/clamd.squid/clamd.sock
# 96行目:コメント解除 TCPSocket 3310 # 189行目:変更 User squidclamav
useradd -d /var/tmp -s /sbin/nologin squidclamav useradd: warning: the home directory already exists. Not copying any file from skel directory into it. [root@lan ~]# mkdir /var/run/clamd.squid [root@lan ~]# chown squidclamav. /var/run/clamd.squid [root@lan ~]# cp /usr/share/doc/clamav-server-*/clamd.sysconfig /etc/sysconfig/clamd.squid
[root@lan ~]#
vi /etc/sysconfig/clamd.squid # 1, 2行目:コメント解除し変更 CLAMD_CONFIGFILE=/etc/clamd.d/ squid.conf CLAMD_SOCKET=/var/run/ clamd.squid /clamd.sock
[root@lan ~]#
vi /etc/tmpfiles.d/clamd.squid.conf # 新規作成 d /var/run/clamd.squid 0755 squidclamav squidclamav - cp /usr/share/doc/clamav-server-*/clamd.init /etc/rc.d/init.d/clamd.squid
[root@lan ~]#
vi /etc/rc.d/init.d/clamd.squid # 4行目:変更 # description: The clamd server running for Squid
# 6行目:変更 CLAMD_SERVICE= squid
chmod 755 /etc/rc.d/init.d/clamd.squid [root@lan ~]# touch /var/log/clamd.squid [root@lan ~]# chown squidclamav. /var/log/clamd.squid [root@lan ~]# chmod 600 /var/log/clamd.squid [root@lan ~]# systemctl start clamd.squid.service [root@lan ~]# chkconfig --add clamd.squid [root@lan ~]# chkconfig clamd.squid on |
[2] | c-icap インストール |
[root@lan ~]# wget http://ftp.jaist.ac.jp/pub/sourceforge/c/project/c-/c-icap/c-icap/0.2.x/c_icap-0.2.5.tar.gz [root@lan ~]# tar zxvf c_icap-0.2.5.tar.gz [root@lan ~]# cd c_icap-0.2.5 [root@lan c_icap-0.2.5]# ./configure
[root@lan c_icap-0.2.5]#
vi Makefile # 248行目:追記 LIBS = -lpthread
[root@lan c_icap-0.2.5]# make install [root@lan c_icap-0.2.5]# [root@lan ~]# cp /usr/local/etc/c-icap.conf /etc
[root@lan ~]#
vi /etc/c-icap.conf # 140行目:管理者アドレス変更 ServerAdmin root@srv.world
# 149行目:サーバー名変更 ServerName lan.srv.world
# 500行目:追記 Service squidclamav squidclamav.so
[root@lan ~]#
vi /etc/tmpfiles.d/c-icap.conf # 新規作成 d /var/run/c-icap 0755 root root -
[root@lan ~]#
vi /etc/rc.d/init.d/c-icap # 起動スクリプト作成 #!/bin/bash # c-icap: Start/Stop c-icap # chkconfig: - 70 30 # description: c-icap is an implementation of an ICAP server. # processname: c-icap # pidfile: /var/run/c-icap/c-icap.pid . /etc/rc.d/init.d/functions . /etc/sysconfig/network CONFIG_FILE=/etc/c-icap.conf PID_DIR=/var/run/c-icap RETVAL=0 start() { echo -n $"Starting c-icap: " daemon /usr/local/bin/c-icap -f $CONFIG_FILE RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/c-icap return $RETVAL } stop() { echo -n $"Stopping c-icap: " killproc c-icap rm -f /var/run/c-icap/c-icap.ctl RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $PID_DIR/c-icap.pid /var/lock/subsys/c-icap return $RETVAL } case "$1" in start) start ;; stop) stop ;; status) status c-icap ;; restart) stop start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac exit $? chmod 755 /etc/rc.d/init.d/c-icap |
[3] | Squidclamav インストール ( 下記サイトで最新のものを確認してwgetでダウンロードしてください ) http://sourceforge.net/projects/squidclamav/files/squidclamav/ |
[root@lan ~]# wget http://ftp.jaist.ac.jp/pub/sourceforge/s/project/sq/squidclamav/squidclamav/6.10/squidclamav-6.10.tar.gz [root@lan ~]# tar zxvf squidclamav-6.10.tar.gz [root@lan ~]# cd squidclamav-6.10 [root@lan squidclamav-6.10]# ./configure [root@lan squidclamav-6.10]# [root@lan squidclamav-6.10]# make install [root@lan squidclamav-6.10]#
[root@lan ~]#
vi /etc/squidclamav.conf # 17行目:変更( リダイレクト先URL(あらかじめ適当なものを作っておく ) redirect http://www.srv.world/error.html
# 26行目:変更( clamdの設定とあわせる ) clamd_local /var/run/clamd.squid/clamd.sock
systemctl start c-icap.service Starting c-icap: [ OK ] [root@lan ~]# chkconfig --add c-icap [root@lan ~]# chkconfig c-icap on |
[4] | Squid の設定 |
[root@lan ~]#
vi /etc/squid/squid.conf # 最終行に追記
icap_enable on
icap_send_client_ip on icap_send_client_username on icap_client_username_header X-Authenticated-User icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav adaptation_access service_req allow all icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav adaptation_access service_resp allow all systemctl restart squid.service |
[5] | 試しに以下のテストウィルスが置いてあるページにアクセスして、 http://www.eicar.org/85-0-Download.html テキトーに「eicar.com」でもクリックして、テストウィルスのダウンロードを試みてみて、 設定したリダイレクト先にリダイレクトされることを確認してください。 |
Sponsored Link |
|