SELinux介绍与设置

一、SELinux介绍
??selinux强制访问控制的一种策略,在传统的linux系统中,一切皆文件,有用户,组和权限来控制访问,在selinux中,一切皆对象,由存放在扩展属性域的安全元素控制访问,所有文件、端口、进程都具备安全上下文,安全上下文主要分为五个安全元素user、role、type、sensitivity、category。
二、五个安全元素

user:登录系统的用户类型,如root,user_u,system_u,所属本地进程都属于自由(unconfined)进程
role:定义文件,进程和用户的用途:文件:object_r,进程和用户:system_r
type:数据类型,在规则中,何种进程类型访问何种文件都是基于type来实现的,多服务公用的类型有public_content_t
sensitivity:限制访问的需要由组织定义的分层
category:对于规定组织划分不分层的分类

三、selinux工作模式
??selinux主要模式有:strict(centos5)、targeted、minimun(centos7)、mls几类,selinux系统默认选择是targeten,strict已经不再使用,minimun和mls稳定性不足
四、实际上下文和期望上下文
实际上下文:存放在元数据中,查看文件上下文:ls -Z。查看进程上下文:ps -Z


期望上下文:期望上下文也可以理解为默认上下文,它存放在二进制的selinux策略库中。查看期望上下文的命令为semanage fcontext -l查看系统所有期望上下文


五、开启和禁用selinux

更改配置文件类型一般只在enforcing和disabled两个模式下相互切换,因为第二种只是报警,没有任何意义,该配置只有在重启后有效
查看当前selinux的状态命令为
getenforce查看当前状态
setenforce临时开启或关闭selinux
setenforce 0|1,其中0代表permissive,1代表enforcing
sestatus详细查看当前selinux状态

给文件重新打安全标签
chcon该命令直接更改实际上下文,不会更改期望上下文,如果系统重新打安全标签,将更改,这里不建议这么更改。
chcon [-R] [-u user] [-r role] [-t type] 目录|文件,其中-R递归打标签。
恢复目录或文件的期望上下文
restorecon 目录或文件,-R递归
1、对默认安全上下文查询与更改。注意:在更改期望上下文后,需要restorecon 更改目录,让实际安全上下文和期望上下文同步
semanage fcontext -l

semanage fcontext -a -t 类型 目录或文件

restorecon -Rv 目录,恢复期望上下文,并显示过程,如果期望上下文和实际上下文一致将不显示任何信息

semanage fcontext -d -t 类型 目录或文件

2、selinux更改端口标签
查看端口标签
semanage port -l

添加端口,若需要让该服务多增加一个不是默认端口号的端口,则需要添加新的端口号,这里以ssh为例
semanage port -a -t 类型 -p tcp|udp 端口号

只需要在将ssh配置文件/etc/ssh/sshd.conf文件中的port端口改成2222重启服务即可

删除端口,只需要将a改成d即可
semanage port -d -t 类型 -p tcp|udp 端口号
修改现有端口为新标签
semanage port -m -t 类型 -p tcp|udp 端口号

3、selinux布尔值
查看当前系统所有布尔值
getsebool -a|名称

semanage boolean -l
semanage boolean -l -C查看当前已经修改过的bool值

设置布尔值
setsebool [-P] 需要修改的bool值=[0|1]
setsebool [-P] 需要修改的bool值 [on|off]

设置布尔值时,如果需要让操作存入磁盘,永久有效,则需要在中间加上-P参数

原文地址:http://blog.51cto.com/10492754/2092597

时间: 2024-10-14 18:21:20

SELinux介绍与设置的相关文章

SELinux介绍

SELinux介绍 SELinux: Secure Enhanced Linux, 是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的 Linux的一个强制访问控制的安全模块. 2000年以GNU GPL发布, Linux内核2.6版本后集成在内核中DAC: Discretionary Access Control自由访问控制MAC: Mandatory Access Control 强制

SELinux的状态设置

SELinux的状态类型: enforcing:强制,每个受限进程都必然受到限制. permissive:允许,每个受限的进程违规操作不会被禁止,但是会被记录于审计日志. disabled:禁用 SELinux的状态查看: getenforce:获取selinux当前状态 sestatus:可以查看到详细信息 SELinux的状态设置: 永久性设置: /etc/sysconfig/selinux  (软链接文件) /etc/selinux/config      (原文件) 临时性设置: set

centos 6.4 修改ssh默认端口22为其他端口详尽安全教程(包含SELinux,iptables设置)

该教程是目前最安全的教程,如果你是新手请严格按照教程的步骤进行,如果是有一定基础的人可以选择性跳过某些段落 修改端口配置 先运行 vim /etc/ssh/sshd_config 找到#Port 22 这行然后去掉前面的注释,然后再下面加一行 Port 1234 Port 22 Port 1234 很多教程是直接修改22为其他端口,最好不要这样做,万一修改的端口不能用,你就完全登陆不上了,所以先留一条后路 修改防火墙配置 修改iptables(linux 的防火墙)文件: vim /etc/sy

UITabBarController详解(介绍和设置)

[objc] view plaincopy - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization af

Android五大布局介绍&属性设置大全

前言 在进行Android开发中,常常需要用到各种布局来进行UI的绘制,今天我们就来讲下Android开发中最常用的五大布局介绍和相关属性的设置. 目录 Android五大布局介绍&属性设置.jpg 一.布局介绍 在Android中,共有五种布局方式,分别是: FrameLayout(框架布局) LinearLayout(线性布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局) TableLayout(表格布局) 1. FrameLayout框架布局 布局特

SELinux安全策略的设置及应用

今天给大家分享的可能是很多人觉得没什么意义的一项内容,其实不是它没什么意义,而是说它使用起来比较麻烦,因为启用SELinux安全策略之后,每个应用程序的访问域和文件的安全标签都是需要严格匹配后,才能执行访问操作的,所以如果稍有设置上的不当,便会导致应用程序出错,但任何事情都是双面性的,自己设置起来比较麻烦的同时,也给相应的应用程序数据提供了足够的安全保障,比如说,我们给web服务启用SELinux安全策略之后,即便有人成功的入侵了我们的web服务器,替换了我们的网站主页,但由于web进程在访问网

Linux启动原理介绍及设置开机启动脚本方法

转自本人个人博客:http://www.xgezhang.com/linux_init_shell.html 之前总是对Linux的整个启动脉络不了解,把这个问题看得很神秘,昨天稍微研究了一下,其实还是很简单的. Linux启动时,所有的启动脚本都放在/etc/init.d/ 下面,而这些脚本又有映射到各个/etc/rcX.d,这个X代表0-6,分别对应不同的系统级别: 0代表关机(halt) 1级别是单用户模式(single) 2级别是多用户级别,这个是默认级 3,4,5未定义,可以提供给用户

DNS服务器介绍及设置

DNS服务器是指"域名解析服务器",而域名就是我们通常所说的"网址".在互联网中识别和寻找不同的计算机,实际上是需要知道该计算机的IP地址才能进行访问.比如220.181.38.4,这个IP就是百度的电信线路IP中的一个,电信用户在地址栏中输入这个IP地址就可以直接访问百度了,而每个网站都有一个或多个IP地址,如果客户在浏览网页时要输入这些IP地址来进行访问的话,无疑是有很大记忆难度的,而通常我们都是通过域名(网址)来对网站进行访问的. 一.DNS服务器的工作原理大

Linux7/Centos7 Selinux介绍

SELinux的全称是Security Enhanced Linux, 就是安全加强的Linux.在SELinux之前,root账号能够任意的访问所有文档和服务:如果某个文件设为777,那么任何用户都可以访问甚至删除:这种方式称为DAC(主动访问机制),很不安全. DAC 自主访问控制: 用户根据自己的文件权限来决定对文件的操作,也就是依据文件的own,group,other/r,w,x权限进行限制.Root有最高权限无法限制.r,w,x权限划分太粗糙.无法针对不同的进程实现限制. SELinu