首页 > 系统相关 >linux下查看 SELinux状态及关闭SELinux

linux下查看 SELinux状态及关闭SELinux

时间:2023-06-01 15:44:45浏览次数:60  
标签:审计 函数 SELinux 内核 关闭 linux 日志 avc

SELinux全称为安全增强式 Security-Enhanced Linux(SELinux),是一个在内核中实践的强制存取控制(MAC)安全性机制。SELinux 首先在 CentOS 4 出现,并在其后的 CentOS 发行版本获得重大改善。这些改善代表用 SELinux 解决问题的方法亦随著时间而改变。

SELinux的原理与架构

SELinux的整体架构和原理都比较简单,使用也不复杂。其复杂的地方在于规则非常复杂,每个进程都要有规则策略。

SELinux有2个核心组件及一些配套的工具。这两个核心组件分别是内核逻辑和策略数据库。当然,策略数据库本身并非软件逻辑,而是一个静态的数据库,为内核逻辑提供判断的依据。SELinux 更能遵从最小权限的理念。在开启SELinux的情况下(enforcing模式),所有访问默认是被拒绝的,而有一系列例外的策略来允许系统的元素(服务、进程、用户)具备访问资源的权限。

整体架构与访问流程

SELinux的整个架构如图1所示,最左侧的为访问者,也就是服务,进程或者用户等内容。最右侧的是被访问者,也就是具体的资源,比如文件、目录或者套接字等。

当访问者访问被访问者(资源)时,需要调用内核的接口。以读取某个目录的文件为例,需要读取read接口。此时会经过SELinux内核的判断逻辑,该判断逻辑根据策略数据库的内容确定访问者是否有权访问被访问者,如果权利允许则放行,否则则拒绝并记录审计日志。

SELinux的管理与模式

可以通过/etc/selinux/config文件中的配置项实现对SELinux的管理,包括启动、停止和修改策略类型等。

如图所示,这里有2个配置项,也就是SELINUX和SELINUXTYPE。其中SELINUX表示SELinux的启用状态,可以有3种模式。

Enforcing: 此选项会在系统上启用并实施 SELinux 的安全性政策,拒绝存取及记录审计日志Permissive: 在 Permissive 模式下,SELinux 会被启用但不会实施安全性政策,而只会发出警告及记录审计日志Disabled: 该选项表示SELinux 处于非工作状态SELinux的类型

从上述配置文件还可以看出SELinux有2中类型,分别是targeted和mls。

实例代码解析

SELinux控制的内容很多,包括文件、套集字和信号量等等。当然,我们不可能介绍到所有的内容,今天我们主要看一下文件相关的内容。

Linux内核提供了一个安全模块框架层,这个公共框架类似于文件系统中的VFS。它为调用者提供统一的接口。之所以要提供统一接口是因为Linux内核不仅仅支持SELinux安全特性,还支持Apparmor等很多安全特性。

以打开文件为例,当我们调用内核中打开文件的接口是,在其内部会调用security_file_open函数。该函数就是Linux内核安全框架(LSM)的公共接口。然后该函数通过函数指针的方式调用所有注册到LSM的安全模块。以SELinux为例,最终会调用到selinux_file_open函数。

然后selinux_file_open函数会调用avc公共函数实现权限鉴定和审计日志的记录等内容。这里关键函数是avc_has_perm。可以看出该函数又调用了另外两个函数,其中avc_has_perm_noaudit函数实现权限的判断,而avc_audit函数则实现审计功能。

函数avc_audit实现审计功能,但并非每个操作都需要记录审计日志。在写策略文件的时候可以关闭某个策略的审计。也就是说,在关闭该策略的审计的情况下,即使访问拒绝也不会记录审计日志。

在函数avc_audit中,avc_audit_required函数用于判断是否需要记录审计日志,而slow_avc_audit函数则是进行审计日志的封装和记录工作。这部分代码比较清晰,简单,本文不再赘述。

 

查看SELinux状态:

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:                 enabled

2、getenforce                 ##也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0                  ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

标签:审计,函数,SELinux,内核,关闭,linux,日志,avc
From: https://www.cnblogs.com/kn-zheng/p/17449232.html

相关文章

  • Linux centos7 ppc64le编译安装MySQL8遇见问题
    一.关于Nopackagedevtoolset-7-gccavailable.的解决办法1.使用centos默认yum源2.依次执行以下命令yuminstall-ycentos-release-sclyuminstall-ydevtoolset-7 二.cmake3>=3.6.1isneededbymysql-community-8.0.18-1.el7.ppc64le安装cmake3yuminstall......
  • 给网卡配置多个IP地址(win/linux)
    解决方案:在同一个网卡上配置两个不同网段的IP地址:         互联网IP:192.168.0.222    网关:192.168.0.1    子网掩码:255.255.225.0         局域网IP:172.19.8.1       网关:172.19.0.1     子网掩码:255.......
  • 快速操作Linux终端命令行的快捷键列表
    快速操作Linux终端命令行的快捷键列表在shell命令终端中,Ctrl+n相当于方向向下的方向键,Ctrl+p相当于方向向上的方向键。在命令终端中通过它们或者方向键可以实现对历史命令的快速查找。这也是快速输入命令的技巧。在命令终端中可以通过Ctrl+r实现快速检索使用过的历史命令。Ctrl+r......
  • Install and Use nmon Tool To Monitor Linux Systems Performance
    InstallandUsenmonToolToMonitorLinuxSystemsPerformance: https://www.cyberciti.biz/faq/nmon-performance-analyzer-linux-server-tool/ nmon_x86_64_centos5-s10-c60-f-m /apps/svr/nmon......
  • Linux - 配置服务器之间SSH免密登录
     如果集群中服务器之间没有配置SSH免密,那么SSH访问其他服务器时[root@node01bin]#sshnode02Theauthenticityofhost'node02(192.168.56.122)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:iuntlxKiV34RaCDGi7UsV/Ng2oVwWgob9yX3wL+3zzo.ECDSAkeyfingerp......
  • Linux命令:ipcs/ipcrm命令
    ipcs/ipcrm命令 是linux/uinx上提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号多进程间通信常用的技术手段包括共享内存、消息队列、信号量等等,Linux系统下自带的ipcs命令是一个极好的工具,可以帮助我们查看当前系统下以上三项的使用情况,从而利于定位多进程通信中出......
  • linux中截取字段与#、$区别
    1.Linuxshell截取字符变量的前8位实现方法有如下几种:exprsubstr“$a”18echo$a|awk‘{printsubstr(,1,8)}’echo$a|cut-c1-8echo$expr$a:‘\(.\\).*’echo$a|ddbs=1count=82>/dev/null 2.按指定的字符串截取(1)第一种方法:从左向右截取最后一个st......
  • Linux中split大文件分割和cat合并文件
    当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输。这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件。1.分割--split命令可以指定按行数分割和按字节大小分割两种模式。(1)按行数分割......
  • 如何通过Linux 命令测量磁盘活动
    Linux 发行版提供了几个度量磁盘活动的有用命令。让我们了解一下其中的几个。Linux系统提供了一套方便的命令,帮助你查看磁盘有多忙,而不仅仅是磁盘有多满。在本文中,我们将研究五个非常有用的命令,用于查看磁盘活动。其中两个命令(iostat和ioping)可能必须添加到你的系统中,这两个命......
  • 全球最大的BT种子站RARBG突然关闭
    我是卢松松,点点上面的头像,欢迎关注我哦!全球知名的也最大的BT种子网站RARBG突然关闭,关站的原因竟然不是版权,而是疫情,战争和电价。也许很多人不知道RARBG是啥,就这么说吧:国内大部分字幕组和资源网站基本都从这个网站搬运资源。RARBG应该是国内BT资源粮仓!这是全球公开资源的祖师爷,没有......