SELinux基础/激活或关闭SELinux/改变object的域/启用或关闭程序功能

获取更多帮助 《SELinux权威指南》

或许应该叫:如何理解Windows

Linux比Windows更安全,这样说不合理.

安全等级: A>B>C>D

Linux(c2) Windows(c2)

GUI界面:MAC>Windows

图形工作站:mac

Windows 专业普及计算机系统。图形不如mac,又不够安全。

SELinux基础


1)访问模型

Linux原有访问模型:自主访问控制 DAC

安全隐患: 进程所能访问资源的范围 为用户所能访问的资源范围

后门: rootkit程序
进程被胁持:基于进程作为跳板,就有了进程属主的权限 root普通用户--> 查看其他文件 --> 找到漏洞,提权操作

SELinux访问模型: 强制访问机制 MAC

类似sandbox机制:进程启动在一个沙箱内部,

为进程运行,启用一个专用的沙箱

sandbox 沙箱: 最小资源集合
进程脱离控制时,不能访问用户所有能访问的文件

2)SELinux工作级别

strict 严格级别  每个进程都受到SELinux的控制

targetted      有限个进程受SELinux控制,监控容易被***的进程

3)SELinux工作方式

subject(主语) operation(谓) object(宾)

subject: 进程

operation: 取决于被操作对象支持的模式 及 操作者是否在有效区域内

object: 进程、文件、用户

文件: operation: open, read, write, close, chown, chmod

活动范围(域):

subject: domain

object:  type


4)SELinux安全标签显示

SELinux为每个文件、进程提供安全标签

查看:

进程:ps axuZ

- 没有激活SELinux

例如:-   root     26238  3.0  0.4   4936  1076 pts/0    R+   21:24   0:00 ps axuZ

文件: ls -Z 显示SELinux的安全上下文

例如:-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg

user:role:type

user: SELinux的user

role: 角色,类似linux的组

type: 类型, 沙箱的范围

subject: domain

object: type

object能被subject操作只有:type是domain的子集:domain == type 或 domain包含type

激活SELinux


1)配置文件位置:


2)SELinux状态

获取SELinux当前状态

getenforce

设定状态:当前有效,重启失效

setenforce #0 设定为permissive1 设定为enforce

enforcing   强制:受限的进程必然受限,不受限的进程不受限。

permissive  允许:受限的进程违规操作不会禁止,但会被记录于审计日志中。 日志位置:/var/log/audit.log

disabled   关闭

3)激活或关闭SELinux

  开启selinux: disabled --> enforcing/permissive

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

开启SELinux必须重启,在/重新挂载后,重新对所有文件打标才可以对selinux操作

关闭selinux:enforcing/permissive --> disabled

sed -i -r 's@(SELINUX=)(enforcing|permissive)@\1disabled@' /etc/sysconfig/selinux

激活SELinux后

1)进程访问文件的安全上下文

1)、进程的属主对文件的权限,通过

2)、文件的type是否是进程domain的子集

进程查看规则库,查看进程所属的domain是否被授权了能够访问文件所属type

是:能访问

否:被SELinux规则所拒绝,并记录至日志文件中 /var/log/audit.log,审计:在合理的使用范围内,进程对文件可执行的合理的操作

SELinux的规则库:规则:哪种域能访问哪种或哪些和类型内文件法无授权即禁止 --> 在SELinux规则库中没有定义的规则,均被禁止
进程如何访问非本域domain的文件?修改文件的type 属于进程domain即可


2)改变文件所属的域


使用示例


3)还原标签


使用示例


4)设定程序功能开启或关闭

默认对于某些程序的功能,相对安全级别较低的功能,将被SELinux自动被禁止,例如ftp的匿名用户:任何用户可以上传文件

获取程序功能sebool

getsebool -a   所有程序功能

getsebool ftp_home_dir

设置程序功能

setsebool [-P] sebool=value

-P 永久有效,将修改的结果保存至策略库中 (需要一定时间:找到规则库,设定,转换为binary格式 )

例如:

setsebool ftp_home_dir 1

setsebool ftp_home_dir 0

setsebool ftp_home_dir on

setsebool ftp_home_dir off

转载于:https://blog.51cto.com/sonlich/1964022

谢烟客---------Linux之SELinux的基本应用相关推荐

  1. linux基础配置脚本,Linux中selinux基础配置教程详解

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统. 三种模式: Enforcing:强制模式,在selin ...

  2. Linux中SELinux理解

    SELinux是Security Enhaanced Linux 的英文缩写,字面上的意思就是安全强化的Linux 其实SELinux是在进行进程.文件等详细权限配置时依据的一个内核模块.由于启动网络 ...

  3. Linux 查看 SELinux 的状态

    可以运行下面的命令来查看当前服务配置的 SELinux 的状态. getenforce 上面的输出状态显示了当前 SELinux 的配置状态. 如果上图显示当前的状态. 临时禁用 SELinux . ...

  4. Linux系统selinux目录,SELinux深入理解

    1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成: Kernel SEL ...

  5. 【linux】SELinux工具:semanage的安装和使用

    1.安装 在ubuntu14.04上安装 sudo apt-get install policycoreutils 在CentOS7上安装 sudo yum -y install policycore ...

  6. context linux,使用selinux contexts

    SELinux增强了Linux系统的安全,但是对于初学者来说很容易造成各种各样的错误,经常被搞的莫名其妙不知所措,最后只能祭出大招把SELinux一关了之.笔者也是初学者,也没有搞清楚其中的道理,只是 ...

  7. Linux之SELinux的基本应用

    SELinux基础/激活或关闭SELinux/改变object的域/启用或关闭程序功能 获取更多帮助 <SELinux权威指南> 或许应该叫:如何理解Windows Linux比Windo ...

  8. 安全的加强的linux:SELinux

    selinux:全称安全加强的linux secutity enhanced linux 上个世纪80年代美国国家安全属NSA研发出 MAC:强制访问控制 linux安全模型,每一个用户,他所拥有的文 ...

  9. linux修改selinux

    SElinux以及防火墙的关闭 关闭SELinux的方法: 修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启. 如果不想重启 ...

  10. Linux防火墙-SELinux、netfilter、iptables、ifconfig

    2019独角兽企业重金招聘Python工程师标准>>> 10.11 Linux网络相关 ifconfig命令 查看网卡IP 如果系统没有该命令可以使用yum安装: [root@ada ...

最新文章

  1. 把JS 脚本嵌入CS运行
  2. c++做界面_为什么80%的毕业设计做的都是滨水?
  3. Windows 10 1809 版本市场占有率已达 21%
  4. 姚期智:这是一个“前所未有”的金融科技与计算机科学的黄金时代
  5. python怎么安装pandas模块-windows下如何安装Python、pandas
  6. Markdown与 $\LaTeX$ 公式的使用入门指南
  7. 11、Power Query-透视列的解析
  8. 关于printf输出 格式化规定符 的
  9. 关于去苹果服务器验证充值的一些看法
  10. 搭建git服务器--ssh篇
  11. rabbitmq实战指南_太香了这份架构解密:从分布式到微服务(第二版),神仙进阶指南...
  12. 社区发现算法之——Louvain
  13. 游戏开发入门如何点亮技术树?
  14. 利用mongodb实现分布式WEB图片存储
  15. 台式计算机时间不能同步,电脑时间不能同步的原因和图文解决方法
  16. UnicodeDecodeError: 'rawunicodeescape' codec can't decode bytes in position 80-81: truncated \UXXX
  17. 困扰我许久的痛楚:闭包
  18. Linux软件包管理工具-yum
  19. 【C语言小游戏】扫雷
  20. SpringCloud微服务实战——搭建企业级开发框架(三十一):自定义MybatisPlus代码生成器实现前后端代码自动生成

热门文章

  1. matlab图上面加箭头,利用matlab如何在图形中绘制箭头
  2. 高通---IGV:从安装到使用
  3. Python将.nii格式文件转换为.png格式
  4. JavaScript键盘按键侦测
  5. 属于计算机与网络技术在医学中应用的是,计算机网络技术在医学论文写作与投稿中的应用...
  6. iOS开发雕虫小技之傻瓜式定位神器-超简单方式解决iOS后台定时定位
  7. CSS3 SVG 画一个三角形
  8. 使用imagex将多个swm文件整合到一个wim文件中
  9. AD21四层板导出Gerber
  10. 逆袭-2014年中电投篮球赛札记_01【转】