2-10. selinux的管理

简介:

##selinux的管理##

##学习目标

基本 SELINUX 安全概念

SELINUX 模式

更改 SELINUX 模式

显示进程和文件的 SELINUX 上下文

管理文件的selinux上下文

管理服务的bool值

##基本 SELINUX 安全性概念

SELINUX (安全增强型 Linux )是可保护你系统安全性的额外机制

在某种程度上,它可以被看作是与标准权限系统并行的权限系统。在常规模式中,以用户身份运行进程,并且系统上的文件和其他资源都设置了权限(控制哪些用户对哪些文件具有哪些访问权SELINUX 的另一个不同之处在于,若要访问文件,你必须具有普通访问权限和 SELINUX 访问权限。因此 ,即使以超级用户身份 root 运行进程 ,根据进程以及文件或资源的SELinux 安全性上下文可能拒绝访问文件或资源限)标签

##示例:

wKiom1kFylPC1JSgAAGOyehw2dA680.png

在无 selinux 保护时 ,恶意人员可以尝试利用 web 服务器中的安全漏洞强行进入系统。如果成功 ,将会控制以用户apache 身份运行的进程,这时再由一个本地安全漏洞就可能使攻击者获得超级用户的访问权限

##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 的文件,因此将拒绝这些访问,即使常规文件权限指出应该允许这些访问

##SELINUX 模式

wKioL1kFylPCO-pmAAFEGXDUEgI175.png

强制模式: SELINUX 主动拒绝访问尝试读取类型上下文为 tmp_t的 web 服务器。在强制模式中,SELINXU 既记录冲突,也强制执行规则

wKiom1kFylSjR2zoAAElw8VM5sk416.png

许可模式: 通常用于对问题进行故障排除。在许可模式下,即使没有明确规则, SELINUX 也允许所有交互,并且记录所有被拒绝的交互。此模式可以用于确定你是否有 SELINUX问题。无需重新引导即可从强制模式转为许可模式,或再从许可模式转回强制模式

wKioL1kGn7jx5qG0AAHxe9N3CoI635.png

##显示及更改SELINUX 模式

getenforce  ##查看selinux的执行模式

setenforce 0|1  ##修改selinux执行模式

– 0表示permissive #警告

– 1表示enforcing #强制

wKiom1kGn7iwTpyyAAC6_SFBgD0782.png

##更改selinux的开机状态

vim /etc/sysconfig/selinux

wKioL1kFylbjNn81AAN9St0jeGY032.png

wKioL1kGoiqDcU-mAAHwksDntWg729.png

##命令:sestatus  ##查看selinux状态

wKioL1kGn8WS09k9AAD7xa0fzes195.png

##显示SELinux 文件上下文

什么确定文件的初始 SELinux 上下文 ?通常是父目录。将父目录的上下文指定给新创建的文件。这对 vimcp 和 touch 等命令其作用,但是,如果文件是在其他位置创建的并且保留了权限 (与 mv 或 cp -a 一样 )则还将保留 SELinux 上下文

许多处理文件的命令具有一个用于显示或设置 SELinux 上下文的选项 (通常是 -Z )。例如 , ps 、 ls 、 cp 和 mkdir 都使用 -Z 选项显示或设置 SELinux 上下文

##显示上下文

– ps axZ     wKioL1kGn7rw2u1hAAD-mao-oBw199.png

– ps -ZC     ##查看进程的安全上下文

– ls -Z    ##查看文件的安全上下文wKiom1kGn7jytdwpAAC_w2fsR88812.png

##修改selinux安全上下文

chcon -t

– 一次性定制安全上下文,执行restorecon刷新后还原wKiom1kGn7vCi6QbAAOfF-T-M4g301.png

wKiom1kGn7yBV8HTAAK675DXilw983.png

##命令:restorecon  /var/ftp/pub/westos/   ##还原原有的安全上下文

wKiom1kGqGWS6i8TAAK1ohM1qfw887.png

wKioL1kGn7yyybyvAAE8MUccQqA299.png

##semanage fcontext

–永久更改文件的上下文

##semanage命令

restorecon 是 policycoreutil 软件包的一部分

semanage 是 policycoreutil-python 软件包的一部分

semanage fcontext 可用与显示或修改 restorrecon 用来设置默认文件上下文的规则

semanage fcontext使用扩展正则表达式来指定路径和文件名。 fcontext 规则中最常用的扩展正则表达式是(/.*)?, 表示随意地匹配 / 后跟任何数量的字符

semanage fcontext将递归地与在表达式前面列出的目录以及该目录中的所有内容相匹配


##anon_root=/redhat   匿名用户家目录/Redhat

wKioL1kGn73ipQznAACCzUzFpOs450.png

wKiom1kGn73Cx2pnAAKjxICCzRg519.png


wKioL1kGn7-BAoydAAKRCzQDIWY807.png

wKioL1kGn8SwvO8DAAEbELEhVpg481.png

##管理 SELinux 布尔值

SELinux 布尔值是更改 SELinux 策略行为的开关。SELinux 布尔值是可以启用或禁用的规则。安全管理员可以使用 SELinux 布尔值来调整策略 ,以有选择地进行调整

许多软件包都具有 man page *_selinux(8), 其中详细说明了所使用的一些布尔值; man -k‘_selinux’ 可以轻松地找到这些手册

getsebool 用于显示布尔值, setsebool 用于修改布尔值

setsebool -P 修改 SELinux 策略 ,以永久保留修改。

semanage boolean -l 将显示布尔值是否永久

##用本地用户登录

**警告模式下可以写上传

**强制模式下不能写

wKioL1kGn8LhIpK3AAKCJulVT1E137.png

##getsebool -a  查看selinux布尔值

wKiom1kGn8OTN5YjAACXldlQom0126.png

##setsebool -P   ftp_home_dir  1      ##修改selinux布尔值

1或on时:启动该布尔值

0或off时:停用该布尔值

wKioL1kGn8PTFL0aAAC4WzwoPwY016.png

wKiom1kGn8TiRey_AAFc2z5KBME910.png

wKiom1kGn8SDLNmyAAGzfkmBRA8349.png

wKiom1kGn8DBaj2fAAI7tBOtzR0927.png

###监控 SELinux 冲突

必须安装 setroubleshoot-server 软件包 ,才能将SELinux 消息发送至 /var/log/messages

etroubleshoot-server 侦听/var/log/audit/audit.log 中的审核信息并将简短摘要发送至 /var/log/messages

摘要包括 SELinux 冲突的唯一标识符 ( UUIDs ),可用于收集更多信息。 Sealert -l UUID用于生成

特定事件的报告。 Sealert -a /var/log/audit/audit.log 用于在该文件中生成所有事件的报告

wKioL1kGrXrhT3ZnAAEbELEhVpg772.png

wKiom1kGn8WjpvnxAAHrMthef6U958.png




本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1920925

相关文章
|
安全 Linux 数据安全/隐私保护
SELinux详解
SELinux详解
245 0
|
安全 Linux Apache
18.1 SELinux是什么
SELinux,Security Enhanced Linux 的缩写,也就是安全强化的 Linux,是由美国国家安全局(NSA)联合其他安全机构(比如 SCC 公司)共同开发的,旨在增强传统 Linux 操作系统的安全性,解决传统 Linux 系统中自主访问控制(DAC)系统中的各种权限问题(如 root 权限过高等)。
285 0
18.1 SELinux是什么
|
网络协议 安全 Linux
使用semanage管理SELinux安全策略
Semanage是用于配置SELinux策略某些元素而无需修改或重新编译策略源的工具。
使用semanage管理SELinux安全策略
|
JavaScript 前端开发
|
JavaScript 前端开发
|
监控 安全