SElinux

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

selinux  配置文件 修改   就要重启

targeted:用来保护常见的网路服务,仅有限进程受到selinux控制,只监控容易被入侵的进程。

targeted  慢慢完善的法律

系统默认使用   targeted    

CENTOS6

SElinux

SElinux

CENTOS7

SElinux

ZAI   ZHEGE   WENJIAN   或者  cat /etc/sysconfig/selinux SElinux

SELINUX一切皆对象object

有· 就说明有安全上下文

SElinux

SElinux

本章内容

.SELinux概念

.启用SELinux

.管理文件安全标签

.管理端口标签

.管理SELinux布尔值开关

.管理日志

.查看SELinux帮助

3

SELinux介绍

.SELinux: Secure Enhanced Linux,是美国国家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中

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

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

.DAC环境下进程是无束缚的

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

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

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

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

4

SELinux工作类型

.SELinux有四种工作类型:

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

.targeted: 用来保护常见的网络服务,仅有限进程受到selinux控制,只监控容易被入侵的进程,rhel4只保护13个服务,rhel5保护88个服务

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

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

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

5

SELinux安全上下文

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

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

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

.安全上下文有五个元素组成:

.user:role:type:sensitivity:category

.user_u:object_r:tmp_t:s0:c0

. 实际 上下文:存放在文件系统中,ls –Z;ps–Z

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

semanagefcontext–l

6

五个安全元素

.User:指示登录系统的用户类型,如root,user_u,system_u,多数本地进程都属于自由(unconfined)进程

.Role:定义文件,进程和用户的用途:文件:object_r,进程和用户:system_r

.Type :指定数据类型zhongyao,规则中定义何种进程类型访问何种文件Target策略基于type实现,多服务共用:public_content_t

.Sensitivity:限制访问的需要,由组织定义的分层安全级别,如unclassified,secret,top,secret, 一个对象有且只有一个sensitivity,分0-15级,s0最低,Target策略默认使用s0

.Category:对于特定组织划分不分层的分类,如FBI Secret,NSA secret, 一个对象可以有多个categroy,c0-c1023共1024个分类,Target 策略不使用cateaory

7

SELinux策略

.对象(object):所有可以读取的对象,包括文件、目录和进程,端口等,

.主体:进程称为主体(subject)

.SELinux中对所有的文件都赋予一个type的文件类型标签,对于所有的进程也赋予各自的一个domain的标签。Domain标签能够执行的操作由安全策略里定义。

.当一个subject试图访问一个object,Kernel中的策略执行服务器将检查AVC (访问矢量缓存Access Vector Cache), 在AVC中,subject和object的权限被缓存(cached),查找“应用+文件”的安全环境。然后根据查询结果允许或拒绝访问

.安全策略:定义主体读取对象的规则数据库,规则中记录了哪个类型的主体使用哪个方法读取哪一个对象是允许还是拒绝的,并且定义了哪种行为是充许或拒绝

8

设置SELinux

.配置SELinux:

SELinux是否启用

SElinux

SElinux

setenforce    1

SElinux

SElinux

文件未改   重启失效

给文件重新打安全标签

SElinux

修改后  重启生效

给端口设置安全标签

设定某些操作的布尔型开关

SELinux的日志管理

.SELinux的状态:

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

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

disabled: 禁用

9

配置SELinux

.相关命令:

getenforce: 获取selinux当前状态

sestatus:查看selinux状态

setenforce0|1

0: 设置为permissive

1: 设置为enforcing

.配置文件:

/boot/grub/grub.conf

使用selinux=0禁用SELinux

/etc/sysconfig/selinux

/etc/selinux/config

SELINUX={disabled|enforcing|permissive}

10

修改SELinux安全标签

.给文件重新打安全标签:

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

chcon[OPTION]… –reference=RFILE FILE… 参考别的文件的标签

-R:递归打标;

.恢复目录或文件默认的安全上下文:

restorecon[-R] /path/to/somewhere

SElinux SElinux 重启

SElinux

cp  没事   mv  会破坏它的标签

SElinux

改回以前的标签  第二种方法

SElinux

SElinux

SElinux

11

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

.semanage来自policycoreutils-python包

.查看默认的安全上下文

semanagefcontext–l

.添加安全上下文

semanagefcontext -a –t httpd_sys_content_t‘/testdir(/.*)?’

restorecon–Rv/testdir

SElinux

.删除安全上下文

SElinux

semanagefcontext -d –t httpd_sys_content_t‘/testdir(/.*)?’

1212

.查看端口标签

semanageport –l

.添加端口

semanageport -a -t port_label-p tcp|udpPORT

semanage port -a -t http_port_t -p tcp 9527

.删除端口

semanageport -d -t port_label-p tcp|udpPORT

semanage port -d -t http_port_t -p tcp 9527

.修改

semanageport -m -t port_label-p tcp|udpPORT

semanageport -m -t http_port_t-p tcp9527

SElinux

Selinux端口标签

13

SELinux布尔值

.布尔型规则:

getsebool

setsebool

.查看bool命令:

getsebool[-a] [boolean]

semanageboolean–l

semanageboolean-l –C 查看修改过的布尔值

.设置bool值命令:

setsebool[-P] booleanvalue

setsebool[-P] Boolean=value

-P     永久改     0表示off    1表示on

SElinux

14

SELinux日志管理

.yum install setroublesshoot*(重启生效)

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

.grep setroubleshoot/var/log/messages

.sealert-l UUID

查看安全事件日志说明

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

扫描并分析日志

1515

.[root@serverX ~]# yum -y install selinux-policy-devel

.[root@serverX ~]# mandb

.[root@serverX ~]# man -k _selinux

SELinux帮助

16

练习

.1、安装httpd服务,改变网站的默认主目录为/website,添加SELinux文件标签规则,设置http_sys_content_t到/website及目录下所有文件,使网站可访问

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

.3、启用SELinux布尔值,使用户student的家目录可通过http访问

 
标签: 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
  • SELinux——有趣的标签
    SELinux——有趣的标签
    SELinux SELinux:Secure Enhanced linux,工作与Linux内核中DAC:Discretionary Access Control 自由访问控制MAC:Mandatory Access Control 强制访问控制 DAC环境下进程是无束缚的MAC环境下策略的规则决定控制的严格程度MAC环境下进程可以被限制的策略被用来
    09-18 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
点击排行