`

通过两个案例初步了解Linux下selinux的安全机制工作机制

 
阅读更多

通过两个案例初步了解Linux下selinux的安全机制工作机制

SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制 (MAC)系统。对于目前可用的 Linux 安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。

selinux默认配置在/etc/sysconfig/selinux里

默认有三种级别

enforcing级别:Linux下selinux所设置的安全策略都会被启用.所有与selinux安全策略有关的服务或者程序都会被策略阻止.

permissive级别:Linux下selinux所设置的安全策略都会被启动,但是所有与selinux安全策略有关的服务或者程序不会被策略组织,但是会收到警告.

disabled级别:关闭selinux,相当于系统没有安装selinux一样.

clip_image002

一般可以通过getenforce查看selinux的运行级别.也可以通过setenforce 0 或者1 设置selinux的运行级别,级别0表示Permissive模式,级别1表示Enforcing模式. 至于disabled模式和其他模式的切换只能修改配置文件,命令不起作用.其次,修改完成之后,必须重启系统才能够生效.

clip_image004

如果想通过一些命令管理selinux,必须安装setroubleshoot包.光盘里有,直接安装即可.由于存在很多依赖关系,建议创建yum源指向光盘,然后通过yum安装.

clip_image006

clip_image008

接下来我们通过两个案例初步链接selinux的安全机制

案例一:vsftpd在selinux的Enforcing模式下 普通用户访问不了的处理办法.

安装vsftpd包,为客户端提供ftp服务,默认rhel6桌面安装会自动安装vsftpd服务,如果没有安装通过rpm命令或者构建yum源安装,安装完成之后,启用vsftpd服务.

clip_image010

默认情况下,linux里面普通用户的ftp访问目录为用户的宿主目录,为了方面测试,创建几个文件,并且起初设置selinux模式为permissive模式。

clip_image012

在客户机windows上通过ftp://192.168.100.101/访问,然后输入普通用户的用户名及密码,即可访问到这个用户的宿主目录.

clip_image014

现在我们设置selinux模式为Enforcing模式

clip_image016

再次通过普通用户访问,发现访问失败.这是为什么呢,这是受到了selinux的布尔值的影响.

clip_image018

可以看得出是selinux在作怪,我们可以通过man ftpd_selinux 查看ftpd的selinux访问策略.

clip_image020

通过man注释可以看到命令 “setsebool –P ftp_home_dir 1”可以开放这个策略

clip_image022

我们也可以通过getsebool –a命令查看所有selinux管理的所有服务访问策略情况(布尔值),ftp_home_dir默认为off关闭状态,也就是不允许通过的意思.

clip_image024

通过setsebool –P ftp_home_dir 1开启ftp_home_dir布尔值.

clip_image026

再次访问就可以实现了

clip_image028

案例二:在Linux selinux开启enforcing的模式下,开启web服务,将其他地方的网站主配置信息index.html copy到网站的根目录访问不了的处理办法.

安装httpd软件包,默认rhel6.3桌面版本已经安装了apache的软件包httpd

clip_image030

默认情况下,在/var/www/html/目录下没有网站的数据,访问会显示以下信息.

clip_image032

我们在这个目录下写一个主页index.html

clip_image034

开启selinux到enforcing模式,可以通过web浏览器访问.

clip_image036

clip_image038

我们从其它目录比如/root目录下写一个index.html文件copy到httpd的根目录下

clip_image040

设置selinux级别为permissive模式,可以访问.

clip_image042

设置selinux模式为Enforcing模式,却不能访问了,这是为什么呢?这是受到了了selinux的context值的影响.

clip_image044

clip_image046

我们可以通过ls –Z 可以查看文件的context值如下.默认情况下在任何一个目录创建文档会继承上级目录的context值, 可以看出来index.html的context值继承的是/root目录的context值,而在/var/www/html/目录下创建文件默认的context值为httpd_sys_content

clip_image048

我们可以通过 chcon –t命令修改index.html的context值

clip_image050

修改完成之后,即可实现访问.

clip_image052

总计:通过以上两个简单案例可以看到selinux的enforcing模式是通过布尔值或者context值来决定selinux的安全策略机制的.而我们可以通过setsebool –P 命令设置布尔值,通过chcon –t 设置context值(必须安装setroubleshoot包才能用以上两个命令)

分享到:
评论

相关推荐

    selinux中文手册和详细解说

    通过阅读**SELinux详解** 和 **SELinux中文** 这两份文档,初学者可以全面了解SELinux的工作原理,并掌握实际操作中的技巧和最佳实践。这些资料对于系统管理员、安全专家或者任何希望提升Linux系统安全性的人员来说...

    SElinux详解.pdf

    SELinux的出现标志着Linux安全性的重大飞跃,其基于类型增强(Type Enforcement, TE)的MAC机制确保了数据的安全隔离和访问控制。 - **概念**:SELinux引入了一系列新概念来增强系统的安全性。例如,每个进程和文件...

    SELinux usage guide

    SELinux 是一个强制访问控制系统,它为 Linux 提供了强大的安全机制,通过定义策略来控制进程对资源的访问。 #### SELinux 的优势与案例 - **优势**:运行 SELinux 可以显著提高系统的安全性。它通过严格的权限管理...

    查看SELinux状态及关闭SELinux.pdf

    SELinux,全称为Security-Enhanced Linux,是Linux操作系统中的一种强制访问控制(MAC)机制。它通过精细的策略规则来增强系统的安全性,限制进程可以访问的资源,从而防止恶意软件或安全漏洞对系统造成破坏。本文将...

    selinux攻击shellcode

    **SELinux(Security-Enhanced Linux)是一种强制访问控制(MAC)系统,它增强了Linux内核的安全性。在本文中,我们将深入探讨SELinux与shellcode之间的关系,特别是在CVE-2009-2692这个特定安全漏洞中的应用。** *...

    设置selinux出现进入系统异常解决

    SELinux (Security-Enhanced Linux) 是Linux内核的一个安全模块,通过强制访问控制(MAC)机制提供高级别的安全性。SELinux能够对系统中的文件、进程和服务等资源实施细粒度的安全策略控制,确保即使某些组件被恶意...

    RedHat SELinux系统简介及案例分析

    在解决问题时,我们需要了解 SELinux 的工作机制和安全策略,了解 SELinux 的配置文件和命令,并且了解 Apache 的配置文件和工作机制。通过对 SELinux 和 Apache 的配置文件和命令的了解,我们可以解决这个问题,...

    《深入理解LINUX内核 第3版》PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于Linux内核的高级技术书籍,并且提供了两种下载方式:一种是通过云盘下载,另一种是通过一个网站的本地链接进行下载。然而,由于没有提供具体的内容章节或者摘要信息...

    边学边干linux内核指导

    这本书面向对Linux系统有基础了解并希望进一步深入理解内核机制的读者,旨在通过实践与理论相结合的方式,帮助读者掌握Linux内核的核心知识。 Linux内核是开源操作系统的核心,它负责管理系统的硬件资源、调度进程...

    SEAndroid(the Security Enhangcement for Android

    SELinux是一个Linux安全模块,它通过增强和强制访问控制策略,为系统提供额外的安全层。SELinux最初由美国国家安全局(National Security Agency, NSA)开发,并逐步集成进Linux内核中。SELinux的核心优势在于,它...

    Linux网络操作系统项目教程(RHEL7.4CentOS7.4)(第3版)-电子教案.zip

    本教程以Red Hat Enterprise Linux 7.4(RHEL7.4)和CentOS 7.4这两个广泛使用的Linux发行版为平台,详细介绍了Linux系统的安装、配置、管理和网络服务的实现。 1. **Linux基础知识**:首先,教程会介绍Linux的历史...

    深入理解Linux内核(第三版)中文版+英文

    9. **安全性与权限**:Linux的用户和组权限模型,SELinux等安全增强机制,以及内核模块的签名和加载。 10. **性能分析与优化**:如何利用工具如strace、perf进行系统性能分析,以及针对特定场景的优化策略。 通过...

    面向运维的Linux系统管理教学改革研究.pdf

    在授课要点上,教师应逐步展开,初期可以避开复杂的防火墙和SELINUX设置,专注于一至两个服务器配置的讲解。特别强调错误分析,帮助学生在遇到问题时能快速定位原因,保持学习的积极性。例如,通过深入讲解ftp服务器...

    linux下的域控做法

    ### Linux下的域控做法——基于Samba的域控与文件服务器部署 #### 一、概述 随着企业网络规模的不断扩大,对于用户管理、资源访问控制等方面的需求也日益增强。传统的单机用户认证方式已无法满足现代企业的管理...

    [LINUX_UNIX设计思想].(甘卡兹).扫描版(jb51.net).pdf

    9. **安全与权限**:讨论访问控制、用户和组管理、防火墙、SELinux等安全机制。 10. **系统维护与性能优化**:涵盖监控、调试、性能分析和调整技巧,以及如何进行系统升级和故障排查。 通过阅读《LINUX_UNIX设计...

    RedHat Linux Bible.Fedora.and.Enterprise.Edition - Wiley 2003

    通过这本书,读者可以深入了解这两个系统的安装、配置、管理和优化方法。 #### 2. Fedora - **定义**:Fedora是一个由Fedora项目社区支持的免费开源操作系统,它基于Linux内核。 - **特点**: - 强调最新技术和...

    Android底层开发平台 2

    5. 安全优化:了解Linux安全机制,如SELinux(Security-Enhanced Linux),进行安全策略配置和漏洞修复,保证系统安全。 通过"Android底层开发平台.pdf",你可以找到更多关于Android底层开发的实践案例、技术细节和...

    ampak正基软件移植指导.rar

    5. **权限和安全**:Linux的权限模型基于用户和组,移植时要考虑文件和程序的权限设置,以及SELinux等安全增强机制。 这份“ampak正基软件移植指导”不仅提供了理论知识,还应包含实际案例分析,帮助开发者通过实践...

Global site tag (gtag.js) - Google Analytics