squid+havp+clamav搭建防毒代理墙
系统:CentOS5.2
步骤:
1.安装squid和clamav
yum install squid
yum install clamav clamav-devel
要按照clamav-devel,因为havp安装的时候,需要这个包,rpmforge有这个包
2.下载安装havp-0.88
./configure
make
make install
cp etc/init.d/havp /etc/rc.d/init.d/havp
安装时/etc/init.d/没有havp启动脚本,必须手动copy
3.配置havp
vi /usr/local/etc/havp/havp.config
### 註解以下這行
#REMOVETHISLINE deleteme### ClamAV Library Scanner (libclamav) → 由 HAVP 直接取用 ClamAV 的病毒資料庫
ENABLECLAMLIB true
##yum安装的,注释掉
#CLAMDBDIR /usr/local/share/clamavTRANSPARENT false
### 理論上越多的執行緒效能效能越好, 但仍需視伺服器資源而定
SERVERNUMBER 40
MAXSERVERS 200### 只記錄 error log. 較少的 Log 記錄可減輕伺服器負擔
LOGLEVEL 0### 使用 RAM Disk 處理暫存檔案可獲得最佳效能
TEMPDIR /var/tmp/havp### 不對圖片檔掃毒, 可減輕 CPU 負擔
SCANIMAGES false
4.设置havp的TEMPDIR
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
编辑/etc/fstab,添加
/root/havp_tmp.img /var/tmp/havp ext2 mand,loop 0 0
5.设置squid
# vi /etc/squid/squid.conf
acl mynet src 192.168.1.0/24 (你内网的网段)
http_access allow mynet (放在http_access deny all之上)
HAVP + Squid
HAVP is Parent Proxy
修改 squid.conf, 設定 Parent Proxy 為本機的 8080 port
#acl all src 0.0.0.0/0.0.0.0
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
#Only http traffic can be scanned
acl Scan_HTTP proto HTTP
never_direct allow Scan_HTTP
Proxy 指向Squid:3128
修改 squid.conf, 讓 Squid 變成透明代理 (請參考 "這篇" )
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 3128
5.启动
/etc/init.d/havp start
/etc/init.d/squid start
测试eicar - Anti-Virus test file
结果:
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。