分享好友 系统运维首页 频道列表

SELinux——有趣的标签

Linux系统  2016-09-18 16:120

SELinux

·SELinux:Secure Enhanced linux,工作与Linux内核中

·DAC:Discretionary Access Control 自由访问控制

·MAC:Mandatory Access Control  强制访问控制

DAC环境下进程是无束缚的

MAC环境下策略的规则决定控制的严格程度

MAC环境下进程可以被限制的

策略被用来定义被限制的进程能够使用那些资源(文件和端口)

默认情况下,没有被明确允许的行为将被拒绝

·SELinux有四种工作级别:

strict:每个进程都受到selinux的控制

targeted:仅有限个进程受到selinux控制

只监控容易被入侵的进程

minimum:centos7,修改过的targeted,只对选择的网络服务

mls:提供MLS(多级安全)机制的安全性

minimum和mls稳定性不足,未加以应用

·sandbox:

传统Linux,一切皆文件,由用户,组,权限控制访问

在SELinux 中,一切皆对象(object),由存放在inode的扩展属性域的安全元素所控制其访问

所有文件和端口资源和进程都具备安全标签:安全上下文(security context)

subject operation object

subject:进程

object:进程,文件,

文件:open,read,write,close,chown,chmod

subject:domain

object:type

SELinux为每个文件提供了安全标签,也为进程提供了安全标签

user:role:type

user:SELinux的user

role:SELinux的角色

type:SELinux的的类型

实际上下文:存放在文件系统中,

ls –Z;ps –Z

期望(默认)上下文:存放在二进制的SELinux策略库(映射目录和期望安全上下文)中

semanage fcontext –l

SELinux规则库:

规则:那种域能访问那种或那些种类型的文件

·配置SELinux:

SELinux是否启用

给文件重新打标

给端口设置安全标签

设定某些操作的布尔型特性

SELinux的日志管理

1、SELinux的状态:

·enforcing:强制,每个受限的进程都必然受限

·permissive:启用,每个受限的进程违规操作不会被禁止,但会被记录于审计日志

·disabled:关闭

·相关命令:

getenforce:获取当前selinux状态

setenforce 0|1

0:设置为permissive

1:设置为enforcing

此设定:重启系统后无效

配置文件:

/etc/selinux/config,/etc/sysconfig/selinux

SELinux={disabled|permissive|enforcing}

/boot/grub/grub.conf

在kernel行追加内核参数:使用selinux=0禁用SELinux

2、给配置文件重新打标:

chcon [OPTION]… CONTEXT FILE…

chcon [OPTION]… [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE…

chcon [OPTION]… –reference=RFILE FILE…

-R:递归打标

3、 还原文件的默认标签:

restorecon [-R] /path/to/somewhere

4、默认安全上下文查询与修改

·需要用到的包:semanage来自policycoreutils-python包

·查看默认的安全上下文

semanage fcontext –l

·添加安全上下文

semanage fcontext -a –t httpd_sys_content_t '/testdir(/.*)?'

restorecon –Rv /testdir

·删除安全上下文

semanage fcontext -d –t httpd_sys_content_t '/testdir(/.*)?'

·查看端口标签

semanage port –l

·添加端口

semanage port -a -t port_label -p tcp|udp PORT

semanage port -a -t http_port_t -p tcp 9527

·删除端口

semanage port -d -t port_label -p tcp|udp PORT

semanage port -d -t http_port_t -p tcp 9527

·修改现有端口为新标签

semanage port -m -t port_label -p tcp|udp PORT

semanage port -m -t http_port_t -p tcp 9527

5、 布尔型规则:

getsebool

setsebool

·查看bool值命令:

getsebool [-a] [boolean]

semanage boolean –l

semanage boolean -l –C

·设置bool 值命令:

setsebool [-P] boolean value (on,off)

setsebool [-P] Boolean=value (0 ,1)

6、SELinux日志管理:

安装包:yum install setroublesshoot* (重启生效)

将错误的信息写入/var/log/message

grep setroubleshoot /var/log/messages

sealert -l UUID

查看安全事件日志说明

sealert -a /var/log/audit/audit.log

扫描并分析日志

7、SELinux帮助:

yum -y install selinux-policy-devel (centos7)

yum -y install selinux-policy-doc  (centos6)

mandb | makewhatis

man -k _selinux

练习:

1、启用SELinux策略并安装httpd服务,改变网站的默认主目录为/website,添加SELinux文件标签规则,使网站可访问

SELinux——有趣的标签 SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签

2、修改上述网站的http端口为9527,增加SELinux端口标签,使网站可访问

SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签 SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签

3、启用相关的SELinux布尔值,使上述网站的用户student的家目录可通过http访问

SELinux——有趣的标签

SELinux——有趣的标签

SELinux——有趣的标签 SELinux——有趣的标签

SELinux——有趣的标签 SELinux——有趣的标签

查看更多关于【Linux系统】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
在CentOS上为Docker开启SELinux
div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, u

0评论2023-02-09512

?第五周作业
1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;[root@localhost ~]# grep-E ^[[:space:]]+ /boot/grub/grub.conf root (hd0,0)kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS.UTF-8 rd_NO_MD rd_LVM_L

0评论2017-02-05452

sed 替换、修改链接文件注意问题
sed 替换、修改链接文件注意问题#系统与版本[root@localhost~]# cat /etc/redhat-releaseCentOS release 6.8 (Final)[root@localhost~]# sed --versionGNU sed version 4.2.1Copyright (C) 2009 Free Software Foundation, Inc.This is free software; see th

0评论2016-12-23204

查看SELinux状态&关闭SELinux
1. 查看SELinux状态1.1 getenforcegetenforce命令是单词get(获取)和enforce(执行)连写,可查看selinux状态,与setenforce命令相反。setenforce命令则是单词set(设置)和enforce(执行)连写,用于设置selinux防火墙状态,如:setenforce 0用于关闭selinux防

0评论2016-12-0193

初识SElinux
一、SElinux(Secure Enhanced Linux):安全增强的LinuxSElinux是一个在内核中实践的强制访问控制(MAC)安全性机制,由美国国家安全局NSA(The National Security Agency)和SCC(SecureComputing Corporation的)开发的针对计算机基础结构安全开发的一个全

0评论2016-09-18121

SElinux
selinux 配置文件 修改就要重启targeted:用来保护常见的网路服务,仅有限进程受到selinux控制,只监控容易被入侵的进程。targeted 慢慢完善的法律 系统默认使用targetedCENTOS6CENTOS7 ZAIZHEGEWENJIAN或者 cat /etc/sysconfig/selinuxSELINUX一切皆对象objec

0评论2016-09-1469

关闭selinux(防火墙)方法分享
默认装完CentOS,Selinux是打开的,这个你基本都是需要关闭,查看当前selinux的状态后,就可以按以下方法关闭selnux了

0评论2015-07-15131

更多推荐