http://csc.ocean-pioneer.com/docum/linux-mail-antivirus.html
HAVP+clamav+squid 防毒代理
使用 HAVP + ClamAV 建置防毒 HTTP Proxy
HAVP (HTTP Anti Virus Proxy) 可結合 ClamAV、F-Prot、Kaspersky 等防毒軟體, 針對 HTTP 傳輸資料進行即時掃毒, 將病毒攔截於 Proxy Server 上, 讓使用者上網時多一層安全防護.
操作步驟
1. 安裝 Clam AntiVirus
groupadd clamav && useradd -g clamav -M clamav
./configure
make
make install
ps. 若以套件管理程序安裝 clamav 者, 請記得加裝 clamav-devel 套件
2. 安裝 HAVP (本篇以 v0.82 為例)
./configure
make
make install
3. 環境設定
groupadd havp && useradd -g havp -M havp
chown 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 /usr/local/share/clamav
### ClamAV Socket Scanner (clamd) → 交由 clamd 掃毒 (須先啟動 clamd), 以上兩者擇一使用即可
ENABLECLAMD true
CLAMDSOCKET /tmp/clamd
其他與效能相關的設定:
### 理論上越多的執行緒效能效能越好, 但仍需視伺服器資源而定
SERVERNUMBER 40
MAXSERVERS 200
### 只記錄 error log. 較少的 Log 記錄可減輕伺服器負擔
LOGLEVEL 0
### 使用 RAM Disk 處理暫存檔案可獲得最佳效能
TEMPDIR /path/to/ramdisk
### 不對圖片檔掃毒, 可減輕 CPU 負擔
SCANIMAGES false
4. 掛載獨立磁區於 /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 可掃描的檔案大小將受限於這裡所掛載的磁區空間
5. 更新 shared libraries 資料庫 (for ClamAV)
vi /etc/ld.so.conf --> 加入: /usr/local/lib
ldconfig
6. 啟動 HAVP
/etc/init.d/havp start
7. 將 Client 端瀏覽器的 Proxy 設定指向 HAVP Proxy Server 的 8080 port
8. 連結病毒測試網頁檢驗 HAVP 是否正常運作
eicar - Anti-Virus test file
HAVP + Squid 的各種搭配方法
Normal Proxy Transparent Proxy
單獨使用 HAVP Proxy 指向
HAVP:8080 修改 havp.config: TRANSPARENT true
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 8080
HAVP + Squid
HAVP is Parent Proxy 修改 squid.conf
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 (請參考 "這篇" )
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 3128
HAVP + Squid
Squid is Parent Proxy
修改 havp.config
PARENTPROXY localhost
PARENTPORT 3128
Proxy 指向
HAVP:8080 修改 havp.config: TRANSPARENT true
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 8080
url: http://bbs.chinaunix.net/archiver/?tid-846429.html
HAVP+clamav+squid 防毒代理
使用 HAVP + ClamAV 建置防毒 HTTP Proxy
HAVP (HTTP Anti Virus Proxy) 可結合 ClamAV、F-Prot、Kaspersky 等防毒軟體, 針對 HTTP 傳輸資料進行即時掃毒, 將病毒攔截於 Proxy Server 上, 讓使用者上網時多一層安全防護.
操作步驟
1. 安裝 Clam AntiVirus
groupadd clamav && useradd -g clamav -M clamav
./configure
make
make install
ps. 若以套件管理程序安裝 clamav 者, 請記得加裝 clamav-devel 套件
2. 安裝 HAVP (本篇以 v0.82 為例)
./configure
make
make install
3. 環境設定
groupadd havp && useradd -g havp -M havp
chown 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 /usr/local/share/clamav
### ClamAV Socket Scanner (clamd) → 交由 clamd 掃毒 (須先啟動 clamd), 以上兩者擇一使用即可
ENABLECLAMD true
CLAMDSOCKET /tmp/clamd
其他與效能相關的設定:
### 理論上越多的執行緒效能效能越好, 但仍需視伺服器資源而定
SERVERNUMBER 40
MAXSERVERS 200
### 只記錄 error log. 較少的 Log 記錄可減輕伺服器負擔
LOGLEVEL 0
### 使用 RAM Disk 處理暫存檔案可獲得最佳效能
TEMPDIR /path/to/ramdisk
### 不對圖片檔掃毒, 可減輕 CPU 負擔
SCANIMAGES false
4. 掛載獨立磁區於 /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 可掃描的檔案大小將受限於這裡所掛載的磁區空間
5. 更新 shared libraries 資料庫 (for ClamAV)
vi /etc/ld.so.conf --> 加入: /usr/local/lib
ldconfig
6. 啟動 HAVP
/etc/init.d/havp start
7. 將 Client 端瀏覽器的 Proxy 設定指向 HAVP Proxy Server 的 8080 port
8. 連結病毒測試網頁檢驗 HAVP 是否正常運作
eicar - Anti-Virus test file
HAVP + Squid 的各種搭配方法
Normal Proxy Transparent Proxy
單獨使用 HAVP Proxy 指向
HAVP:8080 修改 havp.config: TRANSPARENT true
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 8080
HAVP + Squid
HAVP is Parent Proxy 修改 squid.conf
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 (請參考 "這篇" )
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 3128
HAVP + Squid
Squid is Parent Proxy
修改 havp.config
PARENTPROXY localhost
PARENTPORT 3128
Proxy 指向
HAVP:8080 修改 havp.config: TRANSPARENT true
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 8080
url: http://bbs.chinaunix.net/archiver/?tid-846429.html