CentOS上的SELinux实验

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不允许访问的类型”,然后在浏览器中测试。

合集下载

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配置

selinux配置
role是RBAC的基础;
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简介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关闭防火墙和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实验

《计算机网络安全》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机制原理_概述及解释说明

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标签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档