Squid代理服務器(三)——ACL訪問控制


一、ACL概念

   Squid提供了強大的代理控制機制,通過合理設置ACL(Access Control List,訪問控制列表)並進行限制,可以針對源地址、目標地址、訪問的URL路徑、訪問的時間等各種條件進行過濾。

ACL訪問控制的步驟:

  1、使用acl配置項定義需要控制的條件

  2、通過http_access配置項對已定義的列表做“允許”或“拒絕”訪問的控制

二、ACL用法概述

(1)定義ACL訪問列表

定義格式:acl  列表名稱  列表類型  列表內容 ...

例:控制源IP網段

vim etc/squid.conf

acl MYLAN src 192.168.1.0/24  192.168.4.0/24

常用的ACL列表類型

1 src          源地址
2 dst              目標地址
3 port            目標地址
4 dstdomain       目標域
5 time            訪問時間
6 maxconn       最大並發連接
7 url_regex         目標URL地址  # 可以定義大的范圍比如http://www.baidu.com 8 urlpath_regex  整個目標URL路徑  # 可以定位到每個網站的具體目標的url,比如百度音樂的一首歌的url

(2)ACL訪問控制

   定義好各種訪問控制列表以后,需要使用httpd_access配置項來進行控制

格式:

  ~]#vim etc/squid.conf

  http_access  allow或deny  列表名……

  在每一條http_access規則中,可以同時包含多個訪問控制列表名,各個列表之間以空格分隔,為“與”的關系,表示必須滿足所有訪問控制列表對應的條件才會進行限制

  規則匹配原理:沒有設置任何規則時,Squid服務將拒絕客戶端的請求,有規則但找不到相匹配的項時,Squid將采用與最后一條規則相反的權限,即如果最后一條規則時allow,就拒絕客戶端的請求,否則允許該請求,但是我們要盡量避免找不到相匹配的情況。

三、ACL列表的詳細應用

1、禁止任何客戶機使用此代理服務:定義一條名為all的列表,匹配來自任意源地址的代理訪問;然后拒絕此列表,注意ACL列表要寫在前面

1 ~]#vi  /etc/squid.conf
2 acl  all src 0.0.0.0/0.0.0.0
3 http_access  deny  all
4 ~]#service squid  reload

 2、允許多個局域網段在工作時間上網

1 ~]#vim /etc/squid.conf
2 acl all src 0.0.0.0/0.0.0.0  (有些版本要這么寫acl all src all)
3 acl MYLAN src  192.168.1.0/24   192.168.4.0/24
4 acl  WORKTIME  time  MTWHF  08:30-17:30   (其中MTWHF是周一到周五的英文首字母)
5 http_access allow  MYLAN  WORKTIME
6 http_access  deny  all
7 ~]#service squid  reload
8 #注意要先寫http_access allow  MYLAN  WORKTIME再寫http_access  deny  all,因為先執行前面的,后面的就不執行了

3、通過黑名單限制目標網站

(1)首先創建地址列表文件(直接在配置文件里寫也行,但是這種用列表文件的方式適合拒絕或允許的網站域名比較多的情況,而且方便增刪管理)

1 ~]#vim  /etc/squid/ipblock.list
2 61.135.167.36
3 60.28.14.0/24
4 ~]#vim /etc/squid/dmblock.list
5 .qq.com

(2)配置acl

1 ~]#vim /etc/squid.conf
2 acl IPBLOCK dst "/etc/squid/ipblock.list"
3 acl DMBLOCK dstdomain "/etc/squid/dmblock.list"
4 http_access  deny  IPBLOCK
5 http_access  deny  DMBLOCK
6 ~]#service squid  reload

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM