谢烟客---------Linux之SELinux的基本应用

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 设定为permissive
    1 设定为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 ‘[email protected](SELINUX=)(enforcing|permissive)@\[email protected]‘ /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

时间: 2024-11-18 11:53:08

谢烟客---------Linux之SELinux的基本应用的相关文章

Linux之SElinux安全上下文件(1)

Linux之SElinux安全上下文件(1) SELinux:Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Courporation)开发的LInux的一个强制控制的安全模块.2000年以GNU GPL发布,Linux内核2.6版本后继承在内核中. 访问控制类别: DAC:Discretionary Access Control 自由访问控制 MAC:Mandatory

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

     谢烟客-----Linux入门

为什么要学习 Linux 2050年人工智能或将超越人类智商,机器人产生了自主意识,,完全取代人脑思维甚至统治人类,或许.... 有人说:windows是漂亮的,Linux是智慧的.透明的. 全球TOP500超级计算机排行榜中99%都是linux内核. 任何手持智能终端设备就连电子表的底层都是Linux 你或许会认为Windows更为易用,Linux操作起来很慢,Linux入门曲线陡峭,其实当我们学会一些命令之后,一个命令所完成的事,Windows中需要几次步骤才能完成. 基于命令行,执行速度快

DTE Linux、SELinux与SEAndroid之间的对比分析

2000年,美国威廉玛丽学院的研究人员Serge等人在USENIX的4th annual Linux Showcase &Conference会议上发表了题为"Domainand Type Enforcement for Linux"的文章.该文章第一次将DTE模型用于Linux,实现了DTE Linux原型系统. 同年,美国国家安全局NSA的Stephen Smalley等人发布了开源的Linux安全框架SELinux,SELinux第一个版本基于Linux 2.5内核,并采

Linux下SElinux详解

1.SElinux 全称:Security-Enhanced Linux,灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中,仅                    集合最小权限访问, 2. 查看文件上下文: ls -Z [[email protected] ~]# ls -Z -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg -rw-r--r--. root root system

Linux的selinux的初级管理

SElinux,内核级加强型防火墙, SELinux[Security Enhanced Linux (安全强化 Linux)],是工作在内核中的MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件.网络端口等).强制访问控制系统的用途在于增强系统 抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力.所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复. 对于selinux的通俗理解:   

linux之SELinux

SELinux 概述:SELinux 全称Security Enhanced Linux(安全性增强的Linux),由美国国家安全局NSA(National Security Agency)开发,构建亍kernel 乀上的.拥有灵活而强制性的访问控制结构,旨在提高Linux 系统的安全性,提供强健的安全保证,可防御未知攻击,据称相当亍B1级的军事安全性能:已经被整合到2.6 以上kernel 中:传统Linux 在没有SELinux 保护的时候,倘若运行亍乀上的服务被骇客攻陷,其服务器最高权限就

谢烟客---------Linux之grub应用

Grub基础.工作流程.grub配置文件.grub功能.grub内置命令行接口 grub安装.grub修复 双系统安装(先Windows后Linux,以免windows NTloader会覆盖Linux loader) GRUB Grand Uniform Bootloader CentOS5,6 grub1 0系,设备或分区编号从0开始 CentOS7 grub2 1系,设备或分区编号从1开始 CentOS5,6 grub应用: 一.grub的工作流程 stage1 mbr中 stage1.5

Linux之Selinux几种模式之间的转换说明

在linux环境下执行某些程序时,偶尔会遇到来一个关于SELinux的强制模式不可执行的情况,这种情况下需要关闭SELinux或者将enforcing改为 permissive 模式后才能进行执行. selinux是Linux内核中提供的强制访问控制(MAC)系统下面就selinux的几种模式及其转换进行说明: SELinux 的启动.关闭与查看 1.并非所有的 Linux distributions 都支持 SELinux 目前 SELinux 支持三种模式,分别如下: •enforcing: