SELinux

软件的安全性

  • 提高软件的安全性

    • 选择安全系数较高的系统
      提高现有系统的安全性
  • 计算机的安全等级
    D:最低的安全级别,提供最少的安全防护,系统访问无限制。DOS
    C:访问控制的权限,能够实现可控的安全防护,个人账户管理,审计和资源隔离 Unix Linux windowNT
    B:支持多级安全,通过硬件对安全数据进行保护
    A:最高级别,提供验证设计,要求数据从生产到传输都能够实现状态跟踪

访问控制:

  • 基本要素:

    主体:主动的实体,用户、服务、进程等
    客体: 被动的实体,包括数据、文件等
    规则:主体对客体访问的策略集合

  • 基本类型:

    • DAC访问控制:自主访问控制
      通过权限列表(访问控制列表)来限定特定主体对特定客体可以执行什么操作。

      • 特点:
        1、每个主体都拥有一个用户名或组来获取操作权限
        2、每个客体都拥有一个限定主体对其访问的访问控制列表
        3、访问时,基于访问控制列表检查主体用户标示以实现授权或拒绝。
    • MAC访问控制:强制访问控制(selinux)

      • 特点:
        1、主体被分配一个安全等级
        2、客体被分配一个安全等级
        3、访问时,对主体和客体的安全级别进行对比,最终获得授权或拒绝。

selinux

  • 格式:subject operation object
    subject: 进程
    object: 进程 文件
    operation:操作
    文件:open、close、read、write、chown、chmod

    • 生效条件:
      1、SELinux是否生效,取决于subject和object是否处于同一个操作空间
      2、操作类型必须满足条件
  • SELinux为每个文件提供了安全标签,也为进程提供了安全标签;

    • 查看标签:
      查看文件安全标签(安全上下文):ls -lZ
      查看进程安全标签:ps auxZ
    • user:role:type

      • user:SELinu的user
        role:角色
        type:文件称为类型,进程称为域
  • SELinux规则库:
    规则:哪种域能访问哪种或哪些种类型内文件;

  • SELinux的工作模式:
    strict(严格模式):每个进程都会受到Selinux的控制
    targeted(宽松模式):仅对部分进程启用selinux的控制

  • 配置SELinux:

    • SELinux是否启用;
      给文件重新打标签;
      设定某些布型特性;
    • selinux的状态:

      • enforcing:强制,每个受限的进程都必然受限;
        permissive:警告级别,不阻止访问,但会记录日志;日志文件:/var/log/audit/audit.log
        disabled:禁用

      • 临时启动:仅当前有效

        • getenforce 查看当前SELinux状态
        • setenforce 0|1

          • 0:设置SELinux为permissive
            1:设置SELinux为enforcing
      • 配置文件:/etc/sysconfig/selinux /etc/selinux/config
        永久有效,修改配置文件:SELinux={disabled | permissive | enforcing}

    • 修改安全标签:文件默认为所在目录的标签;

      • chcon 修改安全标签
        chcon [OPTION]… [-u USER] [-r ROLE] [-t TYPE] FILE…
        -u 用户
        -r 角色
        -t 类型(文件称为类型,进程称为域)
        -R 递归打标;

      • 还原文件的默认标签
        restorecon [-R] /path/to/somewhere

    • 修改布尔值
      添加/删除进程或服务本身开启的功能模块

      • 查看布尔值:getsebool [-a] [boolean]
        -a :查看所有布尔值

      • 修改布尔值:setsebool [-P] boolean [ on/off | 1/0 ]
        -P :将修改结果保存进本地磁盘

原创文章,作者:s,如若转载,请注明出处:http://www.178linux.com/76534

(0)
ss
上一篇 2017-05-21
下一篇 2017-05-21

相关推荐

  • N25-第17周博客作业

    1、结合图形描述LVS的工作原理;     LVS (Linux Virtual Server)是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结…

    Linux干货 2017-05-21
  • 文件目录介绍

    对于操作系统的目录感觉总是记不住,今天结合上课笔记和自己的理解总结一下:/——-执行操作时总是要跳转到不同的目录,根是一个树状结构,下面介绍都是根下的目录以及相关介绍├── bin 存放用户使用的基本命令(可执行程序,二进制文件)、分区的时候不会单独给它分区├── boot  跟内核有关的文件├── cgroup &nbsp…

    Linux干货 2017-04-10
  • N25第六周 vim,crontab命令的使用

    请详细总结vim编辑器的使用并完成以下练习题 vim是一款功能强大的文本编辑器,是程序员的必备神器。 vim工作模式分为三种:编辑模式,输入模式,末行模式,三种工作模式可以进行来自由切换     编辑模式—》输入模式: 直接键i      输入模式—》…

    Linux干货 2016-12-29
  • LAMP的编译安装

    一、编译安装amp: (1)系统环境:centos6,7 httpd依赖于apr和apr-util appache protable runtime (2)开发环境: Development Tools,Server Platform Development (3)各程序的版本: httpd:2.2,2.4 php:5.x mysql:5.1,5.5,5.6…

    Linux干货 2016-10-17
  • 从shell眼中看世界–展开和引用

    这篇博客的目的在于加深对于展开和引用的理解,阐释展开和引用之间联系。 ‘ ‘ :强引用,其中的变量引用不会被替换为变量值,而保持原字符串       ” “:弱引用,其中的变量引用会被替换为变量值    如果之前对于’ …

    Linux干货 2017-04-16
  • shell-变量

    bash中变量的种类 根据变量的生效范围等标准:     本地变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效     环境变量:生效范围为当前shell进程及其子进程    …

    Linux干货 2016-08-21