安全强化机制——SELinux
1.基本 SELINUX 安全性概念
SELINUX(Security Enhanced Linux),意思是安全增强型Linux, 是可保护你系统安全性的额外机制
在某种程度上 , 它可以被看作是与标准权限系统并行的权限系统。在常规模式中 , 以用户身份运行进程 , 并且系统上的文件和其他资源都设置了权限 (若要访问文件 ,你必须具有普通访问权限和 SELinux 访问权限。因此 , 即使以超级用户身份root 运行进程 , 根据进程以及文件或资源的 SELinux 安全性上下文可能拒绝访问文件或资源) 标签
2.SELINUX的状态
三种状态: <1>enfirocing? ##强制模式? <2>permissive ##警告模式? <3>disabled? ##关闭模式
【1】更改 selinux的开机状态,重启生效!
vim /etc/sysconfig/selinux? ##selinux的配置文件
SELINUX=enforcing|permissive|disabled
【2】显示及更改 SELINUX 模式
显示:getenforce
更改:setenforce 0|1
0 表示 permissive?
警告但不阻止可疑行为
1 表示 enforcing?
强制阻止可疑行为
3.SELINUX的安全上下文
selinux
安全上下文访问规则
WEB 服务器的 HTTPD 进程设置了
SELINUX 上下文system_u:system_r:httpd_t 标签。该上下文的重要部分是第三个用冒号分隔的字段 SELINUX 类型 :
httpd_t
系统上的文件和资源也设置了 SELINUX 上下文标签 , 并且重要的部分是 SELINUX
类型。例如 , /var/www/html 中的文件具
有类型 httpd_sys_content_t . /tmp 和 /var/tmp
中的文件通常具有类型 tmp_t
Seliux 策略具有允许以 httpd_t
身份运行的进程访问标记为httpd_sys_content_t 的文件的规则。没有规则允许这些进程访问标记有 tmp_t 的文件 ,因此将拒绝这些访问
【1】暂时性更改文件的安全上下文
ls -Z ##查看安全上下文
chcon -t public_content_t
file##修改安全上下文
一次性定制安全上下文 , 执行 restorecon
刷新后还原
实验:
将/mnt的文件移动到/var/ftp中
查看/var/ftp的安全上下文
因为安全上下文不同,故用lftp链接时不显示文件
更改westos的安全上下文
再次连接显示文件
【2】永久性修改安全上下文
semanage fcontext -a -t public_content_t?
‘/westos(/.*)?‘ ##(/.*)?表示westos后的所有文件和目录
fcontext 规则中最常用的扩展正则表达式是 (/.*)?, 表示随意匹配 /
后跟任何数量的字符
restorecon -FvvR /westos/ ##使更改的内容生效
实验:
新建目录、文件,查看其默认上下文
修改安全上下文
在系统中搜索/westos的安全上下文
添加成功!
4.管理 SELinux
布尔值
SELinux 布尔值是更改 SELinux 策略行为的开关, 是可以启用或禁用的规则
安全管理员可以使 SELinux 布尔值来调整策略 , 以有选择地进行调整
getsebool 用于显示布尔值 , setsebool
用于修改布尔值
setsebool -P 修改 SELinux 策略 , 以永久保留修改。
实验环境:selinux状态为警告/强制,在强制状态下,客户端切换到student用户,是不可以上传文件的
设置布尔值(1开启,0关闭)
测试:可登录、上传
5.监控 SELinux 冲突
- 必须安装 setroubleshoot-server 软件包 , 才能将 SELinux消息发送至 /var/log/messages
- setroubleshoot-server 侦听 /var/log/audit/audit.log 中的审核信息并将简短摘要发送至
/var/log/messages - 摘要包括 SELinux 冲突的唯一标识符 ( UUIDs ), 可用于收集更多信息
- Sealert -l UUID 用于生成特定事件的报告。Sealert-a/var/log/audit/audit.log
用于在该文件中生成所有事件的报告 - 当setroubleshoot-server 软件包存在时,客户端如果访问失败,cat /var/log/messages日志中会有解决方案
- 如果卸载setroubleshoot-server 软件包? 日志中没有解决方案。
| /var/log/audit/audit.log | selinux日志存放位置 |
| /var/log/messages |
selinux解决方案 |
安装软件:
setroubleshoot-server.x86_64 : SELinux troubleshoot server
清空日志:
> /var/log/audit/audit.log
>/var/log/messages
实验:
touch /mnt/westos? ?
mv /mnt/westos?
/var/ftp/
ftp://172.25.254.205? ##看不到westos
?cat /var/log/audit/audit.log?
##查看问题出在哪里
cat /var/log/messages?
##查看解决方案
【1】方案一:修改安全上下文
【2】方案二:修改布尔值
restorecon -v
/var/ftp/*?
ftp://172.25.254.205? ##可以看到westos
6.SELINUX影响服务资源
yum install httpd ##安装Apache
vim /etc/httpd/conf/httpd.conf
修改前
修改后
systemctl restart httpd? ##服务不能重启
setenforce? 0 ?
systemctl restart httpd
##服务开启证明是selinux的问题
semanage
port -l |grep http? ##查看http的端口
semanage port -a -t? http_port_t -p tcp 6666
##添加6666端口
semanage port -l |grep http ##6666已经添加
systemctl restart
httpd ##重启成功
补充:通过以下方式查看服务端口
cat
/etc/services |grep ftp ##查看服务的端口
可以看到ftp服务的端口是21
安全强化机制——SELinux的更多相关文章
- SELinux深入理解
ps:今天在远程给服务器配置https的时候,一直乱码,以前做系统的系统第一件事情,就是关闭selinx,今天忘记了,然后就悲剧了... 弄了半天才弄好,镇定思痛,好好的来看下selinux 1. 简 ...
- 深入理解SELinux
目录(?)[+] 1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组 ...
- 关于SELinux
出现背景以及发展历程 SELinux是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secu ...
- SElinux解决web网站无法访问
SElinux解决web网站无法访问工具/原料centos 6.5系统httpd web服务器 SELinux 设置为enforcing:强制模式,代表 SELinux 运作中 方法/步骤1. 1se ...
- SELINUX工作原理
SELinux工作原理 1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成 ...
- SEAndroid安全机制框架分析
我们知道,Android系统基于Linux实现. 针对传统Linux系统,NSA开发了一套安全机制SELinux,用来加强安全性. 然而.因为Android系统有着独特的用户空间执行时.因此SELin ...
- 为什么高手离不了Linux系统?这就是我的理由
摘要: 通过本文来记录下我在Linux系统的学习经历,聊聊我为什么离不了Linuxx系统,同时也为那些想要尝试Linux而又有所顾忌的用户答疑解惑,下面将为你介绍我所喜欢的Linux系统,这里有一些你 ...
- 在centOS5.9安装asterisk
最近一直在研究asterisk这个服务器,Asterisk 是一个开放源代码的软件VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案.Asterisk是一种功能非常齐全的应用程序,提 ...
- Linux 对比 Windows 缺点
SELinux_百度百科 https://baike.baidu.com/item/SELinux/8865268?fr=aladdin 虽然Linux比起 Windows来说,它的可靠性,稳 ...
随机推荐
- odoo14里面给下载PDF附件加水印
依赖包:pip install reportlab Odoo 中附件的下载会经过 ir.http 的 def binary_content() 方法获取附件内容等必要信息, 所以我们需要继承 ir.h ...
- 关于intouch/ifix嵌入视频控件并使用(海康,大华)
2017年下半年项目开始接触利用intouch工控软件来进行项目二次开发.其中关于驱动的问题始终是上位机的重中之重,暂且不表(嘿嘿--),首先遇到的问题就是在弹窗中嵌入视频控件,监控设备的开停状态.经 ...
- zabbix latest.php SQL注入漏洞(CVE-2016-10134)
Zabbix 2.2.14之前的版本和3.0.4之前的3.0版本 latest.php页面提取cookie中的zbx_sessionid的后16位 246c58ba963457ef http://19 ...
- 文本生成器(AC自动机+dp)
F. 文本生成器 内存限制:512 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 原题来自:JSOI 2007 JSOI 交给队员 ZYX 一个任务,编 ...
- 离线webpack创建vue 项目
参考地址: https://blog.csdn.net/feinifi/article/details/104578546 画重点: // 需要带上参数--offline表示离线初始化. --offl ...
- 乘风破浪,遇见Android Jetpack之Compose声明式UI开发工具包,逐渐大一统的原生UI绘制体系
什么是Android Jetpack https://developer.android.com/jetpack Android Jetpack是一个由多个库组成的套件,可帮助开发者遵循最佳做法.减少 ...
- 【LeetCode】169. 多数元素
169. 多数元素 知识点:数组:排序:消消乐:分治: 题目描述 给定一个大小为 n 的数组,找到其中的多数元素.多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的, ...
- MySQL Utilities工具教程
一.MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入)复制工具 (安装. ...
- Openresty Lua协程调度机制
写在前面 OpenResty(后面简称:OR)是一个基于Nginx和Lua的高性能Web平台,它内部集成大量的Lua API以及第三方模块,可以利用它快速搭建支持高并发.极具动态性和扩展性的Web应用 ...
- 在包一级定制log4j日志输出
软件开发和维护过程中,日志是必不可少的工具,对于一个10万行规模的产品,要分析它的某一部分,最简单的方法是将log4j配置文件的rootLogger的输出级别设置为debug,但这样将使产品的所有部分 ...