• [转]linux之初识SELinux


    转自:http://www.linuxidc.com/Linux/2014-07/104447.htm

    1.selinux的概述

    selinux相信大家一定不会陌生,它的全称是内核级加强型防火墙。在服务器的安全方面起到了非常重要的作用。SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。

    这样的说法太过官方,我们来举一个生动的栗子:我们通工院有很多个专业,这么多专业的学生又有一个自己的编号(学号),在学校的要求下,每个学生在上课的时候都应该在自己所在的教室,而不应该在别的专业的教室,这样就把学生的活动范围大大的减小了。

    SELinux安全上下文初探 http://www.linuxidc.com/Linux/2014-04/99508.htm

    一次由SELinux引起的SSH公钥认证失败问题 http://www.linuxidc.com/Linux/2013-07/87267.htm

    SELinux 入门教程 http://www.linuxidc.com/Linux/2013-04/82371.htm

    SELinux简单配置 http://www.linuxidc.com/Linux/2012-12/77032.htm

    CentOS系统如何快速关闭SELinux http://www.linuxidc.com/Linux/2012-11/74613.htm

    selinux对于文件也是进行着同样的做法,对每个文件都有一个标签,是的,我们可以去查看:


    这个是在mnt目录下,我们的文件标签是mnt_t 如果换一个目录,它里面的文件标签就是另外一个形式。如果向外界的用户开放服务的同时打开selinux,那么用户只能在开放服务的目录下进行操作,即使用户恶意的获取到了root用户权限,依然不能够跨目录进行操作,这样就显得很安全了。

    selinux的安全性(在apache服务器上的安全性)

    假设我们希望允许远程匿名访问 Web 服务器,我们必须通过防火墙打开端口。然而,这意味着恶意人
    员可以尝试利用安全漏洞以及,如果他们损坏 Web 服务器进程,获得 apache 用户和 apache 组的权
    限来强行进入系统。该用户 / 组具有 document root ( /var/www/html )等的读取权限以及 /tmp 、
    /var/tmp 和所有人均可写的任何其他文件 / 目录的写入权限。
    SELinux 是一组可确定哪个进程能访问哪些文件、目录、端口等的安全规则。每个文件、进程、目录和
    端口都具有专门的安全标签,称为 SELinux 上下文。上下文只是一个名称, SELinux 策略使用它来确定
    某个进程是否能访问文件、目录或端口。默认情况下,该策略不允许任何交互,因此明确的规则授予访
    问权限。如果没有允许规则,则不允许访问。

    2.selinux的配置文件

    selinux有三种模式:禁用模式、强制模式和许可模式

    (1)禁用模式:selinux处于关闭的状态,没有起到上述所说的功能,此时的服务器就不安全了;
    (2)强制模式: seLinux 主动拒绝访问尝试读取类型上下文为 tmp_t 的文件的 Web 服务器。在强制
    模式中, seLinux 不仅记录而且提供保护。
    (3)许可模式:通常用于对问题进行故障排除。在许可模式中,即使没有明确规则, SELinux 也允许所有交
    互,并且记录所有被拒绝的交互。此模式可以用于确定您是否有 SELinux 问题。无需重新引导即可从
    强制模式转为许可模式,或再从许可模式转回强制模式。

    这三种模式是可以互相切换的,如果是临时的修改可以采用setenforce:


    上图我们把selinux从强制模式修改到了许可模式。

    但是这样的修改只是暂时的,永久的修改我们需要修改selinux的配置文件:

    /etc/sysconfig/selinux



    注:一般来说第一次改为强制模式的化,在系统重启的时候会比较漫长,内核在给所有的文件添加安全上下文!!

  • 相关阅读:
    Quartz任务调度(3)存储与持久化操作配置详细解
    Quartz任务调度(2)CronTrigger定制个性化调度方案
    Quartz任务调度(1)概念例析快速
    Mybatis Generator最完整配置详解
    SpringMVC之@ControllerAdvice
    文件上传api——MultipartFile
    Springboot使用MatrixVariable 注解
    p命名空间和c命名空间
    SpringBoot配置Cors跨域请求
    SpringBoot五步配置Mybatis
  • 原文地址:https://www.cnblogs.com/Andy-Lv/p/5338188.html
Copyright © 2020-2023  润新知