树叶云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

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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