SELinux——有趣的标签

   2016-09-18 0
核心提示:SELinux SELinux:Secure Enhanced linux,工作与Linux内核中DAC:Discretionary Access Control 自由访问控制MAC:Mandatory Access Control 强制访问控制 DAC环境下进程是无束缚的MAC环境下策略的规则决定控制的严格程度MAC环境下进程可以被限制的策略被用来

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——有趣的标签

 
标签: SELinux
反对 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
    02-09
  • ?第五周作业
    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
  • 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
    12-23 SedSELinux
  • 查看SELinux状态&关闭SELinux
    1. 查看SELinux状态1.1 getenforcegetenforce命令是单词get(获取)和enforce(执行)连写,可查看selinux状态,与setenforce命令相反。setenforce命令则是单词set(设置)和enforce(执行)连写,用于设置selinux防火墙状态,如:setenforce 0用于关闭selinux防
    12-01 SELinux
  • SELinux介绍
    SELinux介绍
    SELinux介绍SELinux: Secure Enhanced Linux, 是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的 Linux的一个强制访问控制的安全模块。 2000年以GNU GPL发布, Linux内核2.6版本后集成在内核中DAC: Discretion
    10-09 SELinux
  • linux基础学习之SElinux
    linux基础学习之SElinux
    1、SElinux简介 SELinux: Secure Enhanced Linux,是美国国家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中 2、SElinux
    09-18 SELinux
  • SELinux在httpd服务端中的使用
    SELinux在httpd服务端中的使用
    一、启用SELinux策略并安装httpd服务,改变网站的默认主目录为/website,添加SELinux文件标签规则,使网站可访问(以CentOS7系统操作)1、首先查看本系统是否已经安装httpd服务2、查看httpd的配置文件所在路径3、创建主目录为/website与网页文件index.html,并
    09-18 SELinux
  • 初识SElinux
    一、SElinux(Secure Enhanced Linux):安全增强的LinuxSElinux是一个在内核中实践的强制访问控制(MAC)安全性机制,由美国国家安全局NSA(The National Security Agency)和SCC(SecureComputing Corporation的)开发的针对计算机基础结构安全开发的一个全
    09-18 SELinux
  • SElinux
    selinux 配置文件 修改就要重启targeted:用来保护常见的网路服务,仅有限进程受到selinux控制,只监控容易被入侵的进程。targeted 慢慢完善的法律 系统默认使用targetedCENTOS6CENTOS7 ZAIZHEGEWENJIAN或者 cat /etc/sysconfig/selinuxSELINUX一切皆对象objec
    09-14 SELinux
点击排行