建立可全面監(jiān)控Squid代理服務(wù)器 |
發(fā)布時間: 2012/8/13 11:19:29 |
代理服務(wù)器的功能是代理網(wǎng)絡(luò)用戶取得網(wǎng)絡(luò)信息,它是網(wǎng)絡(luò)信息的中轉(zhuǎn)站。隨著代理服務(wù)器的廣泛使用,隨之而來的是一系列的安全問題。由于沒有對代理服務(wù)器的訪問控制策略作全面細(xì)致的配置,導(dǎo)致用戶可以隨意地通過代理服務(wù)器訪問許多色情、反動的非法站點,而這些行為往往又很難追蹤,給管理工作帶來極大的不便。
部署Squid服務(wù)器 1.各種代理服務(wù)器的比較 Linux下的代理服務(wù)器軟件很多,但是被廣泛應(yīng)用的只有Squid、socks、Apache等幾個實踐證明是高性能的代理軟件。下面我們分別來比較一下這幾個軟件,如圖1所示。
雖然上面所列種類還不太全面,但是所謂窺一斑而知全豹,從中我們也可以看出什么樣的代理服務(wù)器是被用戶廣泛使用的。Squid是Linux下一個緩存Internet數(shù)據(jù)的代理服務(wù)器軟件,其接收用戶的下載申請,并自動處理所下載的數(shù)據(jù)。也就是說,當(dāng)一個用戶想要下載一個主頁時,可以向Squid發(fā)出一個申請,要Squid代替其進(jìn)行下載,然后Squid連接所申請網(wǎng)站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份。當(dāng)別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當(dāng)快。目前,Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS協(xié)議,暫不能代理POP3、NNTP等協(xié)議。Squid可以工作在很多操作系統(tǒng)中,如AIX、Digital、Unix、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。Squid支持以下協(xié)議: 客戶端協(xié)議:HTTP、FTP、Gopher、WAIS、SSL 2.Squid工作原理和流程圖 1)代理服務(wù)器的工作機制 代理服務(wù)器的工作機制很象我們生活中常常提及的代理商,假設(shè)你自己的機器為A機,你想獲得的數(shù)據(jù)由服務(wù)器B提供,代理服務(wù)器為C,那么具體的連接過程是這樣的。首先,A機需要B機的數(shù)據(jù),A直接與C機建立連接,C機接收到A機的數(shù)據(jù)請求后,與B機建立連接,下載A機所請求的B機上的數(shù)據(jù)到本地,再將此數(shù)據(jù)發(fā)送至A機,完成代理任務(wù)。 2)Squid工作流程
圖2Squid工作原理圖 ◆客戶端計算機向代理服務(wù)器端發(fā)送一個數(shù)據(jù)需求封包; 通常說來,安裝Squid有兩種方法:一是從Linux發(fā)行版本中獲取該軟件的RPM包進(jìn)行;二是安裝從Squid的官方站點http://www.squid-cache.org/下載該軟件的源碼進(jìn)行編譯后安裝。首先要確認(rèn)是否已經(jīng)安裝vsftpd可以使用以下命令查看: [rpm-qsquid] 如果在系統(tǒng)安裝時已經(jīng)把squid安裝上了,那么我們就可以直接對vsftpd進(jìn)行配置使用了。否則,可以通過RatHetEnterpriseLinux圖形界面下的“添加/刪除應(yīng)用程序”工具進(jìn)行安裝。具體方法是,選擇“主選單”→“系統(tǒng)設(shè)置”→“添加/刪除應(yīng)用程序”,在彈出的界面中選中萬維網(wǎng)服務(wù)器的“squid”選項,單擊“更新”即可,見圖3。
圖3安裝Squid代理服務(wù)器 也可以從Squid站點www.squid-cache.org獲取該軟件的源代碼安裝包,包括gz和bz2兩種壓縮方式。 1.使用Linux命令和工具分別使用KDE系統(tǒng)衛(wèi)士和netstat命令檢查Squid代理組服務(wù)器允許情況,和端口使用情況,如圖4。
圖4查看Squid服務(wù)器運行進(jìn)程和端口 如果你的桌面出現(xiàn)圖3類似的情況表示Squid代理服務(wù)器基本運行正常。 2.使用cachemgr.cgi 1)cachemgr.cgi配置過程 squid本身提供一個cgi程序,文件名為cachemgr.cgi,squid安裝完后將它復(fù)制到Apache服務(wù)器下的cgi-bin這個目錄下即可使用。 #cp/usr/lib/squid/cachemgr.cgi/home/httpd/cgi-bin 下面我們通過apache進(jìn)行監(jiān)控squid,修改配置文件/etc/http/conf/http.conf,添加以下內(nèi)容: <Location/cgi-bin/cachemgr.cgi> 生成口令文件: #cd/usr/local/squid/etc 重啟squid與http,要察看CacheManager提供的信息時,請在瀏覽器的地址列中鍵入http://服務(wù)器的名稱或IP地址/cgi-bin/cachemgr.cgi。首先看到用戶認(rèn)證界面,經(jīng)過認(rèn)證后進(jìn)入登錄界面,輸入代理服務(wù)器地址和端口號,見圖5。
圖5cachemgr.cgi登錄界面
圖6cachemgr.cgi實時監(jiān)控界面 (2)重點解讀監(jiān)控數(shù)據(jù) cachemgr.cgi提供的數(shù)據(jù)非常詳細(xì),下面重點解讀一些內(nèi)容: ◆MemoryUtilization(內(nèi)存使用情況) 內(nèi)存是Linux所管理的最重要的資源之一。內(nèi)存管理系統(tǒng)是操作系統(tǒng)中最為重要的部分,因為系統(tǒng)的物理內(nèi)存總是少于系統(tǒng)所需要的內(nèi)存數(shù)量。虛擬內(nèi)存就是為了克服這個矛盾而采用的策略。系統(tǒng)的虛擬內(nèi)存通過在各個進(jìn)程之間共享內(nèi)存而使系統(tǒng)看起來有多于實際內(nèi)存的內(nèi)存容量。Linux支持虛擬內(nèi)存,就是使用磁盤作為RAM的擴展,使可用內(nèi)存相應(yīng)地有效擴大。核心把當(dāng)前不用的內(nèi)存塊存到硬盤,騰出內(nèi)存給其他目的。當(dāng)原來的內(nèi)容又要使用時,再讀回內(nèi)存。MemoryUtilization監(jiān)控界面見圖7。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |