Squid中文权威指南第十二章

2009-05-13 12:01:27来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

第12章 验证辅助器
先前我在6.1.2.12章里谈起过代理验证。然而,我仅仅解释了如何编写用于代理验证的访问控制规则。这里,我将告诉你如何选择和配置部分验证辅助器。
回想一下,
[url=javascript:;]Squid[/url]

持三种方式用于从用户端采集验证信用项:基本,摘要(Digest),和NTLM。这些方式指定squid如何从客户端接受用户名和密码。从安全观点看,
基本验证非常脆弱。摘要和NTML验证显然更强壮。对每种方式,squid提供一些验证模块,或辅助进程,用于实际处理认证的过程。
我提到的所有验证辅助器都包含在squid的源代码发布里。你可以在编译时
[url=javascript:;]使用[/url]
./configure选项来指定它们的目录名。例如:
% ls helpers/basic_auth
   
LDAP                    NCSA                    getpwnam
   
MSNT                    PAM                     multi-domain-NTLM
   
Makefile                SASL                    winbind
   
Makefile.am             SMB
   
Makefile.in             YP
   
% ./configure --enable-basic-auth-helpers=LDAP,NCSA ...
辅助器程序正常
[url=javascript:;]安装[/url]
在$prefix/libexec目录。

同重定向器一样,squid使用一个验证辅助器进程池。某个验证请求会被送往第一个空闲辅助器。当所有验证器进程都忙时,squid将未处理请求放进队
列。假如队列变得太大,squid会以致命错误消息退出。大部分情况下,squid缓存验证结果。这样就减少了辅助器进程的负载,并改进了响应时间。
12.1 配置Squid
auth_param
指令控制了配置squid的验证辅助器的每个方面。不同的方式(基本,摘要,NTLM)有一些共性,也有一些唯一的参数。紧跟在auth_param后的
第一个参数必须是basic, digest, 或ntlm之一。我将在随后章节里,详细讲解每种验证机制的配置细节。
除了auth_param外,squid还有2个指令影响到代理验证。可以使用max_user_ip ACL来阻止用户与其他人共享用户名和密码。假如squid检测到相同的用户名来自太多不同IP地址,该ACL被匹配,就可以拒绝这样的请求。例如:
acl FOO max_user_ip 2
acl BAR proxy_auth REQUIRED
http_access deny FOO
http_access allow BAR

该情形中,假如用户从3个或更多的不同IP地址提交请求,squid就拒绝该请求。authenticate_ip_ttl指令控制squid记住每个用
户的源IP地址多长时间。对于经常改变IP地址的用户,更小的TTL可能好点。在一个用户的IP地址很长时间不变的环境里,可以使用较大的TTL。
12.2 HTTP基本验证
基本验证最简单,然而最不安全。它本质上以明文来传送用户密码,尽管密码被编码成可打印字符。例如,假如用户敲入其用户名Fannie和密码FuRpAnTsClUb,用户代理首先将这2者结合到一个单一串里,以冒号来分割用户名和密码:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Squid中文权威指南第十章

下一篇:Squid中文权威指南第十三章