文/郭雅
基于Squid代理服務(wù)器的訪問控制策略設(shè)計與實現(xiàn)
文/郭雅
本文主要分析Squid代理服務(wù)器的安裝、配置及訪問控制策略設(shè)計,介紹Webmin管理工具的安裝,以及如何通過Webmin實現(xiàn)對代理服務(wù)器訪問控制策略的管理。
Squid是Linux下一個緩存Internet數(shù)據(jù)的代理服務(wù)器軟件,其接收用戶的下載申請,并自動處理所下載的數(shù)據(jù)。即當用戶申請下載一個主頁時,直接到Squid代理服務(wù)器的Cache中查看所需要的目標文件是否存在,如在Cache中存在,則反饋給用戶;如果在Cache中不存在,Squid代理服務(wù)器直接向目標服務(wù)器作出請求,得到目標文件后反饋給用戶,同時在代理服務(wù)器的Cache中對目標文件保留一個備份。
華南師范大學(xué)增城學(xué)院有31個電腦機房,通過一個三層交換機劃分VLAN的方式把所有機房連接起來。如果機房要上網(wǎng),方法一是通過交換機把路由開通,缺點是同一個VLAN的機房都可以上網(wǎng);方法二是同一個VLAN的機房,通過架設(shè)一臺ISA sever代理服務(wù)器控制上網(wǎng),缺點是每個VLAN都要一個ISA sever代理服務(wù)器。
通過構(gòu)建一個基于Linux的Squid代理服務(wù)器,再通過Webmin系統(tǒng)管理工具可以方便管理機房的上網(wǎng)。Webmin是一個基于Web的 Linux、Unix系統(tǒng)管理工具。管理員通過瀏覽器訪問Webmin的各種管理功能并完成相應(yīng)的管理動作。目前Webmin支持絕大多數(shù)的Linux、 Unix系統(tǒng),這些系統(tǒng)除了各種版本的Linux以外還包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。
Squid安裝
Squid的安裝有兩種方法。方法一:Linux、 Unix和FreeBSD等都自帶squid組件,只要在安裝系統(tǒng)時選上該組件,即系統(tǒng)安裝完squid也安裝完成。方法二:從squid站點www.squid-cache.org獲取該軟件的源代碼安裝包,包括gz和bz2兩種壓縮方式。下載最新的穩(wěn)定版squid-3.1.19.tar.gz保存到/home/user/目錄下,用以下命令解開壓縮包:$ tar xzvf squid-3.1.19.tar.gz。然后,進入相應(yīng)目錄對源代碼進行編譯和安裝,命令如下:$cd squid-3.1.19,執(zhí)行./configure,make和 make install。
安裝結(jié)束后,Squid的可執(zhí)行文件在/usr/local/squid/sbin/目錄下,主要配置文件Squid.conf位于/usr/local/squid/etc/目錄下。如果是系統(tǒng)自帶的Squid,主要配置文件Squid.conf位于/etc/squid/目錄下。
Webmin安裝
Webmin最新版本可以登陸http://www.webmin.com下載,目前最新版本是webmin-1.580.tar.gz,下載保存到/home/user目錄下,用以下命令解開壓縮包:$ tar xzvf webmin-1.580.tar.gz。然后,進入相應(yīng)目錄對源代碼進行編譯和安裝,命令如下:$cd webmin-1.580,執(zhí)行./setup.sh,會提示Config file directory [/etc/webmin] ,按回車則文件安裝到/etc/webmin/目錄下,如果想保存到其他路徑,輸入完整路徑按回車即可。一般情況下選擇默認路徑,默認端口是10000,登錄用戶名是admin,密碼自行設(shè)置。安裝完成后在瀏覽器輸入:http://Linux服務(wù)器IP地址或域名:10000/,登陸即可管理。
以孝與廉應(yīng)為做人根本、基礎(chǔ)與底線開展道德教育。如果一個人不慈不孝、不廉不潔,可以說其還沒有成為真正的人,更不用說是一個好人、一個健康的人,這種倫理就是一種人之為人的底線倫理。西方倫理學(xué)所謂的底線倫理或者本底倫理,就是所有人之所以為人都要遵循的東西。以孝廉文化作為底線倫理開展道德教育也體現(xiàn)了社會主義核心價值觀的要求。
Squid的配置
Squid主要配置文件Squid.conf位于/usr/local/squid/etc/目錄下,方法一可以用vi命令編輯squid.conf文件,但要求對命令參數(shù)要很熟悉。方法二通過webmin工具配置squid,因為是圖形界面配置,易掌握,方便管理。
(1)方法一用vi命令編輯squid.conf文件,刪除squid.conf文件的原有內(nèi)容,加入以下語句,squid就可以啟動使用了。
cache_peer 210.39.242.88 parent 8080 0 #其他高速緩存,如果是一級代理不需要此語句。
使用命令/usr/local/squid/sbin/squid -f /usr/local/squid/etc/squid.conf -z建立硬盤緩沖區(qū)的緩存目錄結(jié)構(gòu),運行命令/etc/rc.d/init.d/squid start啟動squid,客戶機配置好就可以上網(wǎng)。
(2)方法二通過瀏覽器登錄webmin管理界面,默認是英文界面,通過“Change Language and Theme”選項可以改成中文界面。改完后,單擊“服務(wù)器”,→“Squid代理服務(wù)器”,如果沒有“Squid代理服務(wù)器”,在“Search:”輸入:squid,查找即可找到。再編輯Squid代理服務(wù)器的“系統(tǒng)配置”,詳細請參照圖1所示,配置好點擊保存即可。
圖1 squid系統(tǒng)配置
在“端口和網(wǎng)絡(luò)”選項設(shè)置客戶機上網(wǎng)的IP地址是:192.168.32.78,端口為8080。在“其他高速緩存”選項增加高速緩存主機,主機名為:210.39.242.88,類型為父,代理端口為8080,ICP 端口為0。在“內(nèi)存使用”選項設(shè)置內(nèi)存為64M。在“訪問控制”選項里選“代理約束”,把ACL下面的“all”設(shè)置為“允許”,保存即可。點擊“返回到squid索引”,選擇“高速緩存選項”,高速緩存目錄設(shè)置為:/usr/local/squid/var/cache,類型為UFS,大小 (MB)是4000,一級目錄為16,二級目錄為256。點擊“返回到squid索引”,再點擊“初始化高速緩存”,選擇“啟動 Squid”,客戶機配置好即可上網(wǎng)。
2、客戶機的配置
在客戶機上運行瀏覽器,選擇“工具”菜單→“Internet選項”,在彈出的窗口中單擊“ 連接” 選項卡,選擇“局域網(wǎng)設(shè)置”,在彈出的窗口中選中“為LAN使用代理服務(wù)器(X)”選項,地址欄內(nèi)代理服務(wù)器的IP地址為192.168.32.78,端口號為8080。這樣客戶端計算機則可通過代理服務(wù)器上網(wǎng)了。
Squid代理服務(wù)器的訪問控制策略設(shè)計
訪問控制是squid配置中的重點,squid訪問控制有兩個要素:ACL 元素和訪問控制列表。通過以下方法,系統(tǒng)管理員可以嚴格、清晰地定義代理服務(wù)器的訪問控制策略。ACL的基本格式:ACL列表名稱,控制方式,控制目標。
(1)禁止192.168.1.1--192.168.1.60這個網(wǎng)段里的所有客戶機上網(wǎng),配置代碼如下:
(2)禁止用戶訪問包含有sex關(guān)鍵字的URL,配置代碼如下 :
(3)禁止QQ通過squid上網(wǎng),配置代碼如下:
(4)禁止用戶下載*.mp3,*.exe,*.zip,*.rar文件,配置代碼如下:
(5)禁止用戶訪問域名為www.sohu.com的網(wǎng)站,配置代碼如下:
(6)禁止192.168.2.0這個子網(wǎng)里所有客戶機在周一至周五的9點到12點上網(wǎng),配置代碼如下:
以上操作只能在squid.conf文件下編輯添加,如果部分規(guī)則需要更改,只能通過命令的方式進行?,F(xiàn)在通過登陸webmin管理工具,也可以做到同樣的配置,操作起來更方便。在瀏覽器輸入:http://192.168.32.78:10000/,進入webmin管理界面,找到“Squid代理服務(wù)器”后單擊,再單擊“訪問控制”,如圖2所示。
圖2 訪問控制
例如要禁止 192.168.1.1--192.168.1.這60個網(wǎng)段里的所有客戶機上網(wǎng),點擊“Ethernet地址”下拉框,選“客戶地址”,再點擊“創(chuàng)建新的ACL”按鈕。
在“創(chuàng)建在ACL”菜單中輸入以下內(nèi)容。“ACL名稱”輸入:1-room,“來自IP”輸入:192.168.1.1,“到IP”輸入:192.168.1.60,“網(wǎng)絡(luò)掩碼”輸入:255.255.255.0。單擊“保存”返回到“訪問控制”界面,單擊“代理約束”→“添加代理約束規(guī)則”,選中“1-room”,點擊“保存”,1-room的訪問控制就設(shè)置完成,再點擊“應(yīng)用更改”即刻生效。其他規(guī)則的添加大同小異。添加完ACL規(guī)則,最后的條目一定要是“all”,并且要設(shè)為“拒絕”,否則無法生效。如果最后的條目“all”設(shè)為“允許”,則所有的計算機都可以通過代理服務(wù)器上網(wǎng)、下載等操作。
訪問控制策略的管理
(1)通過命令方式修改squid.conf的配置信息,運行/etc/init.d/squid reload,重新導(dǎo)入配置文件,再重啟動squid即可生效,命令為:/etc/rc.d/init.d/squid restart。這不便于機房管理員的管理。
(2)通過webmin工具管理,設(shè)置“訪問控制列表”,通過“代理約束”下的“允許”和“拒絕”選項來控制,最后再單擊“應(yīng)用更改”即刻生效。
通過webmin管理squid的訪問控制策略,即使不是專業(yè)系統(tǒng)管理員,也很容易掌握,適合電子閱覽室、學(xué)校機房或其他企事業(yè)單位使用。當然Squid代理服務(wù)器訪問控制策略功能豐富,ACL類型和訪問控制列表眾多,以上所講僅為一些基本用法,系統(tǒng)管理員在實際應(yīng)用中可根據(jù)不同需求進行配置。
(作者單位為華南師范大學(xué)增城學(xué)院)