自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

巧用Squid的ACL和訪問列表實現(xiàn)高效訪問控制

原創(chuàng)
系統(tǒng) Linux
Squid代理服務(wù)器是一個緩存Internet數(shù)據(jù)的軟件,可以代理HTTP、FTP、GOPHER、SSL和WAIS等協(xié)議,提高用戶下載頁面的速度,并設(shè)置過濾。使用Squid可以通過訪問控制特性來靈活的控制用戶訪問時間、站點等限制。這些可以通過Squid ACL和訪問列表來輕松實現(xiàn)。

【51CTO專稿】Squid是一個緩存Internet數(shù)據(jù)的軟件,其接收用戶的下載申請,并自動處理所下載的數(shù)據(jù)。當(dāng)一個用戶想要下載一個主頁時,可以向Squid發(fā)出一個申請,要Squid代替其進行下載,然后Squid連接所申請網(wǎng)站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份,當(dāng)別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當(dāng)快。Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS等協(xié)議并且,Squid可以自動地進行處理,可以根據(jù)自己的需要設(shè)置Squid,使之過濾掉不想要的東西。

Squid可以工作在很多的操作系統(tǒng)中,如AIX、Digital、UNIX、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。

在使用過程中,合理使用訪問控制是非常重要的工作。使用訪問控制特性,可以控制其在訪問時根據(jù)特定的時間間隔進行緩存、訪問特定站點或一組站點等等。Squid訪問控制有兩個要素:ACL元素和訪問列表。訪問列表可以允許或拒絕某些用戶對此服務(wù)的訪問。下面分別介紹ACL元素以及訪問列表的使用方法。

1.ACL元素

該元素定義的語法如下:

acl aclname acltype string1…
acl aclname acltype "file"…

當(dāng)使用文件時,該文件的格式為每行包含一個條目。

其中,acltype可以是src、dst、srcdomain、dstdomain、url_regex、urlpath_regex、time、port、proto、method中的一任意一種。

src:指明源地址??梢杂靡韵碌姆椒ㄖ付ǎ?/p>

acl aclname src ip-address/netmask ... 客戶ip地址
acl aclname src addr1-addr2/netmask ... 地址范圍

dst:指明目標(biāo)地址,即客戶請求的服務(wù)器的IP地址。語法為:

acl aclname dst ip-address/netmask ... 

srcdomain:指明客戶所屬的域,Squid將根據(jù)客戶IP反向查詢DNS。語法為:

acl aclname srcdomain foo.com ... 

dstdomain:指明請求服務(wù)器所屬的域,由客戶請求的URL決定。語法為:

acl aclname dstdomain foo.com ...。此處需要注意的是:如果用戶使用服務(wù)器IP而非完整的域名時,Squid將進行反向的DNS解析來確定其完整域名,如果失敗,就記錄為“none”。

time:指明訪問時間。語法如下:

acl aclname time [day-abbrevs] [h1:m1-h2:m2][hh:mm-hh:mm]

日期的縮寫指代關(guān)系如下:

  1. S:指代Sunday
  2. M:指代Monday
  3. T:指代Tuesday
  4. W:指代Wednesday
  5. H:指代Thursday
  6. F:指代Friday
  7. A:指代Saturday

另外,h1:m1必須小于h2:m2,表達式為[hh:mm-hh:mm]。

port:指定訪問端口??梢灾付ǘ鄠€端口,比如:

acl aclname port 80 70 21 ...
acl aclname port 0-1024 ... 指定一個端口范圍

proto:指定使用協(xié)議。可以指定多個協(xié)議:

acl aclname proto HTTP FTP ...

method:指定請求方法。比如:

acl aclname method GET POST ...

url_regex:URL規(guī)則表達式匹配,語法為:

acl aclname url_regex[-i] pattern

urlpath_regex:URL-path規(guī)則表達式匹配,略去協(xié)議和主機名。其語法為:

acl aclname urlpath_regex[-i] pattern

在使用上述ACL元素的過程中,要注意如下幾點:

  1. acltype可以是任一個在ACL中定義的名稱。
  2. 任何兩個ACL元素不能用相同的名字。
  3. 每個ACL由列表值組成。當(dāng)進行匹配檢測的時候,多個值由邏輯或運算連接;換句話說,任一ACL元素的值被匹配,則這個ACL元素即被匹配。
  4. 并不是所有的ACL元素都能使用訪問列表中的全部類型。
  5. 不同的ACL元素寫在不同行中,Squid將這些元素組合在一個列表中。

#p#

2.http_access訪問控制列表

根據(jù)訪問控制列表允許或禁止某一類用戶訪問。如果某個訪問沒有相符合的項目,則默認(rèn)為應(yīng)用***一條項目的“非”。比如***一條為允許,則默認(rèn)就是禁止。通常應(yīng)該把***的條目設(shè)為“deny all”或“allow all”來避免安全性隱患。

使用該訪問控制列表要注意如下問題:

  1. 這些規(guī)則按照它們的排列順序進行匹配檢測,一旦檢測到匹配的規(guī)則,匹配檢測就立即結(jié)束。
  2. 訪問列表可以由多條規(guī)則組成。
  3. 如果沒有任何規(guī)則與訪問請求匹配,默認(rèn)動作將與列表中***一條規(guī)則對應(yīng)。
  4. 一個訪問條目中的所有元素將用邏輯與運算連接(如下所示):
    http_access Action聲明1 AND 聲明2 AND
  5. 多個http_access聲明間用或運算連接,但每個訪問條目的元素間用與運算連接。
  6. 列表中的規(guī)則總是遵循由上而下的順序。

3.使用訪問控制

上面詳細講述了ACL元素以及http_access訪問控制列表的語法以及使用過程中需要注意的問題,下面給出使用這些訪問控制方法的實例:

(1)允許網(wǎng)段10.0.0.124/24以及192.168.10.15/24內(nèi)的所有客戶機訪問代理服務(wù)器,并且允許在文件/etc/squid/guest列出的客戶機訪問代理服務(wù)器,除此之外的客戶機將拒絕訪問本地代理服務(wù)器:

acl clients src 10.0.0.124/24 192.168.10.15/24
acl guests src “/etc/squid/guest”
acl all src 0.0.0.0/0.0.0.0
http_access allow clients
http_access allow guests
http_access deny all

其中,文件“/etc/squid/guest”中的內(nèi)容為:

172.168.10.3/24
210.113.24.8/16
10.0.1.24/25

(2)允許域名為job.net、gdfq.edu.cn的兩個域訪問本地代理服務(wù)器,其他的域都將拒絕訪問本地代理服務(wù)器:

acl permitted_domain src job.net gdfq.edu.cn
acl all src 0.0.0.0/0.0.0.0
http_access allow permitted_domain
http_access deny all

(3)使用正則表達式,拒絕客戶機通過代理服務(wù)器訪問包含有諸如“sexy”等關(guān)鍵字的網(wǎng)站:

acl deny_url url_regex -i sexy
http_access deny deny_url

(4)拒絕客戶機通過代理服務(wù)器訪問文件中指定IP或者域名的網(wǎng)站,其中文件/etc/squid/ deny_ip中存放有拒絕訪問的IP地址,文件/etc/squid/deny_dns中存放有拒絕訪問的域名:

acl deny_ip dst “etc/squid/deny_ip”
acl deny_dns dst “etc/squid/deny_dns”
http_access deny deny_ip
http_access deny deny_dns

(5)允許和拒絕指定的用戶訪問指定的網(wǎng)站,其中,允許客戶1訪問網(wǎng)站http://www.sina.com.cn,而拒絕客戶2訪問網(wǎng)站http://www.163.com:

acl client1 src 192.168.0.118
acl client1_url url_regex ^http://www.sina.com.cn
acl client2 src 192.168.0.119
acl client2_url url_regex ^http://www.163.com
http_access allow client1 client1_url
http_access deny client2 client2_url

(6)允許所有的用戶在規(guī)定的時間內(nèi)(周一至周四的8:30到20:30)訪問代理服務(wù)器,只允許特定的用戶(系統(tǒng)管理員,其網(wǎng)段為:192.168.10.0/24)在周五下午訪問代理服務(wù)器,其他的在周五下午一點至六點一律拒絕訪問代理服務(wù)器:

acl allclient src 0.0.0.0/0.0.0.0
acl administrator 192.168.10.0/24
acl common_time time MTWH 8:30-20:30
acl manage_time time F 13:00-18:00
http_access allow allclient common_time
http_access allow administrator manage_time
http_access deny manage_time

【編輯推薦】

  1. Linux下Squid代理服務(wù)器的架設(shè)與維護(一)
  2. Linux下Squid代理服務(wù)器的架設(shè)與維護(二)
  3. 完成RHEL5 Squid配置過程的五步法
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2012-09-18 09:43:14

Squid代理服務(wù)器安全網(wǎng)關(guān)

2023-12-06 21:50:40

2019-07-31 08:11:46

ACL訪問控制列表網(wǎng)絡(luò)通信

2009-05-13 10:26:02

CCNAACLIP訪問控制

2012-09-18 09:50:41

2009-02-12 11:59:11

2025-04-18 10:32:10

ACL訪問控制列表網(wǎng)絡(luò)

2014-05-26 09:50:19

訪問控制列表ACL文件保護

2013-03-01 10:48:28

2009-02-05 10:12:00

訪問控制列表限制訪問

2011-03-14 17:50:27

訪問控制列表

2022-07-13 09:01:48

ACL網(wǎng)絡(luò)流量

2010-08-06 10:10:17

思科路由器動態(tài)訪問列表

2020-09-15 10:16:19

網(wǎng)絡(luò)工具訪問控制列表ACL

2009-04-09 10:10:00

2009-06-09 10:30:48

思科控制列表配置實例

2024-10-10 17:55:57

LinuxACL訪問控制列表

2014-08-11 11:01:43

AngularJS

2010-08-18 13:13:01

靜態(tài)路由

2015-07-17 10:45:42

Squid服務(wù)器訪問控制系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號