实验二、代理服务器访问控制配置.doc
文本预览下载声明
实验二、代理服务器访问控制配置IP地址、主机名、MAC地址、用户密码等手段识别用户,以决定是否允许进行代理;
访问对象控制
可以通过域名、域后缀、文件类型、目的IP地址、目的端口、目的URL匹配等控制用户的访问对象;
访问时间控制
可以使用时间区间控制用户访问时间。
Squid使用ACL(Access Control List,访问控制列表)对访问类型进行划分,用http_access deny(拒绝) 或allow(允许)进行控制。
1.实验目的
通过对Squid代理服务器访问权限的配置实验,加深对代理服务器原理和功能的理解,掌握Squid代理服务器访问控制的配置方法。
2.实验要求
(1)将局域网的用户分为高级用户advance、普通用户normal和不允许上网的黑名单用户baduser三个用户组,advance组的用户可以在任何时间访问任何除baddst定义的黑名单网站外的任何网站的任何内容,normal的用户可以在非工作时间访问任何除baddst定义的黑名单网站外的任何网站的任何内容,baduser在任何时间都不允许访问任何网站。
(2)定义baddst为不可访问的黑名单网站;
(3)定义工作时间worktime为周一至周五的8:30-12:00和14:00-17:30。
然后将某计算机的上网设置为通过该代理服务器上网,测试Squid代理服务器系统工作是否正常。
3.实验步骤
修改Squid的配置文件,配置步骤如下:
3.1 定义访问列表
advance (src 表示源端访问, dst 表示目的端访问),包括IP地址从到0的所有计算机:?
acl advance src -0
定义普通用户组normal,IP地址从1到00的所有计算机:?
acl normal src 1-00?
定义黑名单用户组baduser,包含一台计算机,其IP地址是00:?
acl baduser src 00
定义黑名单网站, baddst列表包含了不允许访问的目的网站URL或IP地址:?
acl baddst dst ?? 3
定义工作时间worktime为周一至周五的8:30-12:00 和14:00-17:30:
acl worktime time MTWHF 8:30-12:00 14:00-17:30?
其中“MTWHF”为周一至周五的代称,可以随意组合。
定义除上述用户外的所有其他用户定义为all,其IP地址为 /,控制方式是src源端控制,出于安全考虑,将总是在最后禁止这个列表。?
acl all src /
3.2定义控制方式ACL命令的基本格式如下:?
acl???? ?列表名称 ??? 控制方式 ??? 控制目标?
??? http_access deny baduser ?? ???
????http_access deny worktime? normal
??? http_access allow advance?
??? http_access deny baddst?
http_access deny all
上面几行代码告诉Squid不允许baduser组中的用户访问任何网站,不允许normal组的用户在工作时间访问任何网站,允许advance组的用户访问除baddst定义的网站外的所有站点,除此外的所有其他用户也不能访问任何站点。
由于用户可以随意IP地址,通过上面介绍的IP地址来识别用户很不可靠,比IP地址更好的是网卡的MAC物理地址。
要在Squid中使用MAC地址识别,必须在编译时加上“--enable-arp-acl”选项,然后在配置文件中通过类似于下面的语句来标识用户:?
??? acl advance arp 00:01:02:1f:2c:3e???00:01:02:3c:1a:8b ...?
????Squid还可以对访问的数据类型进行控制,例如,如果不希望用户通过代理服务器下载MP3、AVI等文件,可以进行以下配置:?
??? acl bad_file urlpath_regex - i \.mp3$ \.avi$ \.exe$?
??? http_access deny bad_file?
其中 -i参数表示忽略大小写(mp3或MP3都将被禁止)。
总之,Squid的ACL配置非常灵活、强大,更多的控制方式可以参考squid.conf.default文件。
4、实验评测
分别将测试的客户机IP设置为高级用户(advance)、一般用户(normal)和黑名单(baduser)组上的用户,将代理服务器上的时间分别设置为工作时间(worktime)和非工作时间,然后通过代理服务器分别访问目的网
显示全部