使用squid+HAVP+ClamAV 建置防毒 HTTP Proxy

姜鹏程
2023-12-01
转载地址:http://blog.sina.com.cn/s/blog_538b299a010007q1.html
squid 2.6stable12 的安装
useradd squid
./configure --prefix=/opt/squid --enable-async-io=40 --enable-storeio="aufs,coss,diskd,ufs" --enable-useragent-log --enable-referer-log --enable-kill-parent-hack --enable-forward-log --enable-snmp --enable-cache-digests --enable-default-err-language=Simplify_Chinese --enable-poll --enable-removal-policies="heap,lru" --enable-large-cache-files --disable-internal-dns --enable-x-accelerator-vary --enable-follow-x-forwarded-for --with-large-files --disable-ident-lookups --enable-underscore --disable-arp-acl
make && make install
cd /opt/squid
mkdir cache1 cache1
chown -R squid.squid cache1 cache2 var
squid.conf的内容
http_port 3128
cache_mem 100 MB
cache_swap_low 75
cache_swap_high 98
emulate_httpd_log on
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h"
access_log /opt/web-squid/var/logs/access.log combined
redirect_rewrites_host_header off
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
cache_effective_user squid
cache_effective_group squid
cache_replacement_policy lru

cache_dir aufs /opt/web-squid/cache1 50 32 64
cache_dir aufs /opt/web-squid/cache2 50 32 64
cache_log /opt/web-squid/var/logs/cache.log
cache_store_log none
cache_swap_log /opt/web-squid/var/logs/swap.log
log_ip_on_direct on
pid_filename /opt/web-squid/var/logs/squid.pid
visible_hostname testwebsquid
logfile_rotate 5
+++++++++++++++++++++++++++
安� Clam AntiVirus
首先从http://www.clamav.net/下载clamav0.90包
wget http://aarnet.dl.sourceforge.net/project/clamav/clamav/0.96.3/clamav-0.96.3.tar.gz  #这个是官方最新的。
useradd clamav
注:安装过程中有可能会出现zlib版本不够的情况,请去http://www.zlib.net/下载最新的zlib进行安装
安装过程:
./configure
make
make install
安� HAVP
从http://www.server-side.de/download.htm下载
wget http://www.server-side.de/download/havp-0.92.tar.gz  #目前最新版
useradd havp
./configure
make
make install
chown -R havp.havp /var/log/havp /var/tmp/havp /var/run/havp
vi /usr/local/etc/havp/havp.config
                      ### 注释以下这行
                      #REMOVETHISLINE deleteme
                      ### ClamAV Library Scanner (libclamav) → 由 HAVP 直接取用 ClamAV 的病毒资料库
                      ENABLECLAMLIB true
                      CLAMDBDIR /var/lib/clamav
                      ### ClamAV Socket Scanner (clamd) → 交由 clamd 扫毒 (须先启动 clamd), 以上两者择一使用即可,我使用的上面那种模式)
                      ENABLECLAMD true
                      CLAMDSOCKET /tmp/clamd
                      其他效能相关的设定:
                      ### 理�上越多的�行�效能效能越好, 但仍需�伺服器�源而定
                      SERVERNUMBER 40
                      MAXSERVERS 200
                      ### 只�� error log. �少的 Log ��可��伺服器��
                      LOGLEVEL 0
                      ### 不��片��毒, 可�� CPU ��
                      SCANIMAGES false
   
        ### 这个是havp的监听端口,默认是8080,因为8080是tomcat的默认端口,所以我改成3129了,
        PORT=3129
挂载独立磁盘区 /var/tmp/havp (一定要加上 -o mand ��)
              mount -o mand /dev/hda3 /var/tmp/havp
              如果�有多�的 device 可以��, 可�考以下��方法:
              a. 用���建立��磁碟
                      mkfs -t ext2 /dev/ram0 8192 (建立 8MB RAM Disk)
                      mount -o mand /dev/ram0 /var/tmp/havp
  b. 使用硬碟空�建立��磁碟
                      dd if=/dev/zero of=/root/havp_tmp.img bs=128K count=1 seek=1024 (建立 128MB Virtual Disk)
                      mkfs.ext2 /root/havp_tmp.img
                      mount -o loop,mand /root/havp_tmp.img /var/tmp/havp
              ps. HAVP 可扫描的档案大小将受限于这里所挂载的磁盘空�
更新 shared libraries 资料库 (for ClamAV)
              vi /etc/ld.so.conf --> 加入: /usr/local/lib
              ldconfig
启动 HAVP
              /usr/local/sbin/havp &
 
squid和havp的捆绑
 
编辑squid.conf文件
加入如下两行
cache_peer 127.0.0.1 parent 3129 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
到目前位置squid+clamav+havp就已经配置完成了
使用squid做代理然后去http://www.eicar.org/anti_virus_test_file.htm这个网站进行测试吧
HAVP �直接使用 ClamAV 的 Library, 所以 ClamAV 的服�是不需要��的.
您只要使用 ClamAV 的 freshclam �更新 ClamAV 的病毒�就行了,
方法如下:
  以 crontab 排程: 0 0 * * * /usr/local/bin/freshclam --verbose(每天午夜更新病毒�)
 
Clamav升级配置文件


vi /usr/local/clamav/etc/freshclam.conf
##
## Example config file for freshclam
## Please read the clamav.conf(5) manual before editing this file.
## This file may be optionally merged with clamav.conf.
##


# You can change the default database directory here.
#DatabaseDirectory /var/lib/clamav

# Path to the log file (make sure it has proper permissions)
UpdateLogFile /var/log/freshclam.log
# Enable verbose logging.
LogVerbose

# Use system logger (can work together with UpdateLogFile).
LogSyslog

# By default when freshclam is started by root it drops privileges and
# switches to the "clamav" user. You can change this behaviour here.
#DatabaseOwner clamav

# The main database mirror is database.clamav.net (this is a round-robin
# DNS that points to many mirrors on the world) and in most cases you
# SHOULD NOT change it.
DatabaseMirror database.clamav.net

# How many attempts to make before giving up.
MaxAttempts 3

# How often check for a new database. We suggest checking for it every
# two hours.
Checks 12
# Proxy settings
#HTTPProxyServer myproxy.com
#HTTPProxyPort 1234
#HTTPProxyUsername myusername
#HTTPProxyPassword mypass

# Send the RELOAD command to clamd.
#NotifyClamd [/optional/config/file/path]

# Run command after database update.
#OnUpdateExecute command

# Run command if database update failed.
#OnErrorExecute command

转载于:https://my.oschina.net/u/2316994/blog/377040

 类似资料: