SELinux简介

SELinux 是Security-Enhanced Linux的简写,意指安全增强的linux。它不是用来防火墙设置的。但它对Linux系统的安全很有用。Linux内核(Kernel)从2.6就有了SELinux。

SELinux是内置在许多GNU / Linux发行版中的主要强制访问控制(MAC)机制。SELinux最初是由犹他州大学Flux团队和美国国防部开发的Flux高级安全内核(FLASK)。美国国家安全局加强了这一发展,并将其作为开源软件发布。SELinux的历史可以在Flux和NSA网站上找到。

官方资料

什么是SElinux?

  • SELinux是Linux的安全增强,它允许用户和管理员对访问控制进行更多的控制。
  • 访问权限可以限制在哪些用户和应用程序可以访问哪些资源这样的变量上(由变量控制访问权限)。这些资源可以采用文件的形式。用户和用户运行的应用程序可以修改标准的Linux访问控制,例如文件模式(-rwxr-xr-x)。相反,SELinux访问控制由加载在系统上的策略决定,粗心的用户或行为不当的应用程序可能不会更改该策略。
  • SELinux还为访问控制添加了更细的粒度。例如,SELinux不只是能够指定谁可以读、写或执行文件,而是允许您指定谁可以取消链接、只追加、移动文件等等。SELinux还允许您指定对除文件以外的许多资源的访问,例如网络资源和进程间通信(IPC)。

    Security-Enhanced Linux的缩写,是一种非常安全的linux模式。基本上用户得不到什么权限在这个系统下面。不过你可以在这个系统下面写一些配置文件来管理这些用户可以做什么或者不能干什么。

SELinux 的作用及权限管理机制:

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

SELinux是做什么的?

SELinux控制应用程序和资源之间的访问。通过使用强制安全策略,SELinux强制实现系统的安全目标,而不管应用程序是否行为不当或用户是否粗心。SELinux能够实现广泛的安全目标,从简单的沙箱应用程序到锁定面向网络的守护进程和限制用户只使用他们需要的资源。

如何知道SELinux是否开启?

Red Hat Enterprise Linux或Fedora默认开启。你可以运行getenforce来查看它是否在积极地执行策略:

[root@localhost /]# getenforce
Enforcing
[root@localhost /]#

enforce 实施;强制;加强

如果输出显示强制执行(enforcing),那么您的系统将受到SELinux的保护。如果它说启用了许可的SELinux(permissive),但只是记录失败的访问,而不是拒绝它们。如果它说禁用(Disabled)
,那么SELinux在您的系统上没有启用。

SELinux 三种工作模式:

  • enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
  • permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
  • disabled:关闭 SELinux。

    SELinux 工作模式可以在 /etc/selinux/config 中设定。

    如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。

    enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。

    需要注意的是,如果系统已经在关闭 SELinux 的状态下运行了一段时间,在打开 SELinux 之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文。

    SELinux 日志的记录需要借助 auditd.service 这个服务,请不要禁用它。

临时关闭SElinux

[root@localhost /]# getenforce  //查看Selinux状态
Enforcing
[root@localhost /]# setenforce 0 //临时关闭Selinux
[root@localhost /]# getenforce
Permissive

永久关闭SElinux

方法一:

[root@localhost /]# vi /etc/selinux/config

将文件中的SELINUX="" 改为 disabled ,然后重启。

......
SELINUX=enforcing  //修改此处为disabled
SELINUXTYPE=targeted
......

方法二:

sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

注意sed命令选项特点

  • -i The default operation mode is to break symbolic and hard links. 会破坏软链接和硬链接
  • -c will avoid breaking links (symbolic or hard). 不会破坏软链接和硬链接
  • --follow-symlinks follow symlinks when processing in place; hard links will still be broken. 这个保护软链接,但是会破坏硬链接。

    所以使用sed -我的s / ^ SELINUX =执行/ SELINUX =禁用/ g /etc/selinux/config的修改/ etc
    / sysconfig / SELINUX文件后。它已经不在是/ etc / selinux /
    config的链接文件,从而变成了一个普通文件。

如何获取SElinux?

Distribution(发行版) How to get it
Red Hat Enterprise Linux (4+) Default
Fedora (2+) Default
Ubuntu Hardened Ubuntu
Debian add-on
Gentoo Hardened Gentoo

为什么SElinux会存在?

您的发行版或供应商可能已经选择默认启用SELinux。他们这样做是因为他们希望在他们发布的Linux版本上增加安全保护。为了创建安全策略来保护您的系统免受入侵,同时允许用户按照他们正常的方式操作,已经付出了大量的努力。在这些系统上启用SELinux是一个好主意,因为它可以保护您免受已知漏洞的伤害,同时平衡您的系统使用需求。

The SELinux Notebook

SELinux笔记本演示了SELinux的一些功能。

主要部分是:

  • SELinux的概述
  • 核心组件
  • 强制访问控制(MAC)
  • SELinux用户
  • 基于角色的访问控制
  • 安全上下文
  • 对象
  • 计算安全上下文
  • 计算访问决策
  • SELinux策略的类型
  • 允许和强制模式
  • Linux安全模块和SELinux
  • SELinux用户空间库
  • SELinux网络支持
  • SELinux虚拟机支持
  • SELinux - windows支持
  • 沙箱服务
  • SELinux的配置文件
  • 全局配置文件
  • ......

Linux之SELinux的开启、关闭。的更多相关文章

  1. Linux服务管理(开启关闭防火墙)

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...

  2. Linux下开启关闭SeLinux

    SELinux (Security-Enhanced Linux) in Fedora is an implementation of mandatory access control in the ...

  3. Linux系统默认服务建议开启关闭说明列表

    服务名称 功能简介 建议 acpid 电源管理接口.如果是笔记本用户建议开启,可以监听内核层的相关电源事件. 开启 anacron 系统的定时任务程序.cron的一个子系统,如果定时任务错过了执行时间 ...

  4. linux下查看 SELinux状态及关闭SELinux

    SELinux全称为安全增强式 Security-Enhanced Linux(SELinux),是一个在内核中实践的强制存取控制(MAC)安全性机制.SELinux 首先在 CentOS 4 出现, ...

  5. linux下防火墙与SELinux状态与关闭

    linux下防火墙与SELinux状态与关闭 在使用ftp命令以及wget命令测试两台linux机器之间ftp下载是否正常,虽然关闭了防火墙,但是一直还是提示以下错误 然来还需要将SELinux 设置 ...

  6. Linux防火墙(Iptables)的开启与关闭

    Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...

  7. linux 6 查看防火墙状态及开启关闭命令

    linux 6 查看防火墙状态及开启关闭命令 https://blog.csdn.net/lv_shijun/article/details/52453882 存在以下两种方式: 一.service方 ...

  8. Linux下开启关闭防火墙

    一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off   2) 即时生效,重 ...

  9. Linux防火墙开启关闭查询

    1.centos7防火墙 命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 服务与端口的启 ...

  10. SELinux一键开启与禁用脚本

    SELinux是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.但是SELinux的并不能与众多服务很好的兼容,有些人会关闭SELinux一了百了.在日常的运 ...

随机推荐

  1. opencv中 在特征点匹配代码举例,以及queryIdx和trainIdx的用法

    一.用法 在特征点匹配中,queryIdx和trainIdx是匹配对中的两个索引,用于指示匹配点在不同图像或特征向量中的位置.1.假设我们有两幅图像A和B,并使用特征点提取算法(如SIFT)从它们中提 ...

  2. [LC735]行星碰撞

    题目描述 给定一个整数数组 asteroids,表示在同一行的行星.对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相同的速度移动 ...

  3. snpEff安装

    下载安装包: wget http://sourceforge.net/projects/snpeff/files/snpEff_v3_6_core.zip 解压安装包: unzip snpEff_v3 ...

  4. IdentityServer4中的核心类

    启动配置器IIdentityServerBuilder 可以把它理解为一个IServiceCollection的容器,它商品有几个扩展方法,方便我们用来注册ids使用到的相关服务,为啥不直接扩展ISe ...

  5. weixueyuan-Nginx日志管理与监控8

    https://www.weixueyuan.net/nginx/log/ Nginx访问日志配置 Nginx 的访问日志主要记录用户客户端的请求信息(见下表).用户的每次请求都会记录在访问日志中,a ...

  6. Flume架构与源码分析-整体架构

    最近在学习Flume源码,所以想写一份Flume源码学习的笔记供需要的朋友一起学习参考. 1.Flume介绍 Flume是cloudera公司开源的一款分布式.可靠地进行大量日志数据采集.聚合和并转移 ...

  7. 再谈Redux

    2025年再聊前端状态管理似乎是一件不必要的事,毕竟相关文章已堆积得如山如海.但在这些文章或视频内容中,我并没有找到自己喜欢的方案,准确的说是使用方式.所以这篇文章不做技术分析,主要聊聊个人对状态管理 ...

  8. VueRouter案列

    案列内容,包含,模板,路由传参,路由重定向,路由嵌套,能够复习路由基本使用,成果如图: 完整代码: 1 <!DOCTYPE html> 2 <html lang="en&q ...

  9. 安装和配置CentOS9

    安装和配置CentOS9 一.下载CentOS9镜像文件 1.访问官网:首先,你需要访问CentOS的官网或阿里云镜像网站 2.选择版本:在官网上,选择CentOS9的64位操作系统版本进行下载. 3 ...

  10. Mac安装Scala2.12

    一.下载Scala brew install scala@2.12 二.设置环境变量 vim ~/.bash_profile export SCALA_HOME=/usr/local/opt/scal ...