squid之acl访问控制命令

Acl访问控制:
Squid提供了强大的代理控制机制,通过合理设置ACL并进行控制,可以针对源地址、目标地址、URL路径、访问时间等各种条件进行设置

ACL访问控制通过以下两个步骤来实现:

(1)使用acl配置项定义需要控制的条件

(2)通过http_access配置项对已定义的条件做限制,如“允许”或“拒绝”

1、定义acl配置项

每一行acl配置可以定义一条访问控制列表,格式如下:

	acl  列表名称   列表类型   列表内容

说明:
列表名称:由管理员自行指定,用来识别控制条件

列表类型:必须使用Squid预定义的值,对应不同类别的控制条件

列表内容:具体控制的对象,不同的类型对应的内容也不一样,可以有多个值,用空格分隔

列表类型:
列表类型 含义/用途 列表内容示例
src 源IP地址、网段、IP地址范围(客户机IP地址) 192.168.1.100
192.168.1.0/24
192.168.1.0-192.168.3.0/24
dst 目标IP地址、网段主机名(服务器IP地址) 216.182.154.9
216.182.154.0/24
www.ysf.com
port 目标端口 80、443、20、22
srcdomain 源名称(客户机所属的域) .yangshufan.com
dstdomain 目标名称(服务器所属的域) .qq.com
time 字母表示一星期中各天的英文缩写MTWHFAS MTWHF 8:30-17:30(周一至周五的时刻)

	12:30-13:30
	
	AS(周六、日)

maxconn 每个客户机的并发连接数 20
url_regex 目标资源的URL地址,-i表示忽略大小写 url_regex -i ^rtsp://

urlpath_regex 目标资源的整个URL路径 urlpath_regex -i sex adult

	urlpath_regex -i \.mp3$

从上向下依次匹配,匹配及停止,并执行匹配的动作

例子:
acl mylan src 192.168.1.0/24 192.168.4.0/24
//客户机网段
acl worktime time MTWHF 08:30-17:30
//周一至周五的工作时间段
acl to_host dst 127.0.0.0/8
//目标地址
acl mc20 maxconn 20
//最大并发连接20
acl blackURL url_regex -i ^rtsp:// ^ emo://
//以rtsp://等开头的URL
acl fileURL urlpath_regex -i .mp3$ .mp4$
//以.mp3、.mp4结尾的URL路径

#当需要限制的同一类型较多时,可以用独立的文件来存放
mkdir /etc/squid //建立目标地址名单
cd /etc/squid
vi ipblock.list //建立目标IP地址名单
89.23.12.34
191.12.37.112
171.23.65.0/24

vi dmblock.list //建立目标域地址名单
.qq.com
.ysf.com
.yang.com

vi /etc/squid.conf
acl ipblock dst “/etc/squid/ipblock.list”
//调用指定文件的列表内容
acl dmblock dstdomain “/etc/squid/dmblock.list”

  1. 设置访问权限

    定义好acl后,需要设置访问权限,并必须防止对应的acl配置项之后,格式如下:

http_access deny或allow 列表名

vi /etc/squid.conf
……
http_access allow mylan !fileURL //!取反值,表示禁止客户机下载MP3、MP4文件
http_access allow mylan worktime safeport !ipblock !dmblock
//允许客户机在工作时间访问80、443端口,拒绝访问黑名单的IP地址、域
http_access deny all //默认禁止所有客户机使用代理

[root@lq1 ~]# vi /etc/squid.conf
禁止192.168.909主机上网
acl nolink src 192.168.90.9
http_access deny nolink

[root@lq1 ~]# service squid restart
在windows浏览器中输入http://192.168.80.101

[root@lq1 ~]# vi /etc/squid.conf

[root@lq1 ~]# service squid restart

在windows浏览器中输入192.168.80.101

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Squid 可以通过访问控制列表(ACL)来控制用户访问权限。以下是在 Squid 中配置用户访问权限的步骤: 1. 定义 ACL:在 squid.conf 文件中定义 ACL,例如: ``` acl mynet src 192.168.0.0/16 acl myuser proxy_auth REQUIRED ``` 第一个 ACL 定义了一个名为 mynet 的 ACL,它包含 IP 地址为 192.168.0.0/16 的所有客户端。第二个 ACL 定义了一个名为 myuser 的 ACL,它要求客户端必须使用代理服务器的用户名和密码进行身份验证。 2. 配置访问规则:在 squid.conf 文件中配置访问规则,例如: ``` http_access allow mynet http_access allow myuser http_access deny all ``` 这些规则指定了允许哪些客户端访问代理服务器。第一行规定了名为 mynet 的 ACL 允许访问代理服务器,第二行规定了名为 myuser 的 ACL 允许访问代理服务器,第三行规定了所有其他客户端拒绝访问代理服务器。 3. 配置用户名和密码文件:在 squid.conf 文件中配置用户名和密码文件,例如: ``` auth_param basic program C:\squid\sbin\ncsa_auth C:\squid\etc\passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off ``` 这些规则指定了 Squid 代理服务器使用的用户名和密码文件的路径,并设置了其他相关参数,如认证程序、子进程数、凭证有效期等。 4. 创建用户名和密码文件:使用 htpasswd 程序创建用户名和密码文件,例如: ``` C:\squid\etc> htpasswd -c passwd alice New password: ******** Re-type new password: ******** Adding password for user alice ``` 这将在 C:\squid\etc 目录下创建一个名为 passwd 的文件,并将用户名 alice 和相应的密码添加到文件中。你可以重复使用 htpasswd 命令添加其他用户。 这样就完成了 Squid 中用户访问权限的配置。需要注意的是,为了保证安全性,你应该使用 HTTPS 协议来加密用户名和密码的传输过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值