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 12:29
下一篇 2017-05-21 12:33

相关推荐

  • bonding

    boding制作        问题:一个网卡一个IP没有容错性     bonding是LINUX中将多网卡绑定虚拟成一块网卡,实现多网卡共同拥有一个IP,这项技术早在Sun和Cisco中被称为Trunking和Etherchannel技术。   …

    2017-03-22
  • 安装配置NFS服务和挂载(Centos7)

    NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 RPC(NFS服务需要依赖RPC服务,这个比较重要) 要想了解NFS,必然要提到R…

    Linux干货 2017-04-21
  • 随笔

    GREP正则表达式: 复习: glob文件通配符:     *:任意长度字符:     ?:任意单个字符:     []:括号内的任意单个字符:     [^]:括号内字符除外:  &nbs…

    Linux干货 2016-07-16
  • N21-第二周博客

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理命令有复制、删除与移动:cp,mv,rm cp(复制档案或目录) [root@study ~]# cp [-adfilprsu] 源(source) 目标(destination) [root@study ~]# cp [options] source1 source2 s…

    Linux干货 2016-07-16
  • 推倒一个二十来岁青壮年第一步

    首先:找到他家在哪里,了解他的生长环境 然后:调查他的信息,慢慢了解他,学会和他交流,学会控制他

    Linux干货 2016-09-21
  • Docker 之初次体验

    一、Docker 简介  lxc linux container,openvz  容器中各虚拟机只有一个内核,而是多个用户空间  在库中完成虚拟化,比如wine 或者在windows中运行bash  在应用程序的运行级别提供虚拟化,比如jvm   pstree , pid 为1 的进程  …

    Linux干货 2017-02-24