Linux运维笔记----SElinux初级管理

SElinux初级管理

1.基本 SELINUX 安全性概念

  • SElinux全称Security Enhanced Linux(安全强化Linux),是MAC(Mandatory Access Control,强制访问控制系统)的一个实现,目的的在于明确的指明某个进程可以访问哪些资源(文件,网络端口等)。
  • 在某种程度上 , 它可以被看作是与标准权限系统并行的权限系统。在常规模式中 , 以用户身份运行进程 ,并且系统上的文件和其他资源都设置了权限标签 ( 控制哪些用户对哪些文件具有哪些访问权 SELINUX 的另一个不同之处在于 , 若要访问文件 , 你必须具有普通访问权限和 SELINUX 访问权限。因此 , 即使以超级用户身份 root 运行进程 , 根据进程以及文件或资源的 SELinux 安全性上下文可能拒绝访问文件或资源限 ) 。
  • 例如,系统上的Apache被发现存在一个漏洞,使得某远程用户可以访问系统上的敏感文件(比如/etc/passwd来获取西用已存在的用户),而修复该安全漏洞的Apache更新补丁尚未释出,此时SElinux可以起到弥补该漏洞的或和方案,因为/etc/passwd不具有Apache的访问标签,所以Apache对于/etc/passwd的访问会被SElinux阻止。

2.SElinux安全上下文访问规则

  • WEB 服务器的 HTTPD 进程设置了 SELINUX 上下文system_u:system_r:httpd_t 标签。该上下文的重要部分是第三个用冒号分隔的字段 SELINUX 类型 : httpd_t。
  • 系统上的文件和资源也设置了 SELINUX 上下文标签 , 并且重要的部分是 SELINUX 类型。例如 , /var/www/html 中的文件具有类型 httpd_sys_content_t 。/tmp 和/var/tmp 中的文件通常具有类型 tmp_t。
  • SEliux 策略具有允许以 httpd_t 身份运行的进程访问标记为 httpd_sys_content_t 的文件的规则。没有规则允许这些进程访问标记有 tmp_t 的文件 , 因此将拒绝这些访问 , 即使常规文件权限指出应该允许这些访问。

3.显示及更改 SELINUX 模式

getenforce          ##获得当前SElinux状态

这里写图片描述

<当SElinux开启时>
setenforce  0|1     ##更改SElinux安全级别
— 0表示Permissive     ##警告
— 1表示Enforcing      #强制
强制模式:SElinux不仅记录冲突,也强制执行规则。
警告模式:SElinux允许所有交互,并且记录交互信息。

注:以上是从命令更改,也可以从文件更改##

vim     /etc/sysconfig/selinux

这里写图片描述

注:disable表示关闭,enforcing表示强制,permissive表 示警告,disable状态切换到permissive状态或者enforcing 状态需要重启系统。

4.显示 SELinux 文件上下文

  • 什么确定文件的初始 SELinux 上下文 ? 通常是父目录。将父目录的上下文指定给新创建的文件。这对 vimcp 和 touch 等命令其作用 , 但是 , 如果文件是在其他位置创建的并且保留了权限 (与 mv 或 cp -a 一样 ) 则还将保留 SELinux 上下文
  • 许多处理文件的命令具有一个用于显示或设置 SELinux 上下文的选项 ( 通常是 -Z ) 。例如 , ps 、 ls 、 cp 和 mkdir 都使用 -Z 选项显示或设置 SELinux 上下文
  • 显示上下文
    – ps axZ
    – ps -ZC
    – ls -Z

修改SElinux安全上下文

临时修改
chcon -t 安全上下文  文件

这里写图片描述

永久修改
semanage fcontext -l        ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t '/publicftp(/.*)?'
restorecon -FvvR /publicftp/        ##刷新文件安全上下文

这里写图片描述

5.semanage 命令

  • restorecon 是 policycoreutil 软件包的一部分
  • semanage 是 policycoreutil-python 软件包的一部分
  • semanage fcontext 可用与显示或修改 restorrecon 用来
    设置默认文件上下文的规则
  • semanage fcontext 使用扩展正则表达式来指定路径和文 件名。 fcontext 规则中最常用的扩展正则表达式是(/.*)?, 表 示随意地匹配 / 后跟任何数量的字符
  • semanage fcontext 将递归地与在表达式前面列出的目录
    以及该目录中的所有内容相匹配

6.控制SElinux服务功能开关

  • SELinux 布尔值是更改 SELinux 策略行为的开关。 SELinux 布尔值是可以启用或禁用的规则。安全管理员可
    以使用 SELinux 布尔值来调整策略 , 以有选择地进行调整
  • 许多软件包都具有 man page *_selinux(8), 其中详细说明
    了所使用的一些布尔值 ; man -k ‘_selinux’ 可以轻松地找
    到这些手册
    getsebool -a | grep 服务名称
    getsebool -a | grep ftpd
    这里写图片描述

    setsebool -P 功能bool值 on|off
    setsebool -P ftpd_anon_write on
    这里写图片描述

监控 SELinux 冲突

  • 必须安装 setroubleshoot-server 软件包 , 才能将 SELinux 消息发送至 /var/log/messages
  • setroubleshoot-server 侦听/var/log/audit/audit.log 中的审 核信息并将简短摘要发送至 /var/log/messages
  • 摘要包括 SELinux 冲突的唯一标识符 ( UUIDs ),可用于 收集更多信息。 Sealert -l UUID 用于生成特定事件的报告。 Sealert -a /var/log/audit/audit.log 用于在该文件中 生成所有事件的报告
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值