Selinux讲解
作者:互联网
- 手动开启/关闭/查询 SELINUX状态的方法在Limx操作系统运行过程中无法使用命令停用 SELINUX,可以在内核启动参数或使用修改配置文件的方式去关闭 SELINUX安全机制。若只是要将 SELINUX安全机制转为“警告模式Warn/Permissive Enforcing)”,则可利用如下命令进行。
l setenforce1:将 SELINUX设定成启用模式。
l setenforce0:将 SELINUX设定成警告模式.
l sestatus:查询系统目前的 SELINUX状态
- 为了设定方使, Selinux中内建了许多布尔值 boolean I的参数,可以通过修改这些参数接来变更一些 Selinux的设定。 SELINUX布尔值 booleans属性的操作,常用的命令有如下两Getsebool:取得目前系统上 Selinux booleans属性的状态格式: getsebool [-al[boolean)getsebool-a可取得所有 booleans的属性状态。setsebool:立即变更 Selinux booleans的属性。格式: setsebool [-P] boolean value I boll= all bool-val2FP]:若没有附加-P选项,只会变更目前系统 Selinux booleans属性,但并没有去更新设定文件的状态,下次重新开机,还是会恢复到原来的属性。若需要永久变更这个属性,必须多选项便将设定文件一并变更ol-phttpdenableho说明:永久开启httpdenablehomedirs属性,让htpd可以读取每个用户的家目录下的个网页若需要单独关闭某个服务的 SELINUX机制,可直接使用命令 setsebool -P Iprogram名称应用实例如下disable_trans=1即可。例如,若想要关闭 dhcpd的 Selinux检查机制,可直接使用如下命令:setsebool -P dhcp _disable_ trans=1。然后重新启动。
-
Targeted Policy的上下文 contexts属性设定
上下文 contexts属性用来控制系统中每个用户、进程、文件案及目录的 SELINUX权限它可用来设定每个user、 process、文件及目的属性,可针对某个 process I的某个行为作严格的读写限制:也就是说,文件案可以针对某个身份(ur)、某个程序( program)的某个行为开放读写权限,可以做到最细致的权限调整,无须担心程序溢位( overflow)问题,从面造成文件案数据外泄或遭帘改。
(1) SELINUX的上下文格式如下:
·user_u: system_r: unconfined_t上述字符使用:分隔,第一个字段为用户{user},第二个字段为角色{rule},第三个字段为类型{type}。其他字段可以忽略
(2)安全相关上下文 contexts属性的操作命令较多,简单介绍几个常用命令如下:ls-Z和ps-Z命令用来査询上下文,-Z(大写)参数专为 SELINUX而增加。应用实例如下。
·ls-alZ:查看文件案目录的 contexts属性。id-Z:查看目前使用者身份的 contexts属性。如:
·id –Z
User_u: system_r: unconfined_t: systemlow-systemhigh上下文属性为{user}:{tule}: {type}:{ FMCS/MLS translations}
·ps-eZ:查看 process I的 contexts属性。如:
· pd –eZ
(3)设置上下文命令restorecon:改写部分目录内所有文件案目录的上下文 contexts重写home目录底下所有文件案系统的上下文 contexts:
· restorecon -v -R /home
·chcon:手动更改文件案或目录的上下文 contexts应用实例如下快速指定安全上下文 contexts给特定的目录,使用如下命
- chcon user_u: object_r: public_content_rw_t -R /home/tea001另外, Redhat Linux系统提供了一个图形工具( system-config-selinux),可以使用它来设置.
Selinux运维包括8个部分:状态,布尔值,文件标记,用户映射,selinux用户,进程域,网络端口和策略模块。
-
使用命令行工具管理selinux
1).setenforce:设置selinux模式
用法:sentence[Enforcing/Permissive/1/0]
·Enforcing :设置为强制模式
·Permissive:设置为允许模式
·1 :设置模式为强制(临时关闭)
·0 :设置模式为允许
2)getenforce:查看selinux模式
3)setsebool:设置selinux布尔值
·-P 设置永久
设置布尔变量ftpd_disable_trans为on
#setsebool ftpd_disable_trans=on
4)getsebool:查看selinux布尔值
·-a 显示所有布尔值
5)sestatus:selinux状态查看工具
6)avcstat:显示avc统计信息
7)audit2allow:生成策略允许规则
8)semanage:管理selinux策略
9)semodule:管理策略模块
10)chact:改变语境类别
11)restorecon:恢复文件安全语境
12)chcon:改变文件安全语境
13)setfiles:设置文件安全语境
14)seinfo:提取策略的规则数量统计信息
15)sesearch:搜索policy.conf或二进制策略中特别的类型
16)sealert:selinux讯息诊断客户端工具
-
selinux的操作会体现到日志中,包括/var/log/messages文件和/var/log/audit/audit.log文件。当selinux发生拒绝某些目录或者目录被访问时,通知方式会出现在桌面的右上角。
6.auditctl:对kernel中的audit进行控制,可以用来获取audit状态增删audit规则,auditctl命令控制行为、得到状态,从内核审计系统增加删除规则
用法:suditctl [options]
-
使用aureport生成报表、使用ausearch命令搜索记录
-
seaudit工具查看Linux用户空间审计系统信息
Linux提供了用来记录系统的安全信息的审计系统,审计系统分为用户空间和内核空间审计系统,用户空间审计系统用来设置规则和审计系统状态、将内核审计系统传来的审计消息写入log文件,内核审计系统用来产生和过滤内核的各种审计消息、用户空间审计系统通常是和selinux系统配合使用的。防火墙的使用,使用system-config-firewalld和fwbuilder快速构架Linux防火墙。
标签:文件,contexts,Selinux,讲解,selinux,SELINUX,上下文,属性 来源: https://www.cnblogs.com/-Chen-Blog/p/11148055.html