SELinux 与强制访问控制系统

SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access
Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。
强制访问控制系统的用途在于增强系统抵御
0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力。所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复。
举例来说,系统上的 Apache
被发现存在一个漏洞,使得某远程用户可以访问系统上的敏感文件(比如 /etc/passwd 来获得系统已存在用户),而修复该安全漏洞的 Apache
更新补丁尚未释出。此时 SELinux 可以起到弥补该漏洞的缓和方案。因为 /etc/passwd 不具有 Apache 的访问标签,所以 Apache 对于
/etc/passwd 的访问会被 SELinux 阻止。
相比其他强制性访问控制系统,SELinux 有如下优势:

了解和配置 SELinux
1. 获取当前 SELinux
运行状态

getenforce
可能返回结果有三种:Enforcing、Permissive 和
Disabled。Disabled 代表 SELinux 被禁用,Permissive 代表仅记录安全警告但不阻止可疑行为,Enforcing
代表记录警告且阻止可疑行为。
目前常见发行版中,RHEL 和 Fedora 默认设置为 Enforcing,其余的如 openSUSE 等为
Permissive。
2. 改变 SELinux 运行状态
setenforce [ Enforcing |
Permissive | 1 | 0 ]
该命令可以立刻改变 SELinux 运行状态,在 Enforcing 和 Permissive
之间切换,结果保持至关机。一个典型的用途是看看到底是不是 SELinux 导致某个服务或者程序无法运行。若是在 setenforce 0
之后服务或者程序依然无法运行,那么就可以肯定不是 SELinux 导致的。
若是想要永久变更系统 SELinux 运行环境,可以通过更改配置文件
/etc/sysconfig/selinux 实现。注意当从 Disabled 切换到 Permissive 或者 Enforcing
模式后需要重启计算机并为整个文件系统重新创建安全标签(touch /.autorelabel && reboot)。

3. SELinux 运行策略
配置文件 /etc/sysconfig/selinux 还包含了 SELinux
运行策略的信息,通过改变变量 SELINUXTYPE 的值实现,该值有三种可能:targeted 代表仅针对预制的几种网络服务和访问请求使用 SELinux
保护,strict 代表所有网络服务和访问请求都要经过 SELinux。mls指 Multi Level Security protection。

RHEL 和 Fedora 默认设置为 targeted,包含了对几乎所有常见网络服务的 SELinux
策略配置,已经默认安装并且可以无需修改直接使用。

vi /etc/selinux/config
# This file controls the state of SELinux on the
system.
# SELINUX= can take one of these three values:
# enforcing -
SELinux security policy is enforced.
# permissive - SELinux prints
warnings instead of enforcing.
# disabled - SELinux is fully
disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible
values are:
# targeted - Only targeted network daemons are
protected.
# strict - Full SELinux protection. #在RHEL
6.0中value值为mls(非strict) - Multi Level Security
protection.
SELINUXTYPE=targeted

SELinux 与强制访问控制系统,布布扣,bubuko.com

时间: 2024-10-12 02:39:54

SELinux 与强制访问控制系统的相关文章

SELinux与强制访问控制系统应用

几乎可以肯定每个人都听说过 SELinux (更准确的说,尝试关闭过),甚至某些过往的经验让您对 SELinux 产生了偏见.不过随着日益增长的  0-day 安全漏洞,或许现在是时候去了解下这个在 Linux 内核中强制性访问控制系统(MAC)了,在刚接触Linux的时候我们会遇到因为SELinux控制出现的问题,接下来我来初步揭开SELinux的神秘面纱: SELinux 与强制访问控制系统        SELinux 全称 Security Enhanced Linux (安全强化 Li

TACACS 终端访问控制器访问控制系统

Terminal Access Controller Access-Control System (TACACS) TACACS(终端访问控制器访问控制系统)对于Unix网络来说是一个比较老的认证协议,它允许远程访问服务器传送用户登陆密码给认证服务器,认证服务器决定该用户是否可以登陆系统.TACACS是一个加密协议,因此它的安全性不及之后的TACACS+和远程身份验证拨入用户服务协议.TACACS之后推出的版本是XTACACS.这两个协议均在RFC(请求注解)(是一系列以编号排定的文件.文件收集

Natas Wargame Level 2 Writeup 与目录泄露(强制访问)

注意到"files/pixel.png",flag可能隐藏在此图片中.但随后发现该图片仅仅是一个一像素的图标,"没有"意义--files/目录可能是可以访问的: 拿到flag:natas3:sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14 总结:HTML/CSS/JS等客户端文件可能会泄露站长不想让客户端访问的目录,即该目录下即包含可访问文件又包含敏感文件,并且该目录没有进行权限认证(强制访问),形成一个切入点.

对云环境下访问控制系统的思考

本文由  网易云发布. 企业上云首当其冲的就是要考量安全性的问题.安全性范围很广,狭义上可以指云服务商的各种安全服务,如 DDoS 防护.其他安全性产品等,而广义上来说,安全性不仅包括基础设施的安全和稳定,如虚拟机的高可用.RDS 的高可靠等,也包括应用层面的安全性,如 WAF.证书服务.加密服务等等,还包括了因为企业本身的 IT 架构/研发架构的复杂性带来的资源管控方面的安全性需求等.可以说,谁解决好企业的安全性诉求,谁就会在云服务这片红海中占据很大的优势. 从广义上来理解,访问控制其实是安全

SELinux 对nginx访问目录的影响

centos新装的系统,用yum 安装的nginx . 因用yum 安装的nginx 默认目录在/usr下面. 当SELinux开启时,将会禁止访问设置在其他路径下的地址.比如我设置server 中 root  /home/www/public 无论你将文件的权限设置为777 还是多少,日志中都会提示  :***  open() "/home/www/centre/public/index.html" failed (13: Permission denied), client:  

Linux -- SELinux配置及应用(1)

一.SELinux 与强制访问控制系统 SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件.网络端口等). 强制访问控制系统的用途在于增强系统抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力.所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复. 举例来说,系统上的 Apache 被发现存

SELinux 入门简介

发表于: Linux, Security | 作者: 博客教主 几乎可以肯定每个人都听说过 SELinux (更准确的说,尝试关闭过),甚至某些过往的经验让您对 SELinux 产生了偏见.不过随着日益增长的 0-day 安全漏洞,或许现在是时候去了解下这个在 Linux 内核中已经有8年历史的强制性访问控制系统(MAC)了. SELinux 与强制访问控制系统 SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Ac

使用KVM虚拟机遇到的问题(持续更新)

1.qemu-kvm.kvm.qemu 和 qemu-system-x86_64四种命令的区别 qemu 和 qemu-system-x86_64:启动qemu虚拟机的命令,x86_64为64位系统时使用的命令 qemu-x86_64  仅仅模拟CPU qemu-system-x86_64 模拟整个PC qemu-kv和 kvm:如果要开启kvm支持,需要使用qemu-kvm或者kvm命令,暂时记为两个命令是等效的 2.用libvirt库创建虚拟机时会报错:internal error unab

在 Linux 上用 SELinux 或 AppArmor 实现强制访问控制(MAC)

为了解决标准的“用户-组-其他/读-写-执行”权限以及访问控制列表的限制以及加强安全机制,美国国家安全局(NSA)设计出一个灵活的强制访问控制Mandatory Access Control(MAC)方法 SELinux(Security Enhanced Linux 的缩写),来限制标准的权限之外的种种权限,在仍然允许对这个控制模型后续修改的情况下,让进程尽可能以最小权限访问或在系统对象(如文件,文件夹,网络端口等)上执行其他操作. 另一个流行并且被广泛使用的 MAC 是 AppArmor,相