acl 订阅
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。 [1] 展开全文
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。 [1]
信息
高级ACL编号范围
3000-3999
简    称
ACL
应用学科
计算机网络安全
分    类
基本ACL和高级ACL
中文名
访问控制列表
基本ACL编号范围
2000-2999
外文名
Access Control Lists
访问控制列表简介
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。 [2]  访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞,例如,用户可以允许E-mail通信流量被路由,拒绝所有的 Telnet通信流量等。 [2]  访问控制列表从概念上来讲并不复杂,复杂的是对它的配置和使用,许多初学者往往在使用访问控制列表时出现错误。 [3] 
收起全文
精华内容
下载资源
问答
  • ACL

    2021-03-18 20:39:48
    文章目录ACL1.ACl概念2.工作原理3.ACL的作用4.ACL的种类5.ACL的应用规则6.实验配置 ACL 1.ACl概念 ACL(Access Control Lists,缩写ACL),是存取控制列表。它读取第三层和第四层的包头信息(这里就引出了通信四元素...

    ACL

    1.ACl概念

    ACL(Access Control Lists,缩写ACL),是存取控制列表。它读取第三层和第四层的包头信息(这里就引出了通信四元素:原地址,目标地址,源端口。目标端口),根据预先设置的规则对包进行过滤。

    2.工作原理

    在这里插入图片描述
    在入口上:数据包从入口进路由器,就会被路由器处理
    在出口上:数据包在经过路由器处理后,才会让它从出口出去
    ACL工作原理:当数据包从接口经过时,由于接口启用了ACL,此时路由器会对报文进行检查,然后做出相应的处理
    其实就是从上往下一条一条的匹配,直到最后,丢弃或者发送出去。

    3.ACL的作用

    • 用来对数据包做访间控制(丢弃或者放行)
    • 结合其他协议,用来匹配范围

    4.ACL的种类

    基本ACl(2000-2999):只能匹配IP地址
    基本ACL(3000-3999):可以匹配ip、目标ip、源端口、目标端口、等三层和四层的字段
    二层ACL(4000-4999):根据数据包的源MAC地址、目标MAC地址、802.1q优先级、二层协议类型等二层信息制定规则。

    5.ACL的应用规则

    应用规则
    1、一个接口的同一个方向,只能调用一个ACL
    2、一个ACL里面可以有多个rule规则,按照规则ID从小到大排序,从上往下依次执行
    3、数据包一旦被某rule匹配,就不再继续向下匹配
    4、用来做数据包访问控制时,默认隐含放过所有(华为设备)

    6.实验配置

    在这里插入图片描述
    配置各个主机和服务器的信息
    R1
    先将个接口IP地址配上,实现全网互通
    在这里插入图片描述
    第一个:10.0网段中仅PC1可访问PC4
    这里需要在出接口上调用ACL
    [R1]acl number 2000
    创建acl列表2000
    [R1-acl-basic-2000]rule permit source 10.0.10.1 0
    允许PC1的IP通过,这里最后的0是反掩码,原本是255.255.255.255 ,反掩码为0.0.0.0
    [R1-acl-basic-2000]rule deny source any
    拒绝其他所有的访问
    [R1-acl-basic-2000]q
    在这里插入图片描述
    [R1]int g0/0/2
    进入出接口
    [R1-GigabitEthernet0/0/2]traffic-filter outbound acl 2000
    调用出接口的acl列表,outbound出方向,inbound进入方向
    [R1-GigabitEthernet0/0/2]q
    在这里插入图片描述
    第二个: 禁止10.0网段的ping Server,允许clienr1访问Server1的www服务
    [R1]acl number 3000
    这里禁止ping和访问服务器,需要创建高级ACL
    [R1-acl-adv-3000]rule deny icmp source 10.0.10.0 0.0.0.255 destination 10.0.30.1 0
    禁止网段10.0 ping 30.1
    [R1-acl-adv-3000]rule permit tcp source 10.0.10.3 0 destination 10.0.30.1 0 destination-port eq www
    允许client访问server的www服务,www对应的接口是80
    [R1-acl-adv-3000]rule deny tcp source any destination 10.0.30.1 0 destination-port eq www
    [R1-acl-adv-3000]rule deny tcp source 10.0.10.0 0.0.0.255 destination 10.0.30.1 destination-port eq 21
    拒绝10.0网段的一切网络访问到30.1服务器
    [R1-acl-adv-3000]q
    在这里插入图片描述
    [R1]int g0/0/1
    [R1-GigabitEthernet0/0/1]traffic-filter inbound acl 3000
    [R1-GigabitEthernet0/0/1]q
    在这里插入图片描述
    实验到此结束

    展开全文
  • acl

    2017-07-29 16:18:03
    ACL访问控制列表 前言引用 众所周知,在Linux操作系统中,传统的权限管理分是以三种身份(属主、属組以及其它人)搭配三种权限(可读、可写以及可执行),并且搭配三种特殊权限(SUID,SGID,STICKY),来实现对系统的...

    ACL访问控制列表

    1. 前言引用
    众所周知,在Linux操作系统中,传统的权限管理分是以三种身份(属主、属組以及其它人)搭配三种权限(可读、可写以及可执行),并且搭配三种特殊权限(SUID,SGID,STICKY),来实现对系统的安全保护。但是,随着业务和需求的发展和扩大,仅有的这种模式已经不能满足当前复杂环境下的权限控制需求。
    比如,当前有一个/house目录,要求用户:james可以读写,用户:tom只能查看,用户:jack可以读写删除,此时怎么办呢?
    对于以上的需求,仅仅依托现有的传统权限管理模式,是无法实现的。为了解决该类型的问题,Linux 开发出了一套新的文件系统权限管理方法,叫做 文件访问控制列表 ACL(Access Control Lists)。通过使用 ACL,可以完美解决如上类型的需求问题。
    2. ACL定义
    ACL 是 Access Control List 的缩写,主要目的是针对在传统的三种身份和三种权限之外,提供更加细化的局部权限设定。官方手册来讲,它主要针对用户、用户组、以及掩码方面控制权限。除了文件的所有者,所属组和其它人,可以对更多的用户设置权限。
    简单去理解就是,ACL 可以针对单个用户、单个用户组来进行权限细化的控制。而在windows系统上,没有这个ACL,ACL是类Unix(Unix-like)操作系统权限的额外支持项目,因此要使用ACL必须要有文件系统的支持才行。
    3. 那些文件系统支持ACL
    Linux下的文件系统支持acl的有:ext2、ext3、ext4,xfs。
    CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
    CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
    tune2fs –o acl /dev/sdb7
    取消的方式 tune2fs -o ^acl /dev/sda7
    mount –o acl /dev/sdb1 /mnt/test
    取消的方式,重新挂载不指定。
    ACL生效顺序:所有者,自定义用户,自定义组,其他人。先判断是否是文件的OWNER,如果是,则执行OWNER的权限后结束,如果不是OWNER,则判断是否是ACL的USER,如果是则执行USER权限后结束,如果不是ACL的USER, 则判断是否属于GROUP或ACL GROUP,如果是,则取最大权限。如果不属于任何GROUP,则执行OTHER。
    所有人->所有组->其他人
    4. 用法介绍

    a.为多用户或组的文件和目录赋予访问权限rwx

    • getfacl file|directory #查看文件的acl属性。
    • setfacl -m u:wang:rwx file|directory #为文件设置acl的user属性。
    • setfacl -Rm g:sales:rwX directory #为文件设置acl的group属性。
    • setfacl -M file.acl file|directory #恢复acl属性
    • setfacl -m g:salesgroup:rw file| directory #为文件设置acl的group属性。
    • setfacl -m d:u:wang:rx directory #设置ACL默认权限,仅影响新创建的文件及目录,不影响当前。
    • setfacl -x u:wang file|directory #删除一条默认权限,但是删除后,仍有属性(+)存在。
    • setfacl -X file.acl directory # 批量删除acl属性。

    b.ACL文件上的group权限是mask 值(自定义用户,自定义组,拥有组的最大权限) ,而非传统的组权限getfacl
    可看到特殊权限: flags通过ACL赋予目录默认x权限, 目录内文件也不会继承x权限base ACL 不能删除

        setfacl -k dir #删除默认ACL权限
        setfacl –b file1 #清除所有ACL权限
        getfacl file1 | setfacl --set-file=- file2 #复制file1的acl权限给file2
    c.ACL文件上的group权限是mask 值(自定义用户,自定义组,拥有组的最大权限) ,而非传统的组权限
    
        getfacl 可看到特殊权限: flags
        通过ACL赋予目录默认x权限, 目录内文件也不会继承x权限
        base ACL 不能删除
        setfacl -k dir #删除默认ACL权限
        setfacl –b file1 #清除所有ACL权限
        getfacl file1 | setfacl --set-file=- file2 #复制file1

    d. 备份和恢复ACL 主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p
    参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息。

        getfacl -R /tmp/dir1 > acl.txt
        setfacl -R -b /tmp/dir1
        setfacl -R --set-file=acl.txt /tmp/dir1
        setfacl --restore acl.txt
        getfacl -R /tmp/dir1的acl权限给file2。
    1. 示例描述
      1.创建一个目录house,属主liubei,属组shuguo,权限设置755,组成员刘备、关羽、张飞,现在刘备写了一份密函(权限750),将其放在屋子里,关羽、张飞虽然能进入house进行查看,但是这个密函的owner和group都是刘备,所以两个人干着急,却看不了。现在需要你想个办法先让关羽能查看,张飞不能。
      [root@localhost app]# ll
      total 0
      drwxr-xr-x. 2 liubei shuguo 20 Jul 29 17:18 house
      [root@localhost app]# cat house/l_file
      I am beibei !!!
      切换到关羽下查看l_file内容,被拒绝。
      [root@localhost app]# su - guanyu
      Last login: Sat Jul 29 17:36:42 CST 2017 on pts/1
      [guanyu@localhost ~]$ cat /app/house/l_file
      cat: /app/house/l_file: Permission denied
      现在利用acl赋予其r_x权限。
      图片1
      再切换到关羽下,查看,发现可以了。
      [guanyu@localhost ~]$ cat /app/house/l_file
      I am beibei !!!
      然后在想个办法让他们两个都能查看。
      图片2
      2.要求在app目录下创建/app/dir1/dir2/dir3,dir1/file1,dir2/file2,dir3/file3,递归对文件dir1/dir2/dir3,dir1/file1,dir2/file2,dir3/file3设置acl的user为刘备,权限7,设置完后并清除acl属性,然后将其恢复。
      [root@bogon app]# tree .
      .
      └── dir1
      ├── dir2
      │ ├── dir3
      │ │ └── file3
      │ └── file2
      └── file1
      下图列出目录信息
      图片3
      下图列出文件信息
      图片4
      下面备份目录及其下所有文件的acl属性到acl.txt文件。
      图片5
      下面清除dir1及目录下的文件的acl属性。
      [root@bogon app]# setfacl -Rb dir1/
      [root@bogon app]# ll
      total 4
      -rw-r–r–. 1 root root 654 Jul 30 21:04 acl.txt
      drwxr-xr-x. 3 root root 31 Jul 30 20:44 dir1 #发现‘+’号被清除了
      接下来恢复文件的acl属性。
      图片6
      3.在/testdir/dir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如: tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
      这个需要用到SGID权限设置g1组。
      创建三个组g1,g2,g3:
      [root@bogon /]# groupadd g1
      [root@bogon /]# groupadd g2
      [root@bogon /]# groupadd g3
      创建文件/testdir/dir:
      [root@bogon /]# mkdir -p /testdir/dir
      当对一个目录作用了SGID权限之后,任何对该目录有wx权限的用户在该目录下创建的文件及目录的所有属均为该目录的所有组。
      为dir设置SGID属性:
      [root@bogon /]# chmod g+s /testdir/dir
      设置alice的辅助组g2:
      [root@bogon /]# useradd -G g2 alice
      设置tom的辅助组g3:
      [root@bogon /]# useradd -G g3 tom
      可以看到group的x位置上面有个s(S代表无x权限)
      [root@bogon /]# ll /testdir/
      total 0
      drwxr-sr-x. 2 root root 6 Jul 30 21:34 dir
      其他人权限设置为无:
      [root@bogon /]# chmod o= /testdir/dir/
      对当前目录设置,使g1,g2对目录拥有rx权限:
      [root@bogon testdir]# setfacl -m g:g2:rx,g:g3:rx dir/
      设置ACL默认权限,仅影响新创建的文件及目录,不影响当前:
      [root@bogon testdir]# setfacl -m d:g:g2:rw,d:g:g3:r dir/
      4.在/app目录下创建一个名为d1的目录,要求其owner,group均为root,权限设置为755。要求guanyu用户对该目录及所有用户在其下创建的新文件新目录均有rwx权限。
      图片7
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,430
精华内容 11,372
关键字:

acl