CentOS上的SELinux实验
selinux基本工作原理
selinux基本工作原理SELinux(Security-Enhanced Linux)是一个在Linux内核中实现的强制访问控制(MAC)系统。
其基本工作原理是通过在系统中强制执行安全策略,对进程的访问和操作进行更为细致和精确的控制,以增强系统的安全性。
以下是SELinux的基本工作原理:1.策略定义:SELinux的工作始于一个称为"策略"的定义。
策略规定了哪些主体(如进程、用户)有权执行哪些操作(如读、写、执行),以及在哪些对象(如文件、目录)上执行这些操作。
策略是由安全策略管理器生成和维护的。
2.标签:SELinux为系统上的每个对象和主体分配唯一的安全标签。
这些标签包含了有关对象和主体的信息,如它们的角色、类型和安全上下文。
标签的引入使得SELinux能够在更细粒度上进行访问控制。
3.强制访问控制:SELinux通过在系统中实施强制访问控制来执行定义的策略。
传统的Linux访问控制是基于自愿访问控制(DAC),而SELinux引入了强制访问控制(MAC)。
这意味着即使用户具有访问某个资源的权限,如果SELinux规则不允许,则该用户也无法访问。
4.安全上下文:SELinux使用安全上下文来定义对象和主体的标签。
安全上下文包括类型(type)、角色(role)和用户(user)。
这些信息在策略中定义,并通过标签与对象和主体相关联。
5.审计日志:SELinux还提供了审计功能,可用于记录系统上发生的安全事件。
审计日志记录包含有关SELinux决策的信息,以及与安全策略违规相关的详细信息。
总体而言,SELinux通过实施强制访问控制和基于安全标签的访问规则,提供了比传统自愿访问控制更为细致和强大的安全性。
这有助于防范各种攻击和提高系统的整体安全性。
selinux配置
3.type
type:用来将主体与客体划分为不同的组,组每个主体和系统中的客体定义了一个类型;为进程运行提供最低的权限环境。
//httpd s are allowed to connect out to the network
setsebool -P httpd_can_network_connect 1
// You can disable suexec transition
setsebool -P httpd_suexec_disable_trans 1
===nfs===
//If you want to setup this machine to share nfs partitions read only
setsebool -P nfs_export_all_ro 1
//If you want to share files read/write
or
setsebool -P allow_httpd_sys__anon_write=1
//httpd can be setup to allow cgi s to be executed
setsebool -P httpd_enable_cgi 1
//If you want to allow access to users home directories
//You can disable SELinux protection for the httpd daemon by executing
setsebool -P httpd_disable_trans 1
service httpd restart
selinux试验
Selinux学习学习目标:学习和掌握selinux相关管理命令。
学习效果:学会使用基础常用的selinux命令,来实现对selinux服务的管理和应用。
一、SELinux简介SELinux的全称是Security-Enhanced Linux,是由美国国家安全局NSA开发的访问控制体制。
SELinux可以最大限度地保证Linux系统的安全。
至于它的作用到底有多大,举一个简单的例子可以证明:没有SELinux保护的Linux的安全级别和Windows一样,是C2级,但经过保护SELinux保护的Linux,安全级别则可以达到B1级。
如:我们把/tmp目录下的所有文件和目录权限设置为0777,这样在没有SELinux保护的情况下,任何人都可以访问/tmp 下的内容。
而在SELinux环境下,尽管目录权限允许你访问/tmp下的内容,但SELinux的安全策略会继续检查你是否可以访问。
NSA推出的SELinux安全体系结构称为 Flask,在这一结构中,安全性策略的逻辑和通用接口一起封装在与操作系统独立的组件中,这个单独的组件称为安全服务器。
SELinux的安全服务器定义了一种混合的安全性策略,由类型实施 (TE)、基于角色的访问控制 (RBAC) 和多级安全(MLS) 组成。
通过替换安全服务器,可以支持不同的安全策略。
SELinux使用策略配置语言定义安全策略,然后通过checkpolicy 编译成二进制形式,存储在文件(如目标策略/etc/selinux/targeted/policy/policy.18)中,在内核引导时读到内核空间。
这意味着安全性策略在每次系统引导时都会有所不同。
SELinux的策略分为两种,一个是目标(targeted)策略,另一个是严格(strict)策略。
有限策略仅针对部分系统网络服务和进程执行SELinux策略,而严厉策略是执行全局的NSA默认策略。
有限策略模式下,9个(可能更多)系统服务受SELinux监控,几乎所有的网络服务都受控。
CentOS7关闭防火墙和SELinux
CentOS7关闭防火墙和SELinux
防火墙就是提供基于策略的网络过滤,用于阻挡网络策略所禁止的数据流通过。
防火墙由几部分组成,但最关键的部分通常是包过滤。
下面是學習啦小編收集整理的CentOS7关闭防火墙和SELinux,希望對大家有幫助~~
CentOS7关闭防火墙和SELinux 工具/原料
CentOS7
SecureCRT(或XManager等ssh客户端工具)
防火墙(firewalld)
临时关闭防火墙
systemctl stop firewalld
永久防火墙开机自启动
systemctl disable firewalld
临时打开防火墙
systemctl start firewalld
防火墙开机启动
systemctl enable firewalld
查看防火墙状态
systemctl status firewalld
END
SELinux
临时关闭SELinux
setenforce 0
临时打开SELinux
setenforce 1
开机关闭SELinux
编辑/etc/selinux/config文件,将SELINUX的值设置为disabled,如下图。
下次开机SELinux就不会启动了。
4查看SELinux状态
执行getenforce命令
CentOS7关闭防火墙和SELinux。
《计算机网络安全》SELinux实验
王宇航09283020 王聪雅09283017SELinux实验一、实验内容概述我选做的是用SELinux来保护本机的Apache Web服务器。
对于Internet上应用广泛的Web服务来说,有很多网站使用的是Linux系统,并且采用Apache服务器的无疑占据了极大的市场份额。
因此,在Linux系统中保护Apache Web 服务器的安全,防止非法用户进入无疑是一件非常重要的事情。
二、Apache Web服务器的安全需求在没有强制访问控制系统保护的Linux系统中,我们本机的Apache Web服务器是可能遭受攻击的,比如0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)。
假设系统上的Apache Web服务器被发现存在一个漏洞,而修复该安全漏洞的Apache 更新补丁尚未打出,则某远程用户便可能有机会攻击我们的Apache Web服务器,访问系统上的敏感文件(比如/etc/passwd),或者尝试在别处写入进而攻击我们的系统。
这种情况下,我们便可以借助SELinux来保护我们的Apache Web服务器,对访问权限进行严格的限制,使其不会遭受真正的伤害。
因为使用SELniux后,几乎所有的服务进程都在限制下运行。
并且,大多数以root身份运行的系统进程(比如passwd进程)都是受限制的。
当进程受限制时,它只能在自己限制的域内运行,例如Web服务进程httpd只能运行在httpd_t域内。
如果一个受限制的进程被黑客攻击并控制了,根据SELinux策略配置,这个黑客也仅仅只能访问这个受限制的域,因此攻击所带来的危害也比传统的Linux小了很多。
三、实验环境主机CPU:Intel(R) Core i5 M 460 @ 2.53GHzVMware版本:VMware.Workstation.Full.7.1.0.261024.WinLinux发行版:Fedora-15-i386-DVDLinux内核:2.6.38.6-26四、实验过程1、了解SELinuxSELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,比起通常的Linux系统来,安全性能要高很多,它通过对用户进程权限的最小化,使系统即使受到攻击(例如进程或者用户权限被夺去),也不会对整个系统造成重大影响。
selinux机制原理_概述及解释说明
selinux机制原理概述及解释说明1. 引言:1.1 概述:SELinux(Security-Enhanced Linux)是一种用于Linux操作系统的强制访问控制(MAC)安全机制,它通过为每个对象和主体分配唯一的标签,并使用这些标签来管理对系统资源的访问权限,从而提供了更高级别的系统安全性。
SELinux广泛应用于各种Linux发行版中,并成为许多关键部署环境中不可或缺的安全功能。
1.2 文章结构:本文首先对SELinux机制进行概述,包括其基本原理和概念。
然后介绍了安全策略与访问控制在SELinux中扮演的角色,并阐述了标签和标记机制在实现安全性方面的重要性。
接下来,我们将深入了解SELinux的工作原理,包括类型强制访问控制(TE)机制、强制访问控制(MAC)模型与规则引擎等方面。
此外,我们还会提供一些利用SELinux保护系统安全的实例和示例。
在完成对SELinux机制原理和工作原理的详细介绍后,我们将说明如何与Linux 内核集成以及各种实现方式。
这部分将涵盖SELinux在Linux内核中位置、关键组件的介绍,以及如何解决不同发行版和版本之间的差异。
最后,我们会提供一些开启、关闭或配置SELinux策略的方法和技巧指南。
1.3 目的:本文旨在为读者深入了解SELinux机制原理提供一个全面而清晰的解释。
通过详细阐述SELinux的基本概念、工作原理、与Linux内核的集成方式等内容,读者可以更好地理解SELinux对系统安全性的重要性和实际应用。
同时,本文也将帮助读者掌握使用和配置SELinux策略的方法,进一步提升系统的安全性。
2. SELinux机制原理:2.1 SELinux概述:SELinux(Security-Enhanced Linux)是一种强制访问控制(MAC)机制,旨在增强Linux操作系统的安全性。
它通过强制策略来控制进程、文件和网络资源的访问,以及保护系统免受恶意软件和未经授权的访问。
centOS7.6精简版上的sshd服务修改端口配置(安装SELinux域依赖包及命令se。。。
centOS7.6精简版上的sshd服务修改端⼝配置(安装SELinux域依赖包及命令se。
⼀、修改sshd服务的端⼝号配置过程如下第1步:⾸先修改 sshd 的配置⽂件 /etc/ssh/sshd_config,修改如下:[root@localhost ~]# vim /etc/ssh/sshd_configPort 22 #将这⼀⾏的注释去掉Port 5500 #添加这⼀⾏,新添加⼀个sshd服务端⼝号第2步:设置防⽕墙放⾏ 5500 端⼝号,设置如下:#⽤iptables添加放⾏端⼝,iptables 和 firewall-cmd ⽤⼀种即可[root@localhost ~]# iptables -I INPUT -s 0.0.0.0 -p tcp --dport 5500 -j ACCEPT#⽤firewall-cmd添加放⾏端⼝[root@localhost ~]# firewall-cmd --zone=public --add-port=5500/tcp[root@localhost ~]# firewall-cmd --zone=public --query-port=5500/tcp第3步:向 SELinux中添加修改的SSH端⼝,先安装其依赖⼯具包 policycoreutils-python。
安装命令是: yum install policycoreutils-python。
还要安装 SELinux的管理⼯具 semanage,命令是:yum provides semanage。
操作如下:[root@localhost ~]# yum install policycoreutils-python #先安装semanage的依赖包#安装过程省略[root@localhost ~]# yum provides semanage #安装SELinux管理⼯具 semanage,过程如下base/7/x86_64/filelists_db | 7.2 MB 00:00:03extras/7/x86_64/filelists_db | 259 kB 00:00:00updates/7/x86_64/filelists_db | 6.5 MB 00:00:03policycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilitiesRepo : baseMatched from:Filename : /usr/sbin/semanagepolicycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilitiesRepo : @baseMatched from:Filename : /usr/sbin/semanage第4步:使⽤semanage命令查询当前 ssh 服务端⼝、添加端⼝等操作如下:[root@localhost ~]# semanage port -l | grep ssh #查看当前ssh端⼝ssh_port_t tcp 22[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 5500 #向SELinux添加ssh端⼝[root@localhost ~]# semanage port -l | grep ssh #验证端⼝是否添加成功ssh_port_t tcp 5500, 22第5步:重启 ssh 服务,并使⽤新端⼝进⾏验证。
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 Access Control 强制访问控制DAC和MAC的特点:DAC环境下进程是⽆束缚的MAC环境下策略的规则决定控制的严格程度MAC环境下进程可以被限定的策略被⽤来定义被限定的进程能够使⽤那些资源(⽂件和端⼝)默认情况下,没有被明确允许的⾏为将被拒绝SElinux安全上下⽂⼯作类型:strict:centos5,每个进程都受到selinux的控制targeted:⽤来保护常见的⽹络服务,仅有限进程受到 selinux控制,只监控容易被⼊侵的进程,rhel4只保护13个服务,rhel5保护88个服务minimum:centos7,修改过的targeted,只对选择的⽹络服务。
mls:提供MLS(多级安全)机制的安全性minimum和mls稳定信不⾜,未加以应⽤为什么会⽤SElinux传统的 Linux中⼀切皆⽂件,由⽤户、组、权限控制访问。
⽽在SELinux中⼀切皆对象(object),由存放在inde表的扩展属性域的安全元素所控制其访问。
安全上下⽂基本格式说明所有的⽂件和端⼝资源和进程都具备安全标签:安全上下⽂(security context)组成元素:user:role:type:sesitivity:category,如user_u:object_r:tmp_t:s0:c0实际上下⽂存放在⽂件系统中,进程、⽂件、已经⽤户等都有相应的安全上下⽂:例⼦:#查看指定⽂件的安全上下⽂ls -Z#查看进程的安全上下⽂件ps Z#查看⽤户安全上下⽂期望(默认)上下⽂:存放在⼆进制的SELinux策略库(映射⽬录和期望安全上下⽂)中:使⽤命令semanage fcontext -l #可以查看所有默认策略SELinux策略:对象(object):所有可以读取的对象,包括⽂件、⽬录和进程,端⼝等主体:进程称为主体(subject)SELinux中对所有的⽂件都赋予⼀个type的⽂件类型标签,对于所有的进程也赋予各⾃的⼀个domain的标签。
centos中selinux的作用
在CentOS中,SELinux是“Security Enhanced Linux”的缩写,它是一个安全加强的Linux,也是一个Linux内核模块和Linux的一个安全子系统。
SELinux的主要作用是最大限度地减小系统中服务进程可访问的资源。
在具体操作上,SELinux能够限制进程所访问的资源和其执行的行为。
例如,它可以限制进程访问文件、设备、网络接口等系统资源,并可以控制进程的执行方向和操作行为,从而保护系统的安全性和完整性。
另外,SELinux还提供了强制访问控制(MAC)的机制,可以根据安全策略要求对系统进行更细粒度的控制,使得系统在安全性和可用性之间达到平衡。
例如,通过使用SELinux,可以限制特定进程只能访问特定的文件或目录,甚至可以限制特定进程只能运行在特定的系统中。
总的来说,SELinux在CentOS中起着重要的安全作用,可以帮助保护系统和应用程序免受攻击和损害。
最新整理安全防护软件Selinux使用详解
安全防护软件S e l i n u x使用详解网络安全是目前互联网的热门话题之一,作为个人用户的我们同样需要关注,做好防护。
S E L i n u x(S e c u r i t y-E n h a n c e d L i n u x)是美国国家安全局(N S A)对于强制访问控制的实现,是 L i n u x上最杰出的新安全子系统。
今天小编要为大家带来的就是C e n t O S 上的安全防护软件S e l i n u x详解,希望对大家会有帮助,有需要的朋友一起去看看吧具体介绍S E L i n u x(S e c u r i t y-E n h a n c e d L i n u x)是美国国家安全局(N S A)对于强制访问控制的实现,是 L i n u x历史上最杰出的新安全子系统。
N S A是在L i n u x社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。
S E L i n u x默认安装在 F e d o r a和 R e d H a t E n t e r p r i s eL i n u x上,也可以作为其他发行版上容易安装的包得到,20**以G N U G P L发布,L i n u x内核 2.6版本后集成在内核中D A C:D i s c r e t i o n a r y A c c e s s C o n t r o l自由访问控制 M A C:M a n d a t o r y A c c e s s C o n t r o l强制访问控制D A C环境下进程是无束缚的M A C环境下策略的规则决定控制的严格程度M A C环境下进程可以被限制的策略被用来定义被限制的进程能够使用那些资源(文件和端口)默认情况下,没有被明确允许的行为将被拒绝s e l i n u x的工作类型s e l i n u x一共有四种工作类型s t r i c t:每个进程都受到s e l i n u x的控制t a r g e t e d:用来保护常见的网络服务,仅有限进程受到s e l i n u x控制,系统当中默认设置类型m i n i m u m:这个模式在c e n t o s7上,是t a r g e t e d的修改版,只对选择的网络服务,仅对选中的进程生效m l s:提供m l s机制的安全性,国防级别的s e l i n u x安全上下文传统的l i n u x,一切皆文件,由用户、组、权限来进行访问控制,这当中有很多的缺陷在s e l i n u x中,一切皆对象(进程),有存放在i n o d e 的扩展属性域的安全元素所控制其访问所有文件和端口资源和进程都具备安全标签,这就是安全上下文安全上下文有五个元素组成s y s t e m_u:o b j e c t_r:a d m i n_h o m e_t:s0u s e r:r o l e:t y p e:s e n s i t i v i t y:c a t e g o r yu s e r:指示登录系统的用户类型,如r o o t,u s e r_u,s y s t e m_u,多数本地进程都属于自由进程r o l e:定义文件,进程和用户的用途,文件:o b j e c t_r,进程和用户:s y s t e m_rt y p e:指定数据类型,规则重定义何种进程类型访问何种文件,t a r g e t策略基于t y p e实现,多服务功用,p u b l i c_c o n t e n t_ts e n s i t i v i t y:限制访问的需要,由组织定义的分层安全级别,如u n c l a s s i f i e d,s e c r e t,t o p,一个对象有且只有一个s e n s i t i v i t y,分0-15个级别,s0最低,t a r g e t策略默认使用是s0c a t e g o r y:对于特定组织划分不分层的分类,如F B I s e c r e t,N S A s e c r e t,一个对象可以有多个c a t e g o r y,c0-c1023共1024个分类,t a r g e t策略不适用c a t e g o r y 查看安全上下文l s Z;p s-Z期望(默认)上下文:存放在二进制的s e l i n u x策略库中s e m a n a g e f c o n t e x t l查看系统中的默认安全上下文@f o n t-f a c e{f o n t-f a m i l y:宋体;}@f o n t-f a c e{f o n t-f a m i l y:C a m b r i a M a t h;}@f o n t-f a c e{f o n t-f a m i l y:C a l i b r i;}@f o n t-f a c e{f o n t-f a m i l y:@宋体;}p.M s o N o r m a l,l i.M s o N o r m a l,d i v.M s o N o r m a l{m a r g i n:0c m0c m0.0001p t;t e x t-a l i g n:j u s t i f y;f o n t-s i z e:10.5p t;f o n t-f a m i l y:C a l i b r i,s a n s-s e r i f; }.M s o C h pD e f a u l t { f o n t-f a m i l y: C a l i b r i,s a n s-s e r i f;}d i v.W o r d S e c t i o n1{}s e l i n u x策略对象(o b j e c t):所有可以读取的对象,包括文件、目录和进程,端口等主体:进程称为主题(s u b j e c t)s e l i n u x中对所有的文件都赋予一个t y p e的文件类型标签,对于所有的进程也赋予各自的一个d o m a i n标签。
SeLinux启用及安全测试实验报告
SELinux启用及安全测试一、认识SELinuxSELinux 是2.6 版本的Linux 内核中提供的强制访问控制(MAC)系统。
对于目前可用的Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在20 年的MAC 研究基础上建立的。
SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
二、实验环境虚拟机平台:Vmware Workstation 8.0.3Linux系统:CentOs 6.4内核版本:2.6.32-358.el6.i686SELinux安全策略:selinux-policy-targeted-2.4.6-279.el5_5.1;Selinux-policy-2.4.6-279.el5_5.1 三、试验过程中用到的指令ls –Z 查看SELinux的上下文getenforce 得到当前SELinux的值setenforce 更改当前的SELinux设置sestatus 显示当前的SELinux的信息四、实验过程4.1 启用SELinux测试查看文件的上下文通过查看上下文发现,安全上下文主要由三个字段Identify:role:type对应的意思分别为身份识别:角色:类型身份标示(Identity):相当于账号方面的身份标示!主要有以下的三种常见的类型:root:标示root的账户身份system_u:标示系统程序方面的标示,通常就是进程user_u:代表的是一般用户账户的相关的身份角色(Role):通过角色字段,我们可以知道这个数据是属于程序、文件资源还是代表一般用户。
一般的角色有:Object_r:代表的是文件或目录等文件资源System_r:代表的是进程,不过一般的用户也会被指定成为system_r类型(type):在默认的策略targeted中,identity和role字段基本上是不重要的,重要的在这个类型字段!基本上,一个主体进程能不能读取到这个文件资源与类型字段有关。
Centos8安装nginx-nginx反向代理及13Permission denied报错,以及selinux设置
•
proxy_connect_timeout 30000s;#nginx跟后端服务器连接超时时间(代理连接超时)
•
proxy_send_timeout 300000s;#后端服务器数据回传时间(代理发送超时)
•
proxy_read_timeout 300000s;#连接成功后,后端服务器响应时间(代理接收超时)
• semodule -i mynginx.pp
感谢您的观看 THANKS
常用目录
• Nginx配置文件:/etc/nginx/nginx.conf
• Error文件:/var/log/nginx/error.log
CONTENTS
02Part Two Nginx设置
编辑Nginx.conf设置反向代理内容
反向代理详细注释内容
反向代理详细注释内容1
• #nginx进程数,建议设置为等于CPU总核心数。
重新启动还报错
查看error
重新编辑nginx.conf
缺少两个}}
• 报错原因找了好久最后发现是selinux的原因
CONTENTS
04Part Four selinux设置
• 使用这个命令就可以查看相关的信息了
• cat /var/log/audit/audit.log | grep nginx | grep denied
CONTENTS
01Part One 安装Nginx
• Nginx发音为“ engine x”,是一种开源的高 性能HTTP和反向代理服务器,负责处理 Internet上一些最大站点的负载。它可用作 HTTP和非HTTP服务器的独立Web服务器, 负载平衡器,内容缓存和反向代理。
• 与Apache相比,Nginx可以处理大量并发连 接,并且每个连接的内存占用量较小。
cent os Linux基础实验
成绩:______ Linux系统及应用上机报告时间_____ 2013/04/20 _ _班级_______信息101 ________________姓名________胡洪茂 _______________学号________201027065_______________指导教师_ 刘景华青岛理工大学Linux的安装一.实验目的1.熟悉和掌握Linux操作系统的安装。
2.熟悉和掌握Linux操作系统配置过程。
二.实验内容1.提前安装好VM ware Workation 8.0.。
(已安装了此软件,并且电脑已经连接网络)2.安装和配置Cent OS 6.4 Minimal .(Cent OS 6.4 Minimal 是最小版的,无图形界面)。
三.实验步骤1.打开已经安装好的VM ware Workation 8.0.2.新建一个虚拟机,选择标准安装,并且下一步。
3.选择我以后再安装操作系统,并且下一步。
4.选择Linux,版本为CentOS ,并且下一步。
5.选择填写虚拟机名称和位置,并且下一步。
6.按如下图选择,并且下一步。
7.选择定制硬件。
8.选择新CD/DVD,并且选择使用ISO镜像文件(文件在E盘),然后关闭。
9.如图,点击“打开此虚拟机电源”。
10.选择第一行,按下ENTER键开始。
11.正在开始。
12.选择SKIP跳过。
13.正在等待。
14.选择NEXT.15.选择English.16.选择U.S. English.17.选择Basic Storage Devices..选择NEXT.18.选择YES,Disgard data.19.填写主机名,选择NEXT.20.时区选择上海,选择NEXT.21.输入根账户密码,选择NEXT.22.选择Creat custom layout,选择NEXT.23.选择NEXT.24.选择CREAT。
25.选择CREAT,接着如下图26.挂载根目录,并且选择文件系统类型为ext3,大小填入5000MB。
SELinux管理
sestatus——显示SELinux状态sestatus [-v] [-b]-v:详细检查进程和安全上下文-b:显示当前布尔值状态getenforce——显示当前SELinux的应用模式显示当前SELinux的应用模式[root@centos7 ~]# getenforceEnforcingsetenforce——修改SELinux的应用模式setenforce [Enforcing|Permissive|1|0]Enforcing:切换成强制模式Permissive:切换成允许模式1:切换成强制模式0:切换成允许模式切换成允许模式[root@centos7 ~]# setenforce permissive / [root@centos7 ~]# setenforce 0 切换成强制模式[root@centos7 ~]# setenforce enforcing / [root@centos7 ~]# setenforce 1getfattr——获取文件对象的扩展属性getfattr [-hRLP] -n name [-e en] pathname...getfattr [-hRLP] -d [-e en] [-m pattern] pathname...-n:得到命名扩展属性值-d:获得所有扩展属性名-e:编码值(为文本、十六进制或base64编码)-h:不引用符号链接-R:递归到子目录-m:仅包括名称匹配正则表达式模式的属性chcon——修改文件SELinux安全上下文chcon [OPTION]... CONTEXT FILE...chcon [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...chcon [OPTION]... --reference=RFILE FILE...-R:递归处理-v:显示诊断信息-u:设置指定用户的目标安全环境-r:设置指定角色的目标安全环境-t:设置指定类型的目标安全环境、-l:设置指定范围的目标安全环境-h:影响符号链接,而不是任何引用文件-L:遍历每一个遇到的通到目录的符号链接-H:若命令行参数是一个通到目录的符号链接,则遍历符号链接-P:不遍历任何符号链接(默认)注:不能再/proc文件系统上使用chcon命令,因为/proc文件系统不支持这种标记的改变修改/root/yangyang文件的SELinux安全上下文[root@centos7 ~]# chcon -t etc_t /root/yangyangmatchpathcon——查看文件默认安全上下文matchpathcon [-V] [-N] [-n] [-m type] [-f file_contexts_file] [-p prefix] [-P policy_root_path] filepath...-p:使用前缀的速度解答-N:不使用解答-n:不显示路径-V:在磁盘匹配默认上验证文件上下文-f<file_context_file文件>:使用备用file_context文件查看/root/yang文件默认的安全上下文[root@centos7 ~]# matchpathcon /root/yangfixfiles——修复安全上下文fixfiles [-v] [-F] [-B] [ -N time ] [-l logfile ] { check | restore|[-f] relabel | verify } [[dir/file] ... ]fixfiles [-v] [-F] [ -R rpmpackagename[,rpmpackagename...] ] [-l logfile ] { check | restore | verify } fixfiles [-v] [-F] -C PREVIOUS_FILECONTEXT [-l logfile ] { check | restore | verify }fixfiles [-F] [-B] onboot-l:将输出保存到指定的日志文件-F:强制重置上下文为匹配file_comtext的自定义文件-f:清除/tmp目录-R:使用rpm数据库,以发现指定数据包中的所有文件和恢复文件的上下文restorecon——修复文件默认的SELinux安全上下文restorecon [-R] [-n] [-p] [-v] [-e directory] pathname...restorecon -f infilename [-e directory] [-R] [-n] [-p] [-v] [-F]-i:忽略不存在的文件-f:包含由应用程序处理的文件列表-e:指定要排除的目录-R:递归处理-n:不改变任何文件标签-o:保存不正确的上下文的文件列表到输出文件中-v:显示文件标签-F:强制恢复文件安全上下文-p:每1000个文件显示进度seinfo——显示SELinux策略的组建有关的信息seinfo [选项] [表达式] [策略]sesearch——在SELinux策略中搜索规则sesearch [选项] [规则类型] [表达式] [策略]getsebool——查看SElinux布尔值getsebool [-a] [boolean]setsebool——修改SELinux布尔值setsebool [ -PNV ] boolean value | bool1=val1 bool2=val2 ...-P:所有设置的值被写入到磁盘上的策略文件,在重启系统后布尔值永久改变启动httpd_can_network_connect布尔值[root@centos7 ~]# setsebool httpd_can_network_connect on启动httpd_can_network_connect布尔值[root@centos7 ~]# setsebool httpd_can_network_connect true启动httpd_can_network_connect布尔值[root@centos7 ~]# setsebool httpd_can_network_connect=1禁用httpd_can_network_connect布尔值[root@centos7 ~]# setsebool httpd_can_network_connect off永久修改httpd_can_network_connect布尔值为on[root@centos7 ~]# setsebool -P httpd_can_network_connect onsemodule——管理SELinux策略模块semodule [options]... MODE [MODES]...-l:显示安装的模块-R:重装策略模块-B:建立和重装策略模块-i:安装一个新的模块-u:升级处理模块-e:激活策略模块-d:禁用策略模块-b:安装新的基础模块-r:删除策略模块。
SELinux安全系统基础
一、SELinux简介SELinux(Secure Enhanced Linux)安全增强的Linux是由美国国家安全局NSA针对计算机基础结构安全开发的一个全新的Linux安全策略机制。
SELinux可以允许系统管理员更加灵活的来定义安全策略。
SELinux是一个内核级别的安全机制,从Linux2.6内核之后就将SELinux集成在了内核当中,因为SELinux是内核级别的,所以我们对于其配置文件的修改都是需要重新启动操作系统才能生效的。
现在主流发现的Linux版本里面都集成了SELinux机制,CentOS/RHEL都会默认开启SELinux机制。
二、SELinux基本概念我们知道,操作系统的安全机制其实就是对两样东西做出限制:进程和系统资源(文件、网络套接字、系统调用等)。
在之前学过的知识当中,Linux操作系统是通过用户和组的概念来对我们的系统资源进行限制,我们知道每个进程都需要一个用户才能执行。
在SELinux当中针对这两样东西定义了两个基本概念:域(domin)和上下文(context)。
域就是用来对进行进行限制,而上下文就是对系统资源进行限制。
我们可以通过ps -Z这命令来查看当前进程的域的信息,也就是进程的SELinux信息:[root@xiaoluo ~]# ps -ZLABEL PID TTY TIME CMD unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 2503 pts/000:00:00 suunconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 2511 pts/000:00:00 bashunconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 3503 pts/000:00:00 ps通过ls -Z命令我们可以查看文件上下文信息,也就是文件的SELinux信息:[root@xiaoluo ~]# ls -Z-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 Desktop-rw-r--r--+ root root system_u:object_r:admin_home_t:s0 install.log-rw-r--r--. root root system_u:object_r:admin_home_t:s0install.log.syslog在稍后我们来探讨一下这些字段所代表的含义。
[RH134]6-selinux
[RH134]6-selinux1.什么是selinuxSelinux:Security-Enhanced Linux,安全增强型Linux。
Selinux的功能有点类似于windows下360软件在我们执⾏某个⽐较敏感或风险较⾼的操作时,对我们进⾏安全提⽰(是都允许操作)。
Selinux实现类似的安全控制功能。
例如,我们使⽤CMD创建⼀个⽹络⽤户的时候,360会进⾏安全提⽰:2.selinux开启与关闭主动访问控制(DAC):在没有selinux的情况下,我们是否可以访问某个⽂件,是依赖于这个⽂件的权限的,例如777表⽰所有⽤户都可以对这个⽂件进⾏读写和执⾏。
Selinux:在有selinux的情况下,selinux会为所有的⽂件和进程都分配⼀个标签,这个标签我们称之为标识或上下⽂。
只有相互对应的进程和⽂件之间才能访问,对应关系不正确则⽆法访问。
1)开启selinuxsetenforce 12)关闭selinuxsetenforce 03.selinux使⽤实验1)实验准备:⾸先,开启selinux: setenforce 1我们安装⼀个httpd服务器,然后启动:yum install httpd -ysystemctl start httpd在/var/www/html下创建⼀个⽂件index.html写上任意内容。
2)查看httpd进程的selinux标签[root@centos7 html]# ps axZ | grep httpdsystem_u:system_r:httpd_t:s0 1829 ? Ss 0:00 /usr/sbin/httpd -DFOREGROUNDsystem_u:system_r:httpd_t:s0 1830 ? S 0:00 /usr/sbin/httpd -DFOREGROUNDsystem_u:system_r:httpd_t:s0 1831 ? S 0:00 /usr/sbin/httpd -DFOREGROUNDsystem_u:system_r:httpd_t:s0 1832 ? S 0:00 /usr/sbin/httpd -DFOREGROUNDsystem_u:system_r:httpd_t:s0 1833 ? S 0:00 /usr/sbin/httpd -DFOREGROUNDsystem_u:system_r:httpd_t:s0 1834 ? S 0:00 /usr/sbin/httpd -DFOREGROUNDsystem_u:system_r:httpd_t:s0 4532 ? S 0:00 /usr/sbin/httpd -DFOREGROUND3)我们再查看/var/www/html/index.html的selinux标签[root@centos7 html]# ls -ldZ /var/www/htmldrwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html[root@centos7 html]# ls -ldZ /var/www/html/index.html-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/index.html我们可以看到,/var/www/html⽬录和/var/www/html/index.html⽂件的标签是 httpd_sys_content_t ,⽽httpd进程的标签是 httpd_t 。
【IT专家】在CentOS 6.X上折腾SELinux
本文由我司收集整编,推荐下载,如有疑问,请与我司联系在CentOS 6.X 上折腾SELinuxSELinux 就是Security-Enhanced Linux 的简称,安全加强的linux。
传统的linux权限是对文件和目录的owner, group 和other 的rwx 进行控制,而SELinux 采用的是委任式访问控制,也就是控制一个进程对具体文件系统上面的文件和目录的访问,SELinux 规定了很多的规则,来决定哪个进程可以访问哪些文件和目录。
SELinux 是根据进程或文件的security context 来决定进程是否有权限访问文件系统的,security context 由Identify:role:type 三部分组成,当selinux 的类型为SELINUXTYPE=targeted 的时候,只有security context 的type 是有用的。
selinux 的配置文件在这里:/etc/selinux/config,内容如下:# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - SELinux is fully disabled.SELINUX=enforcing# SELINUXTYPE= type of policy in use. Possible values are:# targeted - Only targeted network daemons are protected.# strict - Full SELinuxprotection.SELINUXTYPE=targeted 需要安装必要的SELinux 的相关工具:yum install policycoreutils-python setools-console setroubleshoot setroubleshoot-server查看当前SELinux 的状态:[root@centos ~]# getenforceEnforcing 状态为Enforcing 就代表打开了SELinux,为disabled 或permissive 则需要使用下面的命令开启(permissive 代表如果不符合SELinux 的权限控制,则会出现warning 提示信息,不会真的block 进程的访问):设置SELinux 为Enforcing:[root@centos ~]# setenforce 1 之后,重启电脑,并等待SELinux 相关文件建立完成。
CentOS7.X关闭SELinux
CentOS7.X关闭SELinux1、查看[root@dev-server ~]# getenforceDisabled[root@dev-server ~]# /usr/sbin/sestatus -vSELinux status: disabled2、临时关闭##设置SELinux 成为permissive模式##setenforce 1 设置SELinux 成为enforcing模式setenforce 03、永久关闭vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled设置后需要重启才能⽣效centos 7.0 查看selinux状态|关闭|开启Linux在安装好之后通常SELinux都是出于默认开启的状态,开启的情况下会导致⼀些服务的安装不成功。
在不需要的情况下完全可以关闭掉,下⾯是在centos 7.0⾥⾯如何查看,关闭selinux。
查看selinux状态[root@localhost ~]# sestatusSELinux status: enabledSELinuxfs mount: /sys/fs/selinuxSELinux root directory: /etc/selinuxLoaded policy name: targetedCurrent mode: enforcingMode from config file: enforcingPolicy MLS status: enabledPolicy deny_unknown status: allowedMax kernel policy version: 28临时关闭[root@localhost ~]# setenforce 0永久关闭可以修改配置⽂件/etc/selinux/config,将其中SELINUX设置为disabled。
[root@localhost ~]# cat /etc/selinux/config# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.#SELINUX=enforcingSELINUX=disabled# SELINUXTYPE= can take one of three two values:# targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are protected.# mls - Multi Level Security protection.SELINUXTYPE=targeted[root@rdo ~]# sestatusSELinux status: disabled。
CentOS安装SELinux配置GUI工具
本文版权归作者和博客园共有欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接否则保留追究法律责任的权利
CentOS安装 SELinux配置 GUI工具
安装SELinux配置GUI工具:
yum install policycoreutils-gui
命令行查看状态:
[root@localhost ~]# sestatus
enforcing
Policy MLSy deny_unknown status: allowed
Max kernel policy version: 31
setenforce 这个指令可以即时切换 Enforcing 及 Permissive 这两个模式,但请注意这些改动在系统重新开机时不会被保留。
SELinux status:
enabled
SELinuxfs mount:
/sys/fs/selinux
SELinux root directory:
/etc/selinux
Loaded policy name:
targeted
Current mode:
enforcing
Mode from config file:
要令改动系统启动生效,请在 /etc/selinux/config 内修改 SELINUX= 这一行为 enforcing、permissive 或 disabled。例如: SELINUX=permissive。
注: 当你由 Diabled 切换至 Permissive 或 Enforcing 模式时,我们强烈建议你重新启动系统并重新标签档案系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SELinux实验
一、环境搭建
因为实验室的Ubuntu系统本身不带SELinux,加上没有源和网速问题,安装不上。
因此建议在虚拟机中用CentOS做。
CentOS下载地址:
中国科学技术大学开源镜像站:/centos/6/isos/x86_64/
网易开源镜像站:/centos/6/isos/x86_64/
大家选择CentOS-6.5-x86_64-LiveCD.iso下载就好,650MB左右。
机房的电脑默认没开Intel-VT技术,开机按F12,选择System Setup,然后在Virtualization 选项下开起虚拟化支持。
最后用VMware player或者VirtualBox新建虚拟机即可。
二、实验内容
CentOS已经安装好了SELinux,而且默认开启,用sestatus命令查看SELinux状态,
然后用yum install httpd服务,
在/var/www/html/目录下建立a.html文件,内容随意写点什么。
然后重启httpd服务,
在浏览器中访问127.0.0.1/a.html,结果如下:
然后在root目录下建立b.html,内容随意,建立好后把b.html文件移动到/var/www/html/目录下,重启httpd服务。
在浏览器中访问b.html,会提示没有权限,如下图所示:
在终端中用ls–Z命令查看/var/www/html/目录下的文件安全上下文:
可以看见区别,因为b.html文件是root用户创建的,因此没有权限访问。
用chcon -t <type><file name>命令更改文件的上下文环境:
再次在浏览器中访问b.html,可见可以访问了:
大家可以同理完成“修改/var/www/整个目录的上下文环境,使其为httpd不允许访问的类型”,然后在浏览器中测试。