树叶云linux教程:16.3.2 ACL访问控制

在日常工作中,企业员工一般是通过公司内部的网关服务器来访问互联网,当将Squid服务程序部署为公司网络的网关服务器后,Squid服务程序的访问控制列表(ACL)功能将发挥它的用武之地。它可以根据指定的策略条件来缓存数据或限制用户的访问。比如很多公司会分时段地禁止员工逛淘宝、打网页游戏,这些禁止行为都可以通过Squid服务程序的ACL功能来实现。大家如果日后在人员流动较大的公司中从事运维工作,可以牢记本节内容,在公司网关服务器上部署的Squid服务程序中添加某些策略条件,禁止员工访问某些招聘网站或竞争对手的网站,没准还能有效降低员工的流失率。

Squid服务程序的ACL是由多个策略规则组成的,它可以根据指定的策略规则来允许或限制访问请求,而且策略规则的匹配顺序与防火墙策略规则一样都是由上至下;在一旦形成匹配之后,则立即执行相应操作并结束匹配过程。为了避免ACL将所有流量全部禁止或全部放行,起不到预期的访问控制效果,运维人员通常会在ACL的最下面写上deny all或者allow all语句,以避免安全隐患。

刘遄老师将通过下面的4个实验向大家演示Squid服务程序的ACL功能有多么强大。

实验1:只允许IP地址为192.168.10.20的客户端使用服务器上的Squid服务程序提供的代理服务,禁止其余所有的主机代理请求。

下面的配置文件依然是Squid服务程序的配置文件,但是需要留心配置参数的填写位置。如果写的太靠前,则有些Squid服务程序自身的语句都没有加载完,也会导致策略无效。当然也不用太靠后,大约在26~32行的位置就可以,而且采用分行填写的方式也便于日后的修改。

    [root@linuxprobe ~]# vim /etc/squid/squid.conf
     1 #
     2 # Recommended minimum configuration:
     3 #
     4 
     5 # Example rule allowing access from your local networks.
     6 # Adapt to list your (internal) IP networks from where browsing
     7 # should be allowed
     8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
     9 acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
     10 acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
     11 acl localnet src fc00::/7 # RFC 4193 local private network range
     12 acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) mac hines
     13 
     14 acl SSL_ports port 443
     15 acl Safe_ports port 80 # http
     16 acl Safe_ports port 21 # ftp
     17 acl Safe_ports port 443 # https
     18 acl Safe_ports port 70 # gopher
     19 acl Safe_ports port 210 # wais
     20 acl Safe_ports port 1025-65535 # unregistered ports
     21 acl Safe_ports port 280 # http-mgmt
     22 acl Safe_ports port 488 # gss-http
     23 acl Safe_ports port 591 # filemaker
     24 acl Safe_ports port 777 # multiling http
     25 acl CONNECT method CONNECT
     26 acl client src 192.168.10.20
     27 #
     28 # Recommended minimum Access Permission configuration:
     29 #
     30 # Deny requests to certain unsafe ports
     31 http_access allow client
     32 http_access deny all
     33 http_access deny !Safe_ports
     34
    [root@linuxprobe ~]# systemctl restart squid

上面的配置参数其实很容易理解。首先定义了一个名为client的别名。这其实类似于13.6节讲解的DNS分离解析技术,当时我们分别定义了两个名为china与american的别名变量,这样当再遇到这个别名时也就意味着与之定义的IP地址了。保存配置文件后重启Squid服务程序,这时由于客户端主机的IP地址不符合我们的允许策略而被禁止使用代理服务,如图16-8所示。

图16-8 使用代理服务浏览网页失败

实验2:禁止所有客户端访问网址中包含linux关键词的网站。

Squid服务程序的这种ACL功能模式是比较粗犷暴力的,客户端访问的任何网址中只要包含了某个关键词就会被立即禁止访问,但是这并不影响访问其他网站。

    [root@linuxprobe ~]# vim /etc/squid/squid.conf
     1 #
     2 # Recommended minimum configuration:
     3 #
     4 
     5 # Example rule allowing access from your local networks.
     6 # Adapt to list your (internal) IP networks from where browsing
     7 # should be allowed
     8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
     9 acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
     10 acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
     11 acl localnet src fc00::/7 # RFC 4193 local private network range
     12 acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) mac hines
     13 
     14 acl SSL_ports port 443
     15 acl Safe_ports port 80 # http
     16 acl Safe_ports port 21 # ftp
     17 acl Safe_ports port 443 # https
     18 acl Safe_ports port 70 # gopher
     19 acl Safe_ports port 210 # wais
     20 acl Safe_ports port 1025-65535 # unregistered ports
     21 acl Safe_ports port 280 # http-mgmt
     22 acl Safe_ports port 488 # gss-http
     23 acl Safe_ports port 591 # filemaker
     24 acl Safe_ports port 777 # multiling http
     25 acl CONNECT method CONNECT
     26 acl deny_keyword url_regex -i linux
     27 #
     28 # Recommended minimum Access Permission configuration:
     29 #
     30 # Deny requests to certain unsafe ports
     31 http_access deny deny_keyword
     33 http_access deny !Safe_ports
     34
    [root@linuxprobe ~]# systemctl restart squid

刘遄老师建议大家在进行实验之前,一定要先把前面实验中的代码清理干净,以免不同的实验之间产生冲突。在当前的实验中,我们直接定义了一个名为deny_keyword的别名,然后把所有网址带有linux关键词的网站请求统统拒绝掉。当客户端分别访问带有linux关键词和不带有linux关键词的网站时,其结果如图16-9所示。

图16-9 当客户端分别访问带有linux关键词和不带linux关键词的网站时,所呈现的结果

实验3:禁止所有客户端访问某个特定的网站。

在实验2中,由于我们禁止所有客户端访问网址中包含linux关键词的网站,这将造成一大批网站被误封,从而影响同事们的正常工作。其实通过禁止客户端访问某个特定的网址,也就避免了误封的行为。下面按照如下所示的参数配置Squid服务程序并重启,然后进行测试,其测试结果如图16-10所示。

    [root@linuxprobe ~]# vim /etc/squid/squid.conf
     24 acl Safe_ports port 777 # multiling http
     25 acl CONNECT method CONNECT
     26 acl deny_url url_regex http://www.linuxcool.com
     27 #
     28 # Recommended minimum Access Permission configuration:
     29 #
     30 # Deny requests to certain unsafe ports
     31 http_access deny deny_url
     33 http_access deny !Safe_ports
     34
    [root@linuxprobe ~]# systemctl restart squid

图16-10 无法使用代理服务访问这个特定的网站

实验4:禁止员工在企业网内部下载带有某些后缀的文件。

在企业网络中,总会有一小部分人利用企业网络的高速带宽私自下载资源(比如游戏安装文件、电影文件等),从而对其他同事的工作效率造成影响。通过禁止所有用户访问.rar或.avi等后缀文件的请求,可以防止他们继续下载资源,让他们知难而退。下面按照如下所示的参数配置Squid服务程序并重启,然后进行测试,其测试结果如图16-11所示。

如果这些员工是使用迅雷等P2P下载软件来下载资源的话,就只能使用专业级的应用防火墙来禁止了。

    [root@linuxprobe ~]# vim /etc/squid/squid.conf
     24 acl Safe_ports port 777 # multiling http
     25 acl CONNECT method CONNECT
     26 acl badfile urlpath_regex -i \.mp3$ \.rar$
     27 #
     28 # Recommended minimum Access Permission configuration:
     29 #
     30 # Deny requests to certain unsafe ports
     31 http_access deny badfile
     33 http_access deny !Safe_ports
     34
    [root@linuxprobe ~]# systemctl restart squid

图16-11 无法使用代理服务下载具有指定后缀的文件

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/181786.html<

(0)
管理的头像管理
上一篇2025-03-27 15:50
下一篇 2025-03-27 15:52

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注