Fedora 22
Sponsored Link

Squid + SquidClamav
2015/06/01
 
Squid と Clamav を連携させて Webブラウジング時のダウンロードファイルをリアルタイムスキャンできるように設定します。
[1]
[2] Clamav Server をインストールします。
[root@prox ~]#
dnf -y install clamav-server clamav-server-systemd
[root@prox ~]#
cp /usr/share/doc/clamav-server*/clamd.conf /etc/clamd.d/squid.conf

[root@prox ~]#
vi /etc/clamd.d/squid.conf
# 8行目:コメントにする

#
Example
# 14行目:コメント解除し変更

LogFile
/var/log/clamd.squid
# 66行目:コメント解除し変更

PidFile
/var/run/clamd.squid/clamd.pid
# 70行目:コメント解除

TemporaryDirectory /var/tmp
# 85行目:コメント解除し変更

LocalSocket
/var/run/clamd.squid/clamd.sock
# 101行目:コメント解除

TCPSocket 3310
# 195行目:変更

User
squidclamav
[root@prox ~]#
useradd -d /var/tmp -M -s /sbin/nologin squidclamav

[root@prox ~]#
mkdir /var/run/clamd.squid

[root@prox ~]#
chown squidclamav. /var/run/clamd.squid

[root@prox ~]#
cp /usr/share/doc/clamav-server*/clamd.sysconfig /etc/sysconfig/clamd.squid

[root@prox ~]#
vi /etc/sysconfig/clamd.squid
# 1, 2行目:コメント解除し変更

CLAMD_CONFIGFILE=/etc/clamd.d/
squid.conf

CLAMD_SOCKET=/var/run/
clamd.squid
/clamd.sock
[root@prox ~]#
vi /etc/tmpfiles.d/clamd.squid.conf
# 新規作成

d /var/run/clamd.squid 0755 squidclamav squidclamav -
[root@prox ~]#
vi /usr/lib/systemd/system/clamd@.service
# 最終行に追記

[Install]
WantedBy=multi-user.target
[root@prox ~]#
touch /var/log/clamd.squid

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

[root@prox ~]#
chmod 600 /var/log/clamd.squid

[root@prox ~]#
systemctl start clamd@squid

[root@prox ~]#
systemctl enable clamd@squid

[3] c-icap をインストールします。
[root@prox ~]#
dnf -y install gcc make

[root@prox ~]#
curl -L -O http://downloads.sourceforge.net/project/c-icap/c-icap/0.3.x/c_icap-0.3.5.tar.gz
[root@prox ~]#
tar zxvf c_icap-0.3.5.tar.gz

[root@prox ~]#
cd c_icap-0.3.5

[root@prox c_icap-0.3.5]#
./configure

[root@prox c_icap-0.3.5]#
[root@prox c_icap-0.3.5]#
make install

[root@prox c_icap-0.3.5]#
[root@prox ~]#
cp /usr/local/etc/c-icap.conf /etc

[root@prox ~]#
vi /etc/c-icap.conf
# 140行目:管理者アドレス変更

ServerAdmin
root@srv.world
# 149行目:サーバー名変更

ServerName
prox.srv.world
# 517行目:追記

Service squidclamav squidclamav.so
[root@prox ~]#
vi /etc/tmpfiles.d/c-icap.conf
# 新規作成

d /var/run/c-icap 0755 root root -
[root@prox ~]#
vi /usr/lib/systemd/system/c-icap.service
# 新規作成

[Unit]
Description=c-icap service
After=network.target

[Service]
Type=forking
PIDFile=/var/run/c-icap/c-icap.pid
ExecStart=/usr/local/bin/c-icap -f /etc/c-icap.conf
KillMode=process

[Install]
WantedBy=multi-user.target
[4] SquidClamav をインストールします。 ( 下記サイトで最新のものを確認してダウンロードしてください )
http://sourceforge.net/projects/squidclamav/files/squidclamav/
[root@prox ~]#
curl -L -O http://downloads.sourceforge.net/project/squidclamav/squidclamav/6.13/squidclamav-6.13.tar.gz

[root@prox ~]#
tar zxvf squidclamav-6.13.tar.gz

[root@prox ~]#
cd squidclamav-6.13

[root@prox squidclamav-6.13]#
./configure --with-c-icap

[root@prox squidclamav-6.13]#
[root@prox squidclamav-6.13]#
make install

[root@prox squidclamav-6.13]#
[root@prox ~]#
ln -s /usr/local/etc/squidclamav.conf /etc/squidclamav.conf

[root@prox ~]#
vi /etc/squidclamav.conf
# 18行目:変更( リダイレクト先URL(あらかじめ適当なものを作っておく )

redirect
http://www.srv.world/error.html
# 27行目:変更( clamdの設定とあわせる )

clamd_local
/var/run/clamd.squid/clamd.sock
[5] Squid の設定です。
[root@prox ~]#
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
[root@prox ~]#
systemctl start c-icap

[root@prox ~]#
systemctl enable c-icap

[root@prox ~]#
systemctl restart squid

[6] 以上で設定完了です。
動作確認として、クライアントPC から Web ブラウザで以下のテストウィルスが置いてあるページにアクセスして、
http://eicar.org/85-0-Download.html
「eicar.com」をクリックし、テストウィルスのダウンロードを試みて、設定したリダイレクト先 URL にリダイレクトされることを確認してください。
 
Tweet