SELinux

一:SELinux概念

1: 简介

SELinux: Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中
特性:
MAC环境下策略的规则决定控制的严格程度
MAC环境下进程能够被限制的
策略被用来定义被限制的进程可以使用那些资源(文件和端口)
默认状况下,没有被明确容许的行为将被拒绝linux

2:类型

查看: cat /etc/selinux/config
SELINUXTYPE=targeted minimum mls
目标进程被保护:保护本质上是让进程不能够随心所欲,在必定的范围下活动.
不在范围内的进程则不予管理安全

clipboard.png

3:targeted

SELinux:一切皆对象
安全上下文五个元素:
User:指示登陆系统的用户类型,如root,user_u,system_u,多数本地进程都属于自由(unconfined)进程
Role:定义文件,进程和用户的用途:文件:object_r,进程和用户:system_r
Type:指定数据类型,规则中定义何种进程类型访问何种文件
Sensitivity:限制访问的须要,由组织定义的分层安全级别,如unclassified,secret,top,secret, 一个对象有且只有一个sensitivity,分0-15级,s0最低,Target策略默认使用s0
Category:对于特定组织划分不分层的分类,如FBI Secret,NSA secret, 一个对象能够有多个categroy,c0-c1023共1024个分类,Target 策略不使用category
如:
system_u:object_r:admin_home_t:s0 tcp

clipboard.png

type:admin_home_t
根据文件类型能够下策略规定。
多服务公用:public_content_tspa

ll -Z 查看真实的类型
semanage fcontext -l 查看指望的安全上下文
clipboard.png3d

二:SELinux策略

1:启动/禁用

SELinux的状态:

enforcing:强制,每个受限的进程都必然受限
permissive:容许,每个受限的进程违规操做不会被禁止,但会被记录于审计日志
disabled:禁用SELinuxrest

相关命令:

getenforce:获取selinux当前状态查看:
sestatus 此命令查看的更清楚
setenforce 0|1日志

0: 设置为permissive
 1: 设置为enforcing

此条命令是不能够设置为diabledcode

semanage fcontext -l 查看指望的安全上下文:对象

clipboard.png

配置文件:

/etc/selinux/config
SELinux策略转换及生效blog

    • 1:enforcing->permissive

      使用命令 setenforce 0
      permissive---> enforcing 
      使用命令 setenforce 1
    • 2: permissive或enforcing转换为disabled
      须要在配置文件/etc/selinux/config中把 SELINUX=enforing 改成 SELINUX=disabled

      并须要重启电脑,方可生效
    • 3 disabled 转换为 permissive或enforcing
      须要在配置文件/etc/selinux/config中把 SELINUX=disabled 改成 SELINUX=enforcing

      并须要重启电脑,方可生效

    clipboard.png

    clipboard.png

    2:管理文件标签

    此节为rhce考题,须要好好掌握

    • 改变文件标签:
      chcon –t 文件标签 file

    • 改变目录标签
      chcon –Rt 文件标签 file

    • 恢复文件标签至正常状态:

      1)restorecon   file
      2)参考正常值:semanage fcontext –l 
          修改标签:chcon –t 文件标签 file
    • 恢复目录的标签:

      restorecon –R DIRECTORY
    • 添加安全上下文:
      至关于在安全上下文的库里面增长记录,restorecon恢复文件的标签,就是从参考库的标签,而后作相应的修改

    semanage fcontext –a –t httpd_sys_content_t ‘/testdir(/.*)?’

    三:管理端口标签

    • 查看端口标签
      semanage port –l 查看系统默认的端口与对应的应用

    • 增长端口:
      semanageport -a -t port_label-p tcp|udpPOR

    clipboard.png

    • 删除端口标签:
      semanageport -d -t port_label-p tcp|udpPORT
      semanage port -d -t http_port_t -p tcp 9527

    clipboard.png

    • 修改端口标签:

      此端口要被定义过,没有被定义的标签不能被更改

      clipboard.png

    四:管理SELinux布尔值开关

    查看:

    semanage boolean –l

    clipboard.png

    更改

    更改bool值(临时生效):
    setbool httpd_enable_homedirs on 临时生效
    永久更改存放
    1为on
    0为off
    setbool –P httpd_enable_homedir=1

    clipboard.png

    clipboard.png

    相关文章
    相关标签/搜索
    本站公众号
       欢迎关注本站公众号,获取更多信息