LINUX ACL访问控制列表,SELINUX安全性基本总结

10、访问控制列表(ACL)

标准的linux文件权限可以满足绝大多数情况的要求,但它也有局限。限制访问文件的权限仅限授予文件的所有者,单组成员或其他任何人,进程可能不适合成为文件所属组成员,授予所有人权限是不现实的做法。

ACL允许向文件分配细化权限,除标准文件所有者组所有者和其他文件权限外,还可以向指定用户或指定组,以及UID及GUID确定的用户和组授予权限,这些权限均应用相同的权限标志r读取w写入x执行。

文件所有者可以在单个文件或目录上使用ACL,新文件和子目录可以从父级默认ACL中继承ACL权限,与常规文件的访问规则相似,父目录访问结构需要至少设置其他执行权限,以便启用制定用户和指定组的访问权限。

文件系统挂载选项

文件系统需挂载以启用的ACL支持,XFS文件系统内置有ACL支持。

Ls    -l         查看和解释acl权限

如果十个字符组成的权限字符串的末尾是”+”,即表示文件有相关联的ACL设置,对于用户,组和其他的’rwx‘标志解释如下:

用户: 显示用户acl设置,与其标准用户文件设置相同;rwx。

组:实现当前acl掩码设置,而不是组所有者设置,rw。

其他:显示其他acl设置,其与标准文件设置相同,无访问权限。

如果使用chmod更改具有acl的文件的组权限,则不会更改组所有者权限,而是更改acl掩码,如果目的是更改文件组所有者的权限需要使用setfacl  -m  g::perms  file

getfacl                               查看文件acl

Setfacl                               添加,修改或删除文件和目录的标准acl

Setfacl  -m   u:user:执行权限   file      修改指定用户对文件的访问权限

Setfacl  -m   g:group:执行权限  file    修改指定组对文件的访问权限

Setfacl  -m   o::执行权限  file                修改指定其他对文件的访问权限

Chmod  g+(-)执行权限  file                              修改mask(acl掩码)值。

Default:m::执行权限 file                               修改默认掩码值

Setfacl  -R -m                         使用递归的方式将acl应用到目录结构的文件中

Setfacl   -x                           删除特定的acl条目

Setfacl   -b                           删除文件和目录的所有acl

setfacl  -m  d:u:user:执行权限  file         修改默认的acl权限。

Setfacl  x  d:u:user:执行权限  file          删除acl默认条目。

3、启用和监控SELINUX(security enhanced linux)

Selinux 安全的基本概念

Selinux是一个额外的系统安全层,它的主要目的是防止已遭泄露的系统服务访问用户数据,大多数linux用户都熟悉标准的用户/组/其他权限安全模型。这种基于用户和组的模型成为自由决定的访问控制,selinux提供另一层安全,他基于对象并有更加复杂的规则控制,称为强制访问控制。

要允许远程web访问服务器,必须打开防火墙端口,然而恶意人员却有办法通过安全漏洞侵入系统,而且如果他们破坏web服务进程,还会取得其权限。

Selinux是确定哪些进程哪些组可以访问哪些文件,目录,和端口的一组安全规则。每个进程和端口都具有特别的安全标签,成为selinux的上下文。Selinux策略使用它来确定某个进程能否访问文件,目录和端口。除非显示规则授予访问权限,否则,在默认情况下,策略不允许有任何交互,如果没有允许规则,则不允许访问。

Selinux有多种上下文:用户,角色,类型和敏感度。目标策略(linux启用的默认策略)会根据第三个上下文来指定自己的规则。类型上下文会以_t结尾。Web类型的上下文是httpd_t,通常位于/var/www/html中的文件和目录类型的上下文是httpd_sys_content_t。通常位于/tmp和/var/tmp中的文件类型上下文是tmp_t,web服务器端口的文件类型上下文是http_port_t。

许多处理文件的命令有一个用于显示或者设置selinux上下文的选项,通常是-Z,例如ps,ls,cp,和mkdir等

Selinux模式;

强制模式:selinux主动拒绝访问尝试读取类型上下文为tmp_t的文件的web服务器。在强制模式中,selinux不仅记录而且提供保护。

许可模式:通常用于对问题进行故障排错,在此模式中既没有显示规则,selinux也会允许所有交互,而且会记录她在强制模式中拒绝的那些交互,可使用此模式来暂时允许访问selinux的限制内容,无需重新启动即可在强制模式和允许模式之间转换。

禁用模式,会完全禁用selinux,需要彻底禁用selinux,或是从禁用模式转换为强制模式,或许可模式。

最好使用许可模式,而不是彻底关闭selinux,原因之一在于即使在许可模式中,内核也将根据需要自动维护selinux文件系统标签,从而避免为了启动selinux而重启系统时,重新标记系统所带来的昂贵费用。

Getenforce              显示当前使用有效的selinux模式。

Selinux 布尔值:是更改selinux策略的开关。Selinux布尔值是可以启动或禁用的规则。安全管理员是可以使用selinux布尔值来有选择地调整策略。

更改selinux的模式:

若处于故障排错目的,可使用selinux模式暂时禁用selinux保护。

Setenforce  o           暂时修改为permissive许可模式

Setenforce  1           暂时修改为enforcing强制模式

设置默认的selinux模式:

Vim  /etc/selinux/config

将SELINUX=permissive  修改为SELINUX=enforcing

:wq

Systemctl   reboot

更改selinux上下文

Ls     -Zd       查看查看当前目录的selinux上下文

通常文件父目录的上下文决定该文件初始的selinux上下文。父目录的上下文会分配给新建文件,适用于vim,cp,touch等文件,如果文件是在其他位置创建并权限得以保留如mv,cp  -a 等,那么原始selinux上下文不会发生更改。

用chcon和restorecon,可以更改原始selinux上下文。Chcon将文件的上下文更改成已指定参数的上下文,chcon   -t    只用于指定上下文类型。

Restorecon  -v 是更改文件和目录的首选方法,不同于chcon,它不会明确指定上下文,它使用selinux策略来确定应该是那种文件的上下文。

更改selinux布尔值

Selinux布尔值是更改selinux策略行为的开关,selinux布尔值是可以禁用或启用的规则。安全管理员可以使用selinux布尔值来有选择的调整策略。

Getsebool   -a                         显示selinux布尔值

Setsebool    上下文   on/off                          修改selinux布尔值

Setsebool    -P   上下文    on/off             修改selinuxcelue,并永久保存

Semanage    boolean   -l               将会显示布尔值是否为永久值,并提供简短描述。

Semanage    boolean   -l   -C          仅列出本地修改的selinux布尔值状态。

时间: 2024-08-25 00:04:56

LINUX ACL访问控制列表,SELINUX安全性基本总结的相关文章

linux acl访问控制列表系统整理

acl ######文件的访问控制(acl)#######################################*********acl定义:***********定义:指定特殊用户对某些文件有特殊权限-rw-r--r--+ 1 root root 0 Jul 18 14:02 file1  此处+表示开启了表格,当此处有+时,文件的普通权限失效,需要getfacl查看ugo的权限 getfacl file1 # file: file1              #文件名# owner

linux 特殊权限chattr(文件系统级别的权限) Attr 权限和 ACL访问控制列表 ...

Attr 权限 和 ACL 访问控制列表 Attr 权限里的 "a" 权限和 "i" 权限 a :全名append only 只允许追加数据,不允许任何用户改动文件(超级用户也不行) 甚至不能正常的删除文件 只能读取文件内容,只能用 "echo" 追加内容 chattr +a xxx #增加 a 权限 chattr -a xxx #取消 a 权限 lsattr #查看权限 [[email protected] /test]# touch abc

ACL访问控制列表(标准、拓展、命名控制列表)的配置实例

实例一:标准访问控制列表的配置 拓扑图如下: 通过配置标准访问列表,禁止PC1主机访问PC3主机. (1)进行sw的配置如下: SW#configure terminal //进入全局模式 Enter configuration commands, one per line. End with CNTL/Z. SW(config)#no ip routing //关闭路由功能 SW(config)#int f1/0 //进入接口模式 SW(config-if)#speed 100 //设置速率为

分析Linux 文件系统访问控制列表

1.What is FACL? FACL,文件系统访问控制列表,即Filesystem Access Control List.根据以前对LINUX权限模型的了解,大概如下: 假设有这么一个场景: 用户TOM创建的文件file,希望用户LUCY可以访问和编辑. 分析: 第一,可否TOM用户临时改变file的owner为LUCY,这样就可以达到目的. 显然,这并不可行.因为普通用户根本就没有chown的权限. 第二,可否设置LUCY在file的属组并属组权限有rw或者file的other权限有rw

路由器ACL访问控制列表

实验名称:标准访问控制列表 实验拓扑: 实验步骤: (1)      连接主机,交换机,路由器实现全网互连 (2)      配置路由器的访问控制列表 (3)      验证 实验名称:命名标准访问控制列表 实验拓扑: 实验步骤: (1)      连接主机,交换机,路由器实现全网互连 (2)      配置交换机 (3)      验证 实验名称:扩展控制访问列表 实验拓扑: 实验步骤: (1)      连接主机,交换机,路由器,服务器实现全网互连 (2)      配置第一个路由器实现pc

ACL访问控制列表(标准性、扩展性、命名性)

ACL访问控制列表 访问控制列表的工作原理: 出:已经过路由器处理正离开路由器接口的数据包. 入:已达到路由器接口的数据包,将被路由器处理. ACL对数据流的处理流程: 路由器将对数据包进行匹配,路由器将决定该数据包的通过或拒绝,拒绝后将下一跳匹配共匹配三次直到最后拒绝丢弃. ACL类型 标准访问:根据数据包的源iP地址来允许或拒绝.列表号1~99. 扩展访问:根据数据包的源IP地址.目的IP地址.指定协议.端口和标志来允许或拒绝.列表号100~199. 命名访问:允许使用标准访问或扩展访问,用

ACL 访问控制列表

3W1H学习方法(what.why.where.how) What:ACL访问控制列表是应用在路由器接口的质量列表(即规则) Why:为了实现网络安全对数据流量进行控制 Where:路由器.三层交换 原理:ACL是一组规则的集合,它应用在路由器的某个接口上.对路由器而言,是分出站和进站方向的.出站指的是已经过路由器的处理,正离开路由器的数据 包:进站是指,刚刚到达路由器将要处理的数据包.如果对应的接口应用了ACL,也就是说明该接口应用了一组规则,路由器将按照这组规则的顺序对数据包检 查. ACL

标准ACL访问控制列表

首先创建拓扑图如下所示: 第一步:先在R1上面配置两个端口的IP地址和到达10.0网段.20.0网段的静态路由 第二步:在SW上配置中继链路并创建VTP客户模式,然后再把接口加入相应的vlan 第三步:做SWL三层交换的中继链路和VTP服务模式 配置vlan10和vlan20并配置IP地址作为网关使用,还有默认路由 第四步:打开VPCS配置3台PC机的IP地址 第五步:设置ACL访问控制列表语句,要查看设置用show access-lists 应用到相应的接口,注意是in方向还是out方向 用V

配置ACL访问控制列表

ACL访问控制列表理论部分:在学习过程中我们知道了网络的联通和通信,但是在实际环境中网络管理员经常会面临为难的局面,如必须拒绝那些不希望访问的连接,同时又要允许正常的访问.那么这时就诞生了ACL(访问控制列表)下面我们先看看ACL 的原理.1.ACL是使用包过滤技术,在路由器上读取第三层和四层包头的信息,根据预定好的规则进行过滤,达到访问控制的目的2.ACL的三种模式:?标准ACL (根据数据包的源IP地址来允许或者拒绝数据包,表号是1~99)?扩展ACL (根据数据包的源IP地址,目的IP地址