博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
访问控制
阅读量:4360 次
发布时间:2019-06-07

本文共 2636 字,大约阅读时间需要 8 分钟。

要想查看目前代理服务器正在连接什么东西需要查看access.log,由于是个文件,如果想实时监控的话可以使用tail的-f命令来follow这个文件。

开始扫描里头提到了,一定要研习一番

访问控制ACL(要求彼此之间没有交集)

acl name type value1 value2 …

6.1.1 type大约有25个

6.1.1.1 ip地址:src,dst,myip,以下三种表达方式是相同的,最好不要使用域名,直接使用ip

acl Xyz src 172.16.55.32/255.255.255.248

acl Xyz src 172.16.55.32/28                #我觉得还是这种最帅气

acl Xyz src 172.16.55.32                    #这种不知道对不对(对的,已验证)

另外,支持这种写法:

acl Bar src 172.16.10.0-172.16.19.0/24

6.1.1.2 域名:srcdomain, dstdomain,和cache_host_domain指令

URL hostname 

Matches ACL lrrr.org? 

Matches ACL .lrrr.org? 

Yes 

Yes 

No 

Yes 

No 

No 

6.1.1.3 用户名:ident, proxy_auth

6.1.1.4 正则表达式:scrdom_regex, dstdom_regex, url_regex, urlpath_regex, browser, referer_regex, ident_regex, proxy_auth_regex, reg_mime_type, rep_mime_type

6.1.1.5 TCP端口号:port, myport

acl Foo port 123

acl Foo port 1-1024

6.1.1.6 自主系统号:src_as, dst_as ***用不上吧

6.1.2.1 src

使用ip地址控制客户对Squid的访问,如果是url也会被dns到ip,可以使用dstdomain来解决

6.1.2.3 myip

指Squid的IP地址

6.1.2.4 dstdomain

基于名字的访问控制,对url的主机名部分使用字符串比较功能

6.1.2.5 srcdomain

客户反向DNS查询

6.1.2.6 port

访问目标的端口

6.1.2.7 myport

squid的监听端口,可以不止一个

6.1.2.8 method

HTTP请求方法:GET, POST, PUT等

6.1.2.9 proto

指URL访问协议:http, https ftp, gopher, urn, whois, cache_object

6.1.2.10 time

控制基于时间的访问

acl Working_hours MTWHF 08:00-17:00

6.1.2.11 ident***用不上

6.1.2.12 proxy_auth

6.1.2.16 maxconn 最大连接数

acl OverConnLimit maxconn 4

http_access deny OverConnLimit

6.1.2.17 arp

在同一子网基于物理地址的控制

acl WinBoxes arp 00:00:21:55:ed:22

acl WinBoxes arp 00:00:21:ff:55:38

6.1.2.18 srcdom_regex:使用正则表达式匹配客户域名,依然需要

6.1.2.19 dstdom_regex:与dstdomain类似,只是使用了正则

6.1.2.20 url_regex:用于匹配URL请求的任何部分,包括传输协议和原始服务器主机名

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

6.1.2.21 urlpath_regex:前者排除传输协议和主机名后就是他

6.1.2.22 browser 对客户HTTP请求里user-agent头执行正则表达式匹配

acl AuidoFileUploads req_mime_type -i ^audio/

6.1.2.23 req_mime_type 对原始服务器HTTP响应里content-type头部正则匹配

acl JavaDownload rep_mime_type application/x-java

http_reply_access deny JavaDownload

6.1.2.26 proxy_auth_regex对代理认证用户名使用正则

acl Admins proxy_auth_regex -i ^admin

 

 

6.2 访问控制规则

前面是访问控制(acl)元素的建立。接着通过前面的元素建立访问控制规则,用来拒绝或允许某些动作,语法:access_list allow|deny [!]ACLname ...

6.2.2 如何匹配访问规则

逐条处理,acl是"或"逻辑,访问规则使用"与"逻辑

access_list allow ACL1 ACL2 ACL3请求必须匹配任何一个,因此要将最少匹配放在首位

对某个ACL值的匹配算法是,squid在访问列表里找到匹配规则时,搜索终止。假如没有访问规则导致匹配,默认动作是列表里最后一条规则的取反。例如,考虑如下简单访问配置:

acl Bob ident bob

http_access allow Bob

假如用户Mary发起请求,她会被拒绝。列表里最后的(后面没有访问列表了)规则是allow规则,它不匹配用户名mary。这样,默认的动作是allow的取反,故请求被拒绝。类似的,假如最后的规则是deny规则,默认动作是允许请求。在访问列表的最后加上一条,明确允许或拒绝所有请求,是好的实际做法。为清楚起见,以前的示例应该如此写:(这样,所有的src都会卡在下面最后一条上,因为都会匹配ALL)

acl All src 0/0

acl Bob ident bob

http_access allow Bob

http_access deny All

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

转载于:https://www.cnblogs.com/observer/archive/2011/11/03/2234866.html

你可能感兴趣的文章
2014年工作中遇到的20个问题:1-20
查看>>
热烈庆祝UE4完全免费Free---GitHub上源码的关联方法
查看>>
题目1207:质因数的个数
查看>>
A - Goldbach's Conjecture
查看>>
px转rem
查看>>
forbidden
查看>>
梦断代码阅读笔记02
查看>>
C# String
查看>>
洛谷P5160 WD与循环
查看>>
服务器配置apache2.4+php5.6+mysql
查看>>
Java第14周作业
查看>>
Django项目:CRM(客户关系管理系统)--67--57PerfectCRM实现admin批量生成上课记录
查看>>
SQL注入速查表(上)
查看>>
nyoj252-01串
查看>>
JS-- 小细节--你悟到了什么?
查看>>
收款 借贷
查看>>
Gson关于抽象类的序列化与反序列化
查看>>
Java面向对象之类和对象
查看>>
Oracle数据库提权(dba权限执行系统命令)
查看>>
Hydra爆破神器使用
查看>>