Linux之SELinux的开启、关闭。
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的开启、关闭。的更多相关文章
- Linux服务管理(开启关闭防火墙)
1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...
- Linux下开启关闭SeLinux
SELinux (Security-Enhanced Linux) in Fedora is an implementation of mandatory access control in the ...
- Linux系统默认服务建议开启关闭说明列表
服务名称 功能简介 建议 acpid 电源管理接口.如果是笔记本用户建议开启,可以监听内核层的相关电源事件. 开启 anacron 系统的定时任务程序.cron的一个子系统,如果定时任务错过了执行时间 ...
- linux下查看 SELinux状态及关闭SELinux
SELinux全称为安全增强式 Security-Enhanced Linux(SELinux),是一个在内核中实践的强制存取控制(MAC)安全性机制.SELinux 首先在 CentOS 4 出现, ...
- linux下防火墙与SELinux状态与关闭
linux下防火墙与SELinux状态与关闭 在使用ftp命令以及wget命令测试两台linux机器之间ftp下载是否正常,虽然关闭了防火墙,但是一直还是提示以下错误 然来还需要将SELinux 设置 ...
- Linux防火墙(Iptables)的开启与关闭
Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...
- linux 6 查看防火墙状态及开启关闭命令
linux 6 查看防火墙状态及开启关闭命令 https://blog.csdn.net/lv_shijun/article/details/52453882 存在以下两种方式: 一.service方 ...
- Linux下开启关闭防火墙
一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重 ...
- Linux防火墙开启关闭查询
1.centos7防火墙 命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 服务与端口的启 ...
- SELinux一键开启与禁用脚本
SELinux是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.但是SELinux的并不能与众多服务很好的兼容,有些人会关闭SELinux一了百了.在日常的运 ...
随机推荐
- IM跨平台技术学习(八):新QQ桌面版为何选择Electron作为跨端框架
本文由QQ技术团队王辉.吴浩.陈俊文分享,编辑Tina整理,本文收录时有内容修订和排版优化. 1.引言 在瞬息万变的互联网行业中,年过二十四的即时通讯IM应用 QQ 堪称超长寿的产品,见证了中国互联网 ...
- Unity TheHeretic Gawain Demo 异教徒Demo技术学习
<异教徒 Heretic>是Unity在2019年GDC大会上展示的一款技术Demo,部分资源于2020年中旬公开下载. 这款Demo主要用于展示Unity在数字人技术领域的最新进展,尤其 ...
- vue el-select封装一个滚动加载更多下拉选项的自定义指令
没有什么讲究,直接上代码 模板部分 <el-select v-model="operator" filterable remote size="small" ...
- 《C++并发编程实战》读书笔记(1):线程管控
1.线程的基本管控 包含头文件<thread>后,通过构建std::thread对象启动线程,任何可调用类型都适用于std::thread. void do_some_work(); st ...
- 推荐4款基于.NET开源、功能强大的CMS建站系统
前言 CMS系统作为一种强大的内容管理工具,在数字化时代发挥着越来越重要的作用.无论是个人博客还是大型企业官网,选择一个合适的CMS都能极大地提高效率和用户体验.今天大姚给大家推荐4款基于.NET开源 ...
- w3cschool-微信小程序开发文档-工具
微信小程序工具 概览 2020-07-22 15:24 更新 为了帮助开发者简单和高效地开发微信小程序,我们推出了全新的开发者工具,集成了开发调试.代码编辑及程序发布等功能. 扫码登录 启动工具时,开 ...
- $router.options.routes取不到全部路由
最近在看老项目的路由逻辑 项目使用constantRoutes和asyncRoutes分别代表基本路由和动态路由.createRouter时,传入的routes参数只有基本路由 在路由导航守卫中,判断 ...
- C# LinkedList 删除元素
开发中经常有任务队列的设计,主要用于存储待执行的任务.由于任务来源的多样性,因此有时候需要一颗后悔药,将队列中某些待执行任务删除.此时使用LinkedList比较合适. public LinkedLi ...
- Luogu P3059 Concurrently Balanced Strings G 题解 [ 紫 ] [ 线性 dp ] [ 哈希 ] [ 括号序列 ]
模拟赛搬的题,dp 思路很明显,但难点就在于找到要转移的点在哪. 暴力 首先我们可以先考虑 \(k=1\) 的情况,这应该很好想,就是对于每一个右括号,找到其匹配的左括号,然后进行转移即可,这个过程可 ...
- [BZOJ3159] 决战 题解
个人感觉各方面难度高于<在美妙的数学王国中畅游>,也不知道是不是求导的关系,这题 \(luogu\) 难度评级还更低.不过感觉这题作完对 \(LCT\) 理解更顺畅了. 前四个操作简单,关 ...