SELinux基础
本文最后更新于 2376 天前,其中的信息可能已经有所发展或是发生改变。

SELinux (Secure Enhanced Linux) 安装增强Linux是由NSA针对计算机基础结构安全开发的一个全新的Linux安全进制。SELinux允许管理员更加灵活的定义安全策略。

SELinux是一个内核级的安全机制,从2.6内核之后集成在内核当中

主流的Linux发型版本都会集成SELinux机制,CentOS/RHTL默认会开启SELinux

因为SELinux是内核机制,所以对SELinux的修改一般需要重新启动

SELinux基本概念

所有的安全机制都是两样东西做出限制:进程和系统资源(文件、网络套接字、系统调用等)

SELinux针对这个两种类型定义了两个基本概念:域(domain)和上下文(context)

域用来对进程进行限制
上下文用来对系统资源进行限制

命令 ps -Z 可查看进程的域

命令 ls -Z 可查看文件的上下文

策略

SELinux的通过定义策略来控制那些域可以访问哪些上下文

SELinux有很多预置策略,我们通常不需要自定义策略(除非我们需要对自定义服务、程序进行保护)

CentOS/RHEL使用预置的目标(target)策略

目标(Target)策略定义只有目标进程受到SELinux限制,其它进程运行在非限制模式下。目标策略只影响网络应用程序。

CentOS/RHEL中,受限制的网络服务程序在200左右,常见的有:

dhcpd
httpd
mysqld
named
ntpd
rpcbind
squid
syslogd

SELinux模式

SELinux有三种工作模式

强制(enforcing)

违反策略的行动都被禁止,并作为内核信息记录

允许(permissive)

违反策略的行动都不被禁止,但是会产生警告信息

禁用(disabled)

SELinux模式的配置文件为 /etc/sysconfig/selinux

SELinux=permissive

命令getenforce可以查看当前SELinux工作状态

getenforce

命令setenforce可以设置当前SELinux工作状态

setenforce 0   //暂时关闭
setenforce 1   //暂时开启

策略、域、上下文

命令ps、ls加入-Z参数就可以显示对应的SELinux信息,显示的信息类似:

system_u :       object_r :       httpd_exec-t :   s0
用户(User) 角色(role) 类型(type) MLS、MCS

SELinux策略规定哪些域(进程)可以访问哪些上下文 (文件)

在对系统进行管理时,对文件的操作有时会改变文件的上下文,导致一些进程无法访问某些文件,所以我们一般需要检查、修改文件的上下文

命令 restorecon 可以用以恢复文件默认的上下文

restorecon -R -v /var/www

命令chcon可以用以改变文件的上下文

chcon --reference=/etc/named.conf.orig /etc/named.conf

实例

假设我们需要搭建一个web服务器,网页文件保存在/var/www/html目录中

用户在其家目录中编辑了一个网页,并将其通过mv命令移动到 /var/wwww/html 目录中

将SELinux设置为 enforcing 状态,通过浏览器访问该网页

查看 /var/log/audit/audit.log 中的报错信息

通过restorecon命令或chcon命令进行修复

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇