企業級 Web Proxy 不僅能透過快取加速瀏覽、節省頻寬,更能整合防毒掃描、URL 過濾、存取控制,保障內網安全。本文以 CentOS 6 為基礎,逐步部署 Squid(代理核心)+ ClamAV(防毒引擎)+ C-ICAP(ICAP 服務)+ SquidClamav(ICAP 防毒模組) 完整鏈路。
clamd(守護進程)與 freshclam(病毒碼自動更新)。# 最小安裝 CentOS 6 後
yum install -y squid
chkconfig squid on
/etc/squid/squid.confcache_dir ufs /var/spool/squid 1000 16 256(建議 1000MB 以上)。icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_encode off
icap_client_username_header X-Authenticated-User
icap_preview_enable on
icap_preview_size 2048
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
rpm -ivh https://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
yum install -y clamav clamav-db clamd
chkconfig clamd on
/etc/clamd.confExample 使服務可啟動。MaxFileSize(預設 25MB)、MaxScanSize(預設 100MB)、掃描目標類型(ScanPE/ScanELF/ScanPDF)。/etc/freshclam.confExample 行。SafeBrowsing yes。freshclam -d -c 2,加入 /etc/rc.local 開機自啟。wget https://sourceforge.net/projects/c-icap/files/c-icap/0.5.x/c_icap-0.5.2.tar.gz
tar zxvf c_icap-0.5.2.tar.gz && cd c_icap-0.5.2
./configure --prefix=/usr/local && make && make install
/usr/local/etc/c-icap.conf:設定 ServerLog /var/log/icapserver.log、確認 ModulesDir/ServicesDir 指向 /usr/local/lib/c_icap。echo "/usr/local/bin/c-icap" >> /etc/rc.local。
wget https://sourceforge.net/projects/squidclamav/files/squidclamav/6.x/squidclamav-6.16.tar.gz
tar zxvf squidclamav-6.16.tar.gz && cd squidclamav-6.16
./configure --with-c-icap=/usr/local --with-clamd=/usr/local/sbin/clamd && make && make install
/usr/local/lib/c_icap 下出現 squidclamav.la、squidclamav.so。/etc/squidclamav.conf:設定 redirect https://your.domain/cgi-bin/clwarn.cgi(需部署警告頁面)。cgi-bin/clwarn.cgi 部署至 Web 伺服器。# 開放 3128 埠
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
service iptables save
HTTP Proxy:Proxy 伺服器 IP,Port:3128。驗證瀏覽正常、快取生效(查看 /var/log/squid/access.log)。
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > eicar.com。/var/log/icapserver.log 應出現:DEBUG squidclamav_end_of_data_handler: received from Clamd: stream: Eicar-Test-Signature FOUND
DEBUG squidclamav_end_of_data_handler: Virus redirection: https://your.domain/cgi-bin/clwarn.cgi?url=...
| 服務 | 日誌路徑 | 用途 |
|---|---|---|
| Squid | /var/log/squid/access.log | 存取記錄、快取命中率分析 |
| C-ICAP | /var/log/icapserver.log | ICAP 交互、掃描結果、病毒攔截 |
| ClamAV | /var/log/clamav/clamd.log | 掃描引擎狀態、病毒碼更新 |