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

相关推荐

  • ansible

    ansible 安装ansible 查看当前的系统版本 yum install redhat-lsb-core -y [root@localhost httpd]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: C…

    Linux干货 2017-07-09
  • 第八周练习脚本部分

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;在线的主机使用绿色显示;不在线的主使用红色显示; #!/bin/bash # for((i=1;i<=254;i++));do     site="172.16.250.${i}&quot…

    Linux干货 2016-12-15
  • HAProxy初探及简单案例_Net21_第二周

    前言 随着互联网业务的迅猛发展,大型电商平台和门户网站对系统的可用性和可靠性的要求越来越高,高可用集群、负载均衡集群成为一种热门的系统架构解决方案。在众多的负载均衡解决方案中,有基于硬件的负载均衡设备,例如F5、Big-IP等,也有基于软件的负载均衡产品,如LVS、Nginx以及本文介绍的HAProxy等。在软件的负载均衡产品中,又分为两种实现方式,分别是基…

    Linux干货 2016-07-22
  • 马哥linux0801课程内容

    0801课堂笔记 硬链接和软链接最根本的区别 硬链接是同一个文件,而软链接是两个文件 软链接查询到文件的软链接个数.比较麻烦. 而硬链接的个数可以通过链接数就可以看到. 硬链接不能跨分区,而软链接可以跨分区 (因为每个分区都有自己的inode表) ln 创建硬链接 ln–s 创建软链接(软链接如果使用相对路径,对象是相对软链接的路径,而硬…

    Linux干货 2016-08-04
  • 内核编译安装 (用NTFS模块)

    内核编译安装 (用NTFS模块) 1 rz 下载的 的内核最新文件 在这 https://www.kernel.org/ 2 tar xvf linux-4.12.10.tar.xz 解压文件 内核文件一般都放在 /usr/src/ 3 cd linux-4.12.10/ 4 [root@god linux-4.12.10]#cp /boot/config-…

    2017-09-04