巧用Squid的ACL和访问列表实现高效访问控制

Squid是一个缓存Internet数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向 Squid发出一个申请,要Squid代替其进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申 请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS等协 议并且,Squid可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。

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

在使用过程中,合理使用访问控制是非常重要的工作。使用访问控制特性,可以控制其在访问时根据特定的时间间隔进行缓存、访问特定站点或一组站点等 等。Squid访问控制有两个要素:ACL元素和访问列表。访问列表可以允许或拒绝某些用户对此服务的访问。下面分别介绍ACL元素以及访问列表的使用方 法。

1.ACL元素

该元素定义的语法如下:

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

当使用文件时,该文件的格式为每行包含一个条目。

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

src:指明源地址。可以用以下的方法指定:

acl aclname src ip-address/netmask ... 客户ip地址
acl aclname src addr1-addr2/netmask ... 地址范围

dst:指明目标地址,即客户请求的服务器的IP地址。语法为:

acl aclname dst ip-address/netmask ... 

srcdomain:指明客户所属的域,Squid将根据客户IP反向查询DNS。语法为:

acl aclname srcdomain foo.com ... 

dstdomain:指明请求服务器所属的域,由客户请求的URL决定。语法为:

acl aclname dstdomain foo.com ...。此处需要注意的是:如果用户使用服务器IP而非完整的域名时,Squid将进行反向的DNS解析来确定其完整域名,如果失败,就记录为“none”。

time:指明访问时间。语法如下:

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

日期的缩写指代关系如下:

  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:指定使用协议。可以指定多个协议:

acl aclname proto HTTP FTP ...

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

acl aclname method GET POST ...

url_regex:URL规则表达式匹配,语法为:

acl aclname url_regex[-i] pattern

urlpath_regex:URL-path规则表达式匹配,略去协议和主机名。其语法为:

acl aclname urlpath_regex[-i] pattern

在使用上述ACL元素的过程中,要注意如下几点:

  1. acltype可以是任一个在ACL中定义的名称。
  2. 任何两个ACL元素不能用相同的名字。
  3. 每个ACL由列表值组成。当进行匹配检测的时候,多个值由逻辑或运算连接;换句话说,任一ACL元素的值被匹配,则这个ACL元素即被匹配。
  4. 并不是所有的ACL元素都能使用访问列表中的全部类型。
  5. 不同的ACL元素写在不同行中,Squid将这些元素组合在一个列表中。

巧用Squid的ACL和访问列表实现高效访问控制

时间: 2024-08-28 16:25:13

巧用Squid的ACL和访问列表实现高效访问控制的相关文章

ACL控制访问列表原理+实验

ACL控制访问列表原理+实验1.原理:ACL使用包过滤技术,在路由器上读取ISO七层模型的第三层及第四层包头中的信息,如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则,对包头进行过滤.2.从上到下逐条匹配,一旦匹配则停止匹配,一条不匹配,执行隐含(拒绝)命令.3.原则上ACL控制访问列表设置在进端口效率更高4.ACL的类型有三类:A.标准ACL,根据数据包的源IP地址来允许或拒绝转发数据包,列表号(1-99)B.扩展ACL,根据数据包的源IP地址,目的IP地址,指定协议,端口和标志来

“TI门外汉”网路知识笔记十一 访问控制列表ACL(1标准访问列表)

访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包.ACL适用于所有的被路由协议,如IP.IPX.AppleTalk等. ACL的作用: ACL可以限制网络流量.提高网络性能. ACL提供对通信流量的控制手段. ACL是提供网络安全访问的基本手段. ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞. 3P 原则: 在路由器上应用 ACL 的一般规则.您可以为每种协议 (per protocol).每个方向 (per

ACL访问列表配置规则梳理

访问控制列表有3种,标准访问控制列表,扩展访问控制列表,命名访问控制列表 访问控制列表只对穿越路由器的数据流有过滤效果,不会对始发于当前路由器的数据进行过滤 1)标准访问列表:standard access-list 标准访问列表的序号范围:1~99或1300~1999(扩展范围) 格式: R1(config)#access-list 10 deny host 172.16.10.0 0.0.0.255 //拒绝来自172.16.10.0网段的数据 R1(config)#access-list

ACL访问控制列表——标准IP访问列表(理论+实验)

ACL访问控制列表的功能 1.限制网络流量.提高网络性能2.提供对通信流量的控制手段3.提供网络访问的基本安全手段4.在网络设备接口处,决定哪种类型的通信流量被转发.哪种类型的通信流量被阻塞 ACL的工作原理 1.访问控制列表在接口应用的方向出方向:已经过路由器的处理,正离开路由器接口的数据包入方向:已达到路由器接口的数据包,将被路由器处理列表应用到接口方向与数据方向有关 ACL规则 1. 从上到下依次匹配 2. 一旦被某条ACL匹配,则停止查找 3. 依照上两条规则,ACL的精确或者严格规则写

Squid代理服务器+ACL访问控制+Squid日志分析&&任务计划

第一章:Squid代理服务器 防伪码:只有顽强,明日路纵会更彷徨! 理论概述: 1.缓存代理概述:squid主要提供缓存加速,应用层过滤控制的功能. 2.代理的基本类型 1)传统代理:普通的代理服务器,首先必须在客户机的浏览器.qq聊天工具.下载软件等程序中手动设置代理服务器的地址和端口,然后才能使用代理来访问网络. 2)透明代理:提供与传统代理相同的功能和服务,其区别在于客户机不需要指定代理服务器的地址和端口,而是通过默认路由.防火墙策略将Web访问重定向,实际仍然交给代理服务器来处理.  实

squid之------ACL控制

一.ACL概念 Squid提供了强大的代理控制机制,通过合理设置ACL(Access Control List,访问控制列表)并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等各种条件进行过滤. ACL访问控制的步骤: 1.使用acl配置项定义需要控制的条件 2.通过http_access配置项对已定义的列表做“允许”或“拒绝”访问的控制 二.ACL用法概述 (1)定义ACL访问列表 定义格式:acl  列表名称  列表类型  列表内容 ... 例:控制源IP网段 vim et

Squid代理服务ACL访问控制及日志分析

对于Squid服务的部署可以参考博文:Squid代理服务器安装及部署对于Squid服务配置代理服务器可以参考博文:利用Squid构建传统代理及透明代理 Squid服务的ACL访问控制 Squid提供了强大的代理控制机制,通过合理设置ACL(访问控制列表)并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等各种条件进行过滤. 在配置文件squid.conf中,ACL访问控制通过两个步骤来实现: 使用acl配置项定义需要控制的条件: 通过http_access配置项对已经定义的列表做

squid的ACL、日志分析、反向代理

一.Squid 中 ACL 的使用 (1)ACL 访问控制方式:(2)ACL 规则优先级:(3)常用的 ACL 列表类型:(4)操作演示: 二.日志分析 第一步:安装 sarg 工具第二步:安装 Apache第三步:客户机上测试 三.反向代理 修改 /etc/squid.conf 文件添加以下代码:1.基于IP地址限制:2.基于时间限制:3.基于目标地址(就是web服务器地址)可以将拒绝的目标地址添加到一个文件中 二.日志分析 安装 sarg 工具Sarg(Squid Analysis Repo

清默网络——动态访问列表

动态访问列表 动态ACL,也被称为lock-and-key ACL,在1996年作为选项引入思科 IOS.动态ACL仅支持IP流量.动态ACL依赖于telnet连接,用户telnet路由器,并验证通过,此时telnet自动断开,并动态产生一条 临时ACL语句.当一段时间内,无该语句相关流量通过,临时的ACL语句消失.         动态访问表是对传统访问表的一种重要功能增强.我们从动态访问表的名称就可以看出,动态访问表是能够创建动态访问表项的访问表.传统的标准访问表和扩展 的访问表不能创建动态