Centos 7/8 SELinux

SELinux介绍

  1.端口防护

  2.文件防护

  3.服务防护

  4.相关命令 sestatus getenforce setenforce semanage sesearch setsebool getsebool

  4.selinux性能影响

  

selinux启用或关闭

  临时开启或关闭 -  立即生效

    [root@localhost ~]# setenforce
    usage: setenforce [ Enforcing | Permissive | 1 | 0 ]

  永久开启或关闭 - 重启生效

    修改SELinux配置文件 /etc/selinux/config

 

selinux状态查看

  [root@centos ~]# sestatus -v
  SELinux status: enabled
  SELinuxfs mount: /sys/fs/selinux
  SELinux root directory: /etc/selinux
  Loaded policy name: targeted
  Current mode: enforcing
  Mode from config file: enforcing
  Policy MLS status: enabled
  Policy deny_unknown status: allowed
  Memory protection checking: actual (secure)
  Max kernel policy version: 31

 

selinux端口控制

   如果没有semanage命令,则需要手动安装

  # yum provides semanage 
  # yum -y install policycoreutils-python.x86_64

  查看默认开放端口

  # semanage port -l | grep http_port_t
  http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000

  示例:新增非标准HTTP端口

  # semanage port -a -t http_port_t -p tcp 8090

 

selinux服务控制

  setsebool命令是用来修改SElinux策略内各项规则的布尔值。setsebool命令和getsebool命令是SELinux修改和查询布尔值的一套工具组。

 

selinux文件安全上下文

  安全上下文是一组和进程或对象有关的安全属性,每一个进程或对象都会记录一条安全上下文,

将其作为SELinux判断进程(或服务)是否能够读取对象的依据。

  USER字段

    USER字段用来记录登录系统后所属的SELinux身份。

    • user_u        真实用户类型的使用者
    • system_u        系统账户类型的使用者
    • root            超级用户的使用者
    • unconfiged_u   未设置类型

  ROLE字段

    ROLE字段用来存储进程、领域或对象所扮演的角色信息。

    • staff_r       内部的用户角色
    • user_r       其他或不分类的用户角色
    • object_r    文件、设备或其他无法分类的角色
    • secadm_r  允许做安全管理的用户角色

  TYPE字段

    TYPE字段用来定义该对象的类别

    • default_t      默认类别
    • httpd_t        作为HTTP服务器文件的类别
    • java_exec_t  JAVA相关的执行文件

  LEVEL和CATEGORY字段

    用来定义其隶属的安全等级和分类。LEVEL字段定义为s0~S15,共16个,s0机密等级最低,s15机密等级最高。

    CATEGORY字段定义为c0~c1023,共1024个。

 

  查看安全上下文

    id -Z  查看当前用户安全上下文

    pa -aux -Z  查看当前进程安全上下文

    ls -Z /var/www/  查看指定文件安全上下文

 

  修改安全上下文

    chcon -t default_t /var/www/index.html 设置文件或目录安全上下文

      -R, --recursive:递归处理所有的文件及子目录。

      -v, --verbose:为处理的所有文件显示诊断信息。

      -u, --user=用户:设置指定用户的目标安全环境。

      -r, --role=角色:设置指定角色的目标安全环境。

      -t, --type=类型:设置指定类型的目标安全环境。

      -l, --range=范围:设置指定范围的目标安全环境。

    

    semanage fcontext -a -t default_t /var/www/index.html 设置文件或目录安全上下文,可以使用正则进行文件匹配,建议使用 fcontext

        

    restorecon -Rv /var/www  恢复默认目录下所有文件安全上下文

 

    

 

posted @ 2020-03-14 09:48  Vincen_shen  阅读(748)  评论(0编辑  收藏  举报