[TimLinux] 理解selinux
1. 概念
SELinux有三种工作模式:Enforcing, Permissive, disabled。Enforcing对应又有几种修饰(targeted, minimum, mls).
2. 解释
Enforcing就是开启,并真实有效;Permissive是开启,但是只记录错误到 /var/log/audit/audit.log 中,不真实有效。Disabled 则是关闭了SELinux
开启了Enforcing又有几种策略:targeted为选定的目标进行被保护(初始安装的进程有被保护范围,CentOS7默认为这个方式),minimum是在targeted基础上修改过的最小保护(听说不稳定),mls多级安全保护(这个还没有理解到位,解释不了??)
3. 对象
SELinux内只有对象,文件、目录、进程、端口都是对象。进程称为:主体 subject,进程的安全上下文称为:域 domain,文件/端口的安全上下文称为:类型 type. 而安全策略(Policy)则是:定义了主体(进程)访问对象的一系列规则数据库,是数据库,是规则(rule)的数据库,每条规则决定了一个操作的允许还是拒绝,什么操作呢:一个类型的主体,使用一个方法,访问了一个类型对象,应该是拒绝还是允许。比如:1. httpd_t 类型的主体(其实是:httpd进程),使用 ioctl read 方法,访问了 httpd_sys_content_t 类型的文件 /var/www/index.html 文件,是允许的。2. httpd_t 类型的主体(其实是:httpd进程),使用 ioctl read 方法,访问了 httpd_port_t 类型的端口文件,对应端口 80,是允许的(semanage port -l | grep '\<80\>' 查询到允许)
4. 流程
当主体(进程)访问对象(文件、端口等)时,Kernel中的安全策略执行服务器将检查AVC(访问矢量缓存,Access Vector Cache),AVC内缓存有:主体操作对象的安全上下文规则。
5. 二元值 boolean
在定义好的安全策略中,包含了很多规则,而为了能够更加灵活的处理一些操作的允许、拒绝,就把这些决定权暴露出来交给系统管理员,这样的一些操作权就是一个个 bool 开关。比如:samba 允许 home 目录被共享的开关是:samba_enable_home_dirs。
6. 操作命令
文件对象的安全上下文修改的命令:chcon, restorecon
默认规则查询,修改安全上下文的命令:semanage fcontext, semanage port 可查询,修改,也能操作chcon的功能
二元值查询修改命令:getsebool -a, setbool -P samba_enable_home_dirs on。
7. 关联包
setroubleshot(semanage,sealert),setools-console(seinfo)
[TimLinux] 理解selinux的更多相关文章
- 深入理解SELinux
目录(?)[+] 1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组 ...
- [TimLinux] django SELinux+httpd+mod_wsgi部署
1. 实验项目 $ django-admin startproject myweb $ cd myweb/ $ python manage.py startapp poll 1. 配置使用MySQL ...
- 深入理解SELinux SEAndroid
参考文章: 一. http://blog.csdn.net/innost/article/details/19299937 二. http://blog.csdn.net/innost/article ...
- Nginx 因 Selinux 服务导致无法远程訪问
文章来源:http://blog.csdn.net/johnnycode/article/details/41947581 2014-12-16日 昨天晚上处理好的网络訪问连接.早晨又訪问不到了. 现 ...
- SELinux策略语言--客体类别和许可
1. 简介 SELinux策略语言主要描述policy.conf的相关语法,其相关部分如下图所示: 2. 客体类别 定义内核支持的客体类别和许可的策略语言指令,并对SELinux系统中内核客体类别标准 ...
- selinux介绍/状态查看/开启/关闭
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统--百度百科. 基于经验来说SELinux在 ...
- Ansible的使用和模块化深入
Ansible配置 配置文件:/etc/ansible/ansible.cfg [default] 默认配置 inventory = /etc/ansible/hosts主机清单 library = ...
- selinux 设置的彻底理解 并要 熟练经常的使用
只需要参考这篇文章就好了: http://www.jishux.com/plus/view-631994-1.html 注意 在linux中 两个术语 的严格区分和使用: 改变: change; 改变 ...
- SELinux深入理解
ps:今天在远程给服务器配置https的时候,一直乱码,以前做系统的系统第一件事情,就是关闭selinx,今天忘记了,然后就悲剧了... 弄了半天才弄好,镇定思痛,好好的来看下selinux 1. 简 ...
随机推荐
- 012.Kubernetes二进制部署worker节点Flannel
一 部署flannel 1.1 安装flannel kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通.flannel 使用 vxlan 技术为各节点创建一 ...
- google在nature上发表的关于量子计算机的论文(Quantum supremacy using a programmable superconducting processor 译)— 附论文
Google 2019年10月23号发表在Nature(<自然><科学>及<细胞>杂志都是国际顶级期刊,貌似在上面发文两篇,就可以评院士了)上,关于量子计算(基于 ...
- Docker swarm集群增加节点和删除节点
Docker swarm集群增加节点 docker swarm初始化 docker swarm init docker swarm 增加节点 在已经初始化的机器上执行:# docker swarm j ...
- vue 实现单选/多选效果
转:https://blog.csdn.net/Number7421/article/details/81002729 不过我以前都写过这三种方法了,很pang额,怕之后忘记了,偷个懒拿别人的,以免以 ...
- spark安装配置
一.下载解压 二.配置 (假设已经配置了Java.Hadoop) 1.环境变量 2.spark配置 进入spark安装目录,复制文件 编辑spark-env.sh文件,在文件中添加如下信息(括号中路径 ...
- hdu 1863 畅通工程 (prim)
畅通工程Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- vim可视化模式
进入:v 移动光标选中 c剪切.y复制(自动退出v模式,进入插入模式) p粘贴
- Leetcode 25/24 - Reverse Nodes in k-Group
题目描述 Leetcode 24 题主要考察的链表的反转,而 25 题是 24 的拓展版,加上对递归的考察. 对题目做一下概述: 提供一个链表,给定一个正整数 k, 每 k 个节点一组进行翻转,最后返 ...
- flex一些属性
// 改变主轴的方向 flex-direction: column; // display:flex的子元素无法设置宽度 // 子元素有个flex-shrink属性,表示在父元素宽度不够的情况下是否自 ...
- Spring Boot (一) 校验表单重复提交
一.前言 在某些情况下,由于网速慢,用户操作有误(连续点击两下提交按钮),页面卡顿等原因,可能会出现表单数据重复提交造成数据库保存多条重复数据. 存在如上问题可以交给前端解决,判断多长时间内不能再次点 ...