squid 访问控制

访问控制

访问控制元素

ACL元素是Squid的访问控制的基础。基本的ACL元素语法如下:

acl name type value1 value2 ...

例如:

acl Workstations src 10.0.0.0/16

    acl Http_ports port 80 8000 8080
   

基本的ACL类型

IP地址

使用对象:src,dst,myip

    squid在ACL里指定IP地址时,能以子网,地址范围,域名等形式编写地址。假如你忽略掩码,squid会自动计算相应的掩码。如下: acl Foo src 127.0.0.1/32,通过指定地址范围做到列举多个相邻子网。例如:
acl Bar src 172.16.10.0-172.16.19.0/24.
 
    注意使用IP地址范围,掩码只能取一个。也能在IP ACL里指定主机名,启动时,将主机名转换成IP地址。(一旦启动,squid不会对主机名的地址发起第二次DNS查询。这样,假如在squid运行中地址已改变,squid不会注意到)。

假如主机名被解析成多个IP地址,squid将每一个增加到ACL里。注意你也可以对主机名使用网络掩码。

ACL主机名转换到IP地址的过程会延缓squid的启动。除非绝对必要,请在src,dst,和myip
ACL里避免使用主机名。

squid以一种叫做splay tree的数据结构在内存里存储IP地址ACL。splay
tree有自我调整的特性,其中之一是在查询发生时,列表会自动纠正它自己的位置。当某个匹配元素在列表里发现时,该元素变成新的树根。在该方法中,最近参考的条目会移动到树的顶部,这减少了将来查询的时间。

属于同一ACL元素的所有的子网和范围不能重迭。例如,如下不被允许:

        acl Foo src 1.2.3.0/24
        acl Foo src 1.2.3.4/32

它导致squid在cache.log里打印警告:

域名

使用对象:srcdomain,dstdomain,和cache_host_domain指令

当ACL域名以"."开头,squid将它作为通配符,相反,如果ACL域名不以"."开头,squid使用精确的字符串比较。squid使用splay tree的数据结构来存储域名ACL.

用户名

使用对象:ident,proxy_auth

用户名必须被严格匹配。squid也有相关的ACL对用户名使用正则表达式匹配(ident_regex和proxy_auth_regex)。你可以使用单词"REQUIRED"作为特殊值去匹配任意用户名。

正则表达式

使用对象:srcdom_regex, dstdom_regex, url_regex, urlpath_regex, browser, referer_regex, ident_regex, proxy_auth_regex, req_mime_type, rep_mime_type

大量的ACL使用正则表达式来匹配字符串。最常使用的正则表达式功能用以匹配字符串的开头或结尾。例如,^字符匹配行或字符串的开头,$是匹配行或字符串的结尾,.字符是匹配任意单个字符的通配符,对所有的squid正则表达式类,匹配是默认大小写敏感的。为了大小写不敏感,在ACL类型后面使用-i选项。

TCP端口号

使用对象:port,myport

该类型是相对的,值是个别的端口号或端口范围。如下示例:

        acl Foo port 123
    
        acl Bar port 1-1024
自主系统号

使用对象:src_as,dst_as

Internet路由器使用自主系统(AS)号来创建路由表。基本上,某个AS号指向被同一组织管理的IP网络范围。例如,我的ISP分配了如下网络块:134.116.0.0/16,
137.41.0.0/16, 206.168.0.0/16,和其他更多。在Internet路由表里,这些网络被公布为属于AS 3404。当路由器转发包时,它们典型的选择经过最少AS的路径。AS基础的ACL仅仅被网络gurus使用。

 

ACL类型

src

使用IP地址来控制客户允许或不允许访问Squid。src类型指客户源IP地址。

acl MyNetwork src 192.168.0.0 10.0.1.0/24 10.0.5.0/24 172.16.0.0/12

dst

dst类型指向原始服务器(目标)IP地址。在某些情况下,能使用该类型来阻止用户访问特定web站点。然而,在使用dst
ACL时须谨慎。大部分squid接受到的请求有原始服务器主机名.

请注意,为了避免延时,该尽可能的使用dstdomain ACL类型来代替dst, dst ACL存在的问题是,你试图允许或拒绝访问的原始服务器可能会改变它的IP地址。假如你不关心这样的改变,那就不必麻烦去升级squid.conf。你可以在acl行里放上主机名,但那样会延缓启动速度。假如你的ACL需要许多主机名,你也许该预处理配置文件,将主机名转换成IP地址。

myip

myip类型指Squid的IP地址,它被客户连接。所以该ACL元素仅仅当系统有多个IP地址时才有用。

请注意,使用该机制你必须特别小心,阻止来自某个子网的用户连接squid位于另一子网的IP地址。否则,在会计和市场子网的聪明的用户,能够通过技术部子网进行连接,从而绕过你的限制。

dstdomain

使用它们去阻塞对某些站点的访问,去控制squid如何转发请求,以及让某些响应不可缓存,如下两行的不同:

        acl A dst www.squid-cache.org
        acl B dstdomain www.squid-cache.org

A实际上是IP地址ACL,假如在squid运行时IP地址改变了,squid会继续使用旧的地址。然而dstdomain
ACL以域名形式存储,并非IP地址。当squid检查ACL B时,它对URL的主机名部分使用字符串比较功能,它并不真正关心是否www.squid-cache.org的IP地址改变了。

使用dstdomain ACL的主要问题是某些URL使用IP地址代替主机名。

srcdomain

srcdomain要求对每个客户IP地址进行所谓的反向DNS查询。使用dst
ACL,FQDN查询会导致延时。请求会被延缓处理直到FQDN响应返回。FQDN响应被缓存下来,所以srcdomain查询通常仅在客户首次请求时延时。srcdomain查询有时不能工作。许多组织并没有保持他们的反向查询数据库与日更新,在该情形下,请求可能会延时非常长时间,直到DNS查询超时。

    假如你使用srcdomain ACL,请确认你自己的DNS in-addr.arpa区域配置正确并且在工作中。
port

使用port ACL来限制对某些原始服务器端口号的访问,port ACL允许你定义单独的端口或端口范围。例如:acl HTTPports port 80 8000-8010 8080

myport

port ACL指向原始服务器的端口号,myport指向squid自己的端口号,用以接受客户请求。假如在http_port指令里指定不止一个端口号,那么squid就可以在不同的端口上侦听。

假如将squid作为站点HTTP加速器和用户代理服务器,可以在80上接受加速请求,在3128上接受代理请求。想让所有人访问加速器,但仅仅你自己的用户能以代理形式访问squid。ACL可能如下:

        acl AccelPort myport 80
        acl ProxyPort myport 3128
        acl MyNet src 172.16.0.0/22
        http_access allow AccelPort         # anyone
        http_access allow ProxyPort MyNet   # only my users
        http_access deny ProxyPort          # deny others
method

method ACL指HTTP请求方法,如:acl Uploads
method PUT POST.

Squid知道下列标准HTTP方法:GET, POST, PUT, HEAD, CONNECT, TRACE, OPTIONS和DELETE。另外,来自WEBDAV规范,RFC
2518的方法:PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK。还有非标准的WEBDAV方法:
BMOVE, BDELETE, BPROPFIND。最后,你可以在extension_methods指令里配置squid去理解其他的请求方法。

注意CONNECT方法非常特殊。它是用于通过HTTP代理来封装某种请求的方法。在处理CONNECT方法和远程服务器的端口号时应特别谨慎。如你不希望squid连接到某些远程服务。你该限制CONNECT方法仅仅能连接到HTTPS/SSL或NNTPS端口(443和563)。默认的squid.conf这样做:

        acl CONNECT method CONNECT
        acl SSL_ports 443 563
        http_access allow CONNECT SSL_ports
        http_access deny CONNECT

在该配置里,squid仅仅允许加密请求到端口443(HTTPS/SSL)和563(NNTPS)。CONNECT方法对其他端口的请求都被拒绝。

PURGE是另一个特殊的请求方法。它是Squid的专有方法,它让管理员能强制删除缓存对象。

proto

该类型指URI访问(或传输)协议。有效值:http, https (same as HTTP/TLS), ftp, gopher, urn, whois, 和cache_object。例如拒绝所有的FTP请求:

        acl FTP proto FTP
        http_access deny FTP

cache_object机制是squid的特性。它用于访问squid的缓存管理接口。默认的squid.conf文件有许多行限制缓存管理访问:

        acl Manager proto cache_object
        acl Localhost src 127.0.0.1
        http_access allow Manager Localhost
        http_access deny Manager

这些配置行仅允许来自本机地址的缓存管理请求,所有其他的缓存管理请求被拒绝。这意味着在squid机器上有帐号的人,能访问到潜在的敏感缓存管理信息。

time

time ACL允许你控制基于时间的访问,时间为每天中的具体时间,和每周中的每天。日期以单字母来表示,见如下表。时间以24小时制来表示。开始时间必须小于结束时间。


Code


Day


S


Sunday


M


Monday


T


Tuesday


W


Wednesday


H


Thursday


F


Friday


A


Saturday


D


All weekdays (M-F)

 

日期和时间由localtime()函数来产生。

时间跨越子夜,你需要把它们分成两个ACL来写,或者使用否定机制来定义非忙时。例如:

        acl Offpeak1 20:00-23:59
        acl Offpeak2 00:00-04:00
        http_access allow Offpeak1 ...
        http_access allow Offpeak2 ...

另外,你可以这样写:

        acl Peak 04:00-20:00
        http_access allow !Peak ...

不应该在同一个time ACL里放置多个日期和时间范围列表。例如,假如你输入:acl Blah time M 08:00-10:00 W 09:00-11:00,实际能做到的是:acl
Blah time MW 09:00-11:00,解析仅仅使用最后一个时间范围。正确的写法是,将它们写进两行:

        acl Blah time M 08:00-10:00
        acl Blah time W 09:00-11:00
ident

ident ACL匹配被ident协议返回的用户名。

ident ACL可以对你的用户请求造成延时,推荐仅仅在本地局域网中,并且大部分客户工作站运行ident服务时,才使用ident
ACL。

注意ident协议不是很安全;squid也有个对客户端执行懒惰ident查询。在该情形下,在等待ident查询时,请求不会延时。

proxy_auth

squid支持HTTP代理验证功能。使用代理验证,客户的包括头部的http请求包含了验证信用选项。squid解密信用选项,并调用外部验证程序以发现该信用选项是否有效。

squid当前支持三种技术以接受用户验证:HTTP基本协议,数字认证协议,和NTLM。基本认证是非常不安全的技术,以明文同时发送。数字认证更安全,但也更复杂。NTLM也比基本认证更安全,然而它是Microsoft发展的专有协议。

为了使用代理验证,你必须配置squid使用大量的外部辅助程序,auth_param指令控制对所有辅助程序的配置。

    auth_param指令和proxy_auth ACL是少数在配置文件里顺序重要的实例。你必须在proxy_auth ACL之前定义至少一个验证辅助程序(使用auth_param)。

代理验证不支持HTTP拦截,因为用户代理不知道它在与代理服务器,而非原始服务器通信。

src_as

该类型检查客户源IP地址所属的具体AS号。例如,我们虚构某ISP使用AS 64222并且通告使用10.0.0.0/8,172.16.0.0/12,192.168.0.0/16网络。你可以编写这样的ACL,它允许来自该ISP地址空间的任何主机请求:

        acl TheISP src 10.0.0.0/8
        acl TheISP src 172.16.0.0/12
        acl TheISP src 192.168.0.0/16
        http_access allow TheISP

当然,可以这样写:

        acl TheISP src_as 64222
        http_access allow TheISP
dst_as

dst_as ACL经常与cache_peer_access指令一起使用。在该方法中,squid使用与IP路由一致的方式转发cache丢失。

snmp_community

snmp_community ACL对SNMP查询才有意义,后者被snmp_access指令控制。例如:

        acl OurCommunityName snmp_community hIgHsEcUrItY
        acl All src 0/0
        snmp_access allow OurCommunityName
        snmp_access deny All

在该情况中,假如community名字设置为hIgHsEcUrItY,SNMP查询才被允许。

maxconn

maxconn ACL指来自客户IP地址的大量同时连接。某些squid管理员发现这是个有用的方法,用以阻止用户滥用代理或者消耗过多资源。

arp

arp ACL用于检测cache客户端的MAC地址(以太网卡的物理地址)。该特性使用非移植性代码。运行./configure时增加--enable-arp-acl选项,就可以激活该功能。

arp ACL有另一个重要限制。客户主机和squid在同一子网,它才能工作。在squid和你的用户之间有路由器存在,你可能不能使用arp
ACL。

srcdom_regex

srcdom_regex ACL允许你使用正则表达式匹配客户域名。限制是:某些客户地址不能反向解析到域名。

dstdom_regex

dstdom_regex ACL也与dstdomain相似。下面的例子匹配以www开头的主机名:acl
WebSite dstdom_regex -i ^www/.如下是另一个有用的正则表达式,用以匹配在URL主机名里出现的IP地址:acl
IPaddr dstdom_regex [0-9]$

url_regex

url_regex ACL用于匹配请求URL的任何部分,包括传输协议和原始服务器主机名。例如,如下ACL匹配从FTP服务器的MP3文件请求:

        acl FTPMP3 url_regex -i ^ftp://.*/.mp3$
urlpath_regex

urlpath_regex与url_regex非常相似,不过传输协议和主机名不包含在匹配条件里。这让某些类型的检测非常容易。例如,假设你必须拒绝URL里的"sex",但仍允许在主机名里含有"sex"的请求,那么这样做:

        acl Sex urlpath_regex sex
browser

browser ACL对user-agent头执行正则表达式匹配。例如,拒绝不是来自Mozilla浏览器的请求,可以这样写:

        acl Mozilla browser Mozilla
        http_access deny !Mozilla
req_mime_type

req_mime_type ACL指客户HTTP请求里的Content-Type头部。该类型头部通常仅仅出现在请求消息主体里。req_mime_type
ACL值是正则表达式。你可以这样编写ACL去捕获音频文件类型:acl AuidoFileUploads req_mime_type -i ^audio/

rep_mime_type

该类型ACL指原始服务器的HTTP响应里的Content-Type头部。它仅在使用http_reply_access规则时才有用。假如你想使用squid阻塞Java代码,你可以这样写:

        acl JavaDownload rep_mime_type application/x-java
        http_reply_access deny JavaDownload
ident_regex

ident_regex允许你使用正则表达式,代替严格的字符串匹配,这些匹配是对ident协议返回的用户名进行。例如,如下ACL匹配包含数字的用户名:acl
NumberInName ident_regex [0-9]

proxy_auth_regex

该ACL允许对代理认证用户名使用正则表达式。例如,如下ACL匹配admin,administrator和administrators:

acl Admins proxy_auth_regex -i ^admin

 

外部ACL

外部ACL:可以指示squid发送某些信息片断到外部进程,然后外部的辅助程序告诉squid,数据匹配或不匹配。

external_acl_type指令定义新的外部ACL类型。通用语法:

    external_acl_type type-name [options] format helper-command

type-name是用户定义的字串。

Squid当前支持如下选项(options):

        ttl=n:用以缓存匹配值的时间长短。
        negative_ttl=n:用以缓存不匹配值的时间长短。
        concurrency=n:衍生的辅助程序的数量。
        cache=n:缓存结果的最大数量。
 
格式是以%字符开始的一个或多个关键字。squid当前支持如下格式:
        %LOGIN:从代理验证信用选项里获取的用户名。
        %IDENT:从RFC 1413 ident获取的用户名。
        %SRC:客户端IP地址。
        %DST:原始服务器IP地址。
        %PROTO:传输协议(例如HTTP,FTP等)
        %PORT:原始服务器的TCP端口。
        %METHOD:HTTP请求方法。
        %{Header}:HTTP请求头部的值;
        %{Hdr:member}:选择某些数量的基于列表的HTTP头部

可以在这里包含命令参数。例如,整条命令可能类似如此:

/usr/local/squid/libexec/my-acl-prog.pl -X -5 /usr/local/squid/etc/datafile

将这些放在一个长行里。squid不支持如下通过反斜杠分隔长行的技术,所以请记住所有这些必须放在单行里

编写引用它的acl行。这相对容易,语法如下:

        acl acl-name external type-name [args ...]

如下是个简单示例:

        acl MyAcl external MyAclType

squid接受在type-name后面的任意数量的参数。

 

处理长ACL列表

从外部文件里包含ACL列表。语法:acl name "filename"

这里的双引号指示squid打开filename,并且将它里面的内容分配给ACL。

文件可以包含以#开头的注释。注意在该文件里的每个IP地址必须是一个单独的行。acl行里的任何地方,以空格来分隔值,新行是包含ACL值的文件的分界。

 

Squid如何匹配访问控制元素

squid在检查ACL元素值时使用OR逻辑。当squid找到第一个值匹配时,它停止搜索。这意味着把最可能匹配的值放在列表开头处,能减少延时。

 

访问控制规则

squid有大量其他的访问控制列表:

http_access:它决定哪些客户HTTP请求被允许,和哪些被拒绝。

http_reply_access:基于响应内容类型来允许或拒绝请求。
 
icp_access:squid被配置来服务ICP响应,那么该使用icp_access列表。
 
no_cache:使用no_cache访问列表来指示squid,它不必存储某些响应(在磁盘或内存里)。
 
miss_access:主要用于squid的邻居cache。它决定squid怎样处理cache丢失的请求。如果squid使用集群技术,那么该功能必需。
 
redirector_access:该访问列表决定哪个请求被发送到重定向进程。可以使用redirector_access列表来阻止某些请求被重写。
 
ident_lookup_access: ident_lookup_access列表与redirector_access类似。它允许你对某些请求执行懒惰ident查询。
 
always_direct: 该访问列表影响squid怎样处理与邻居cache转发cache丢失。
never_direct: never_direct与always_direct相反。匹配该列表的cache丢失请求必须发送到邻居cache。
 
snmp_access: 该访问列表应用到发送给squid的SNMP端口的查询。
 
broken_posts: 该访问列表影响squid处理某些POST请求的方法。
 
cache_peer_access: 该访问列表控制发送到邻居cache的HTTP请求和ICP/HTCP查询。
 
reply_body_max_size: 该访问列表限制对HTTP响应主体的最大可接受size。
 
delay_access: 该访问规则列表控制是否延时池被应用到某个请求的cache丢失响应。
 
tcp_outgoing_address: 该访问列表绑定服务端TCP连接到指定的本地IP地址。
 
tcp_outgoing_tos: 该访问列表能设置到原始服务器和邻居cache的TCP连接的不同TOS/Diffserv值。
 
header_access: 使用该指令,你能配置squid从它转发的请求里删除某些HTTP头部。
 
header_replace: 该指令允许你替换,而不是删除,HTTP头部的内容。

访问规则语法

访问控制规则的语法如下:

access_list allow|deny [!]ACLname ...

将最常用的ACL放在列表的开始位置,可以减少squid的CPU负载。

请谨慎的编写always_direct,never_direct,和no_cache规则。在always_direct中,allow规则意味着匹配的请求直接转发到原始服务器。always_direct
deny规则意味着匹配的请求不强迫发送到原始服务器,但假如邻居cache不可到达,那可能还是会这么做。no_cache规则也有点麻烦。这里,你必须对不必被cache的请求使用deny。

如何匹配访问规则

squid在搜索ACL元素时使用的“或”逻辑。访问规则恰好相反,squid使用“与”逻辑。如下示例:

access_list allow ACL1 ACL2 ACL3

对该匹配规则来说,请求必须匹配ACL1,ACL2,ACL3中的任何一个。

对某个规则来说,将最少匹配的ACL放在首位,能使效率最佳。考虑如下示例:

假如最后的规则是deny规则,默认动作是允许请求。在访问列表的最后加上一条,明确允许或拒绝所有请求,是好的实际做法。

src 0/0 ACL表示匹配每一个和任意类型的请求。

访问列表风格

该将更具体的和受限制的访问列表放在首位。
无论何时,你编写了一个带两个或更多ACL元素的规则,建议你在其后紧跟一条相反的,更广泛的规则。

 

延时检查

当squid遇到某个ACL不能被检查时,它延迟决定并且发布对必要信息的查询(IP地址,域名,用户名等)。当信息可用时,squid再次在列表的开头位置检查这些规则。它不会从前次检查剩下的位置继续。假如可能,你应该将这些最可能被延时的ACL放在规则的顶部,以避免不必要的,重复的检查。

 

减缓和加速规则检查

下列访问规则被快速检查:

header_access
reply_body_max_size
reply_access
ident_lookup
delay_access
miss_access
broken_posts
icp_access
cache_peer_access
redirector_access
snmp_access
时间: 2024-09-27 14:54:50

squid 访问控制的相关文章

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

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

解析squid安全策略

代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站.随着代理服务器的广泛使用,随之而来的是一系列的安全问题.由于没有对代理服务器的访问控制策略做全面细致地配置,导致用户可以随意地通过代理服务器访问许多色情.反动的非法站点,而这些行为往往又很难追踪,给管理工作带来极大的不便.以下为您介绍Linux下常用的Squid代理服务器的安全策略,期望抛砖引玉,对您的工作有所帮助. 控制对客户端访问 使用访问控制特性,可以控制在访问时根据特定的时间间隔进行缓存.访问特定站点或一组站点等.Squi

squid安全策略解析

代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站.随着代理服务器的广泛使用,随之而来的是一系列的安全问题.由于没有对代理服务器的访问控制策略做全面细致地配置,导致用户可以随意地通过代理服务器访问许多色情.反动的非法站点,而这些行为往往又很难追踪,给管理工作带来极大的不便.以下为您介绍Linux下常用的Squid代理服务器的安全策略,期望抛砖引玉,对您的工作有所帮助. 控制对客户端访问 使用访问控制特性,可以控制在访问时根据特定的时间间隔进行缓存.访问特定站点或一组站点等.Squi

搭建一个大型网站架构的实验环境(Squid缓存服务器篇)第1/2页_Linux

Squid是一个应用级代理,在保证客户端主机和服务器主机网络连通后,需要客户端软件做相应的设置后才能使用,比如给 Internet Explorer设置代理服务器地址.端口等.WEB缓存功能对于一个规模较大.访问繁忙的网络来说是有必要的,IBM网站上的一篇文章,详细分析介绍了WEB缓存给上网用户带来的好处:http://www-900.ibm.com/developer ... achinga/index.shtml 下面我们就介绍一下squid的有关内容. §§ 安装运行squid Redha

使用squid常规代理实现内网的共享上网

一.Squid的简单介绍 通过squid代理服务器实现内网用户共享上网,配置squid的缓存和基本的访问控制加速和限制web服务的访问. 对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率.Squid不仅支持HTTP协议,还支持ftp.gopher.SSL和WAIS等协议.和一般的代理缓存软件不同,Squid用一个单独的.非模块化的.I/O驱动的进程来处理所有的客户端请求. Squid将数据元缓存在内存中,同时也缓存DNS

Linux Squid的透明代理

一.常用acl列表类型 acl定义实例 acl LAN1 src 192.168.1.0/24 acl PC1 src 192.168.1.66/32 acl Blk_Domain dstdomain .qq.com .kaixin001.com acl Work_Hours time MTWHF 08:30-17:30 acl Max20_Conn maxconn 20 acl Blk_URL url_regex -i ^rstp:// ^mms:// acl Blk_Words urlpat

Linux Squid代理的普通代理

一.安装Squid和配置 1.安装Squid yum-yinstallsquid* 2.squid配置文件 /etc/squid/squid.conf 3.squid操作 servicesquidstart/stop/restart 4.重新加载配置文件 squid-kreconfig 二.Squid常用配置项 #开启 http_port 192.168.10.1:3128 #设置使用内存大小 cache_mem 64 MB #缓存对象大小 maximum_object_size 4096 KB

Linux squid代理的基本概念

一.squid服务器基本功能 1.提供对HTTP和FTP协议的代理服务 2.缓存代理的内容,提高客户端访问网站的速度,节约流量 3.对客户端地址进行访问控制,限制允许访问squid服务器的客户机 4.对目标地址进行访问控制,限制客户端允许访问的网络 5.根据时间进行访问控制,限定客户端可以使用代理服务器的时间. 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/proxy/ 二.squid的代理方式 1.普通代理服务 标准的,

linux下使用squid和squidGuard配置代理服务器

前言: 本文主要介绍了在linux使用squid和squidGuard配置代理服务器,以www代理服务为例介绍如何过滤有害站点和限制用户对internet的访问. 一. 介绍 Squid是linux下最为流行的代理服务器软件,它功能强大,支持对HTTP,FTP,Gopher,SSL和WAIS等协议的代理;设置简单,只需对配置文件中稍稍改动就可使代理服务器运转起来.而且Squid具有页面缓存功能,它接收用户的下载申请,并自动处理所下载的数据.也就是说,当一个用户象要下载一个主页时,它向Squid发