SELinux

一、简介

SELinux : 安全强化的Linux;在开启后,会对进程本身部署安全上下文;会对文件部署安全上下文;对法务使用端口进行限制;对程序本身的不安全功能做限制

二、工作原理

1、工作方式

通过MAC的方式来控制管理进程,它控制的主体是进程,而目标则是该进程能否读取的文件资源,如文件、目录、端口等等

2、安全上下文

security  context  : 主体与目标的安全上下文必须一致才能访问;最终文件的成功访问还是与文件系统的rwx权限设置有关

#文件安全上下文查看ls  -Z#进程的安全上下文ps  auZ  |  grep  vsftpd[root@hai ~]# cd /var/ftp/
[root@hai ftp]# ls -Z
unconfined_u:object_r:public_content_t:s0 fileunconfined_u:object_r:mnt_t:s0 file1system_u:object_r:public_content_t:s0 pub
[root@hai ftp]#[root@hai ftp]# ps auZ | grep vsftpd
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 root 4311 0.0  0.0 221680 2304 pts/0 S+ 17:03   0:00 grep --color=auto vsftpd

安全上下文字段:     Identify : role : type

身份标识  : root账号身份、system_u进程、unconfined_u一般用户账号

角色          :   object_r 文件或目录等文件资源、 system_r进程

类型          :   type在文件资源上面称为类型、domain在主体程序中则称域

domain需要与type搭配,则该进程才能顺利读取文件资源

s0、s1     :    代表灵敏度的分级,数值越大,灵敏度越高

三、优化管理

1、工作模式

  • enforcing    :   强制模式,开始限制domain/type   
  • permissing  :   宽容模式,仅警告并不限制
  • disabled      :   关闭,没有运行

2、对于SELinux状态管理

# 查看当前状态[root@hai ~]# getenforce
Enforcing# 临时更改工作模式setenforce  0|1       #  0表示宽容模式  1表示强制模式[root@hai ~]# setenforce 0
[root@hai ~]# getenforce
Permissive# 永久更改grubby  --update-kernel ALL --args  selinux=0    #更改重启才能生效# 创建识别刷新文件touch  /.autorelabel

3、管理文件的安全上下文

# 临时更改文件的安全上下文chcon
-R : 连同该目录下的子目录同时修改
-t : 后面接安全上下文的类型字段
-u : 身份识别
-r : 角色

# 永久修改
semanger fcontext -l : 列出所有记录
-a :  添加记录
-m :  修改
-d :  删除
-t :  添加的类型

# 刷新安全上下文restorecon  -RV   文件目录     # -R 连同子目录一起修改   -V  将进程显示到屏幕上

4、对服务的影响

# 查看sebool值
getsebool -a | grep 服务名称#修改setsebool -P    0|1     #  -P 表示永久生效# 查询ssh被允许使用的端口,并添加更改
[root@hai ~]# semanage  port -l | grep ssh
ssh_port_t                     tcp      22
[root@hai ~]# semanage  port  -a -t ssh_port_t -p tcp 666
[root@hai ~]# semanage  port -l | grep ssh
ssh_port_t                     tcp      666, 22
[root@hai ~]#

5、实例


[root@hai ftp]# getenforce
Enforcing                                # 在强制模式下[root@hai ftp]# lftp 172.25.254.200      # 上传     
lftp 172.25.254.200:~> ls
-rw-r--r--    1 0        0               0 Nov 19 08:45 file1
drwxr-xr-x    2 0        0               6 Oct 30  2023 pub
lftp 172.25.254.200:/> cd pub/
lftp 172.25.254.200:/pub> ls
lftp 172.25.254.200:/pub> put /etc/inittab       # 上传文件失败
put: /etc/inittab: 访问失败: 553 Could not create file. (inittab)
lftp 172.25.254.200:/pub>
exit[root@hai ftp]# ls -Z                 # 查看文件安全上下文
system_u:object_r:public_content_t:s0 file1
system_u:object_r:public_content_t:s0 pub
# 永久修改安全上下文
[root@hai ftp]# semanage  fcontext  -a  -t public_content_rw_t  '/var/ftp/pub(/.*)?'
[root@hai ftp]# restorecon -RvvF  /var/ftp/pub/       # 刷新安全上下文
Relabeled /var/ftp/pub from system_u:object_r:public_content_t:s0 to system_u:object_r:public_content_rw_t:s0[root@hai ftp]# getsebool -a | grep ftp         # 查看ftp服务的sebool值
ftpd_anon_write --> off                         # 关闭[root@hai ftp]# setsebool  -P  ftpd_anon_write on  # 永久生效修改[root@hai ftp]# getsebool -a | grep ftp 
ftpd_anon_write --> on                          # 已开启[root@hai ftp]# chmod 777 /var/ftp/pub          [root@hai ftp]# lftp 172.25.254.200
lftp 172.25.254.200:~> cd pub/
lftp 172.25.254.200:/pub> put /etc/inittab
490 bytes transferred                            # 上传成功
[root@hai ~]# getenforce           #查看当前SELinux状态
Enforcing
[root@hai ~]# setenforce 0         # 修改为宽容模式
[root@hai ~]# vim /etc/nginx/nginx.conf
[root@hai ~]# systemctl restart  nginx.service       # 可以重启服务
[root@hai ~]# setenforce 1          #强制模式
[root@hai ~]# systemctl restart  nginx.service       #强制模式下重启失败
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.[root@hai ~]# semanage  port -l | grep http        #查询服务允许使用的端口
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@hai ~]# semanage  port -a -t http_port_t -p tcp 8989   #更改被允许使用的端口8989
[root@hai ~]# semanage  port -l | grep http           
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      8989, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@hai ~]# systemctl restart nginx.service          #重启服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/475358.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++小白实习日记——Day 5 gitee怎么删文件,测试文件怎么写循环

昨晚一直内耗,一个程序写了三天写不出来,主要是耗时太多了,老板一直不满意。想在VScode上跑一下,昨晚一直报错。今天来公司重新搞了一下, 主要工作有: 1,读取当前时间用tscns 2,输…

Apache Paimon】-- 6 -- 清理过期数据

目录 1、简要介绍 2、操作方式和步骤 2.1、调整快照文件过期时间 2.2、设置分区过期时间 2.2.1、举例1 2.2.2、举例2 2.3、清理废弃文件 3、参考 1、简要介绍 清理 paimon (表)过期数据可以释放存储空间,优化资源利用并提升系统运行效…

阿里云IIS虚拟主机部署ssl证书

宝塔配置SSL证书用起来是很方便的,只需要在站点里就可以配置好,但是云虚拟主机在管理的时候是没有这个权限的,只提供了简单的域名管理等信息。 此处记录下阿里云(原万网)的IIS虚拟主机如何配置部署SSL证书。 进入虚拟…

BOM的详细讲解

BOM概述 BOM简介 BOM(browser Object)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。 BOM由一系列的对象构成,并且每个对象都提供了很多方法与属性 BOM缺乏标准&#xff…

湘潭大学软件工程算法设计与分析考试复习笔记(四)

回顾 湘潭大学软件工程算法设计与分析考试复习笔记(一)湘潭大学软件工程算法设计与分析考试复习笔记(二)湘潭大学软件工程算法设计与分析考试复习笔记(三) 前言 现在是晚上十一点,我平时是十…

STM32单片机ADC数模转换器

由于最近忘记了,自用。 转换模式 单次转换,非扫描模式 在非扫描模式下,列表中就只有序列1的位置有效,此时可以在序列1的位置指定我们想要转换的通道,然后ADC就会对这个通道进行模数转换。等待一段时间,转…

android 使用MediaPlayer实现音乐播放--获取音乐数据

前面已经添加了权限&#xff0c;有权限后可以去数据库读取音乐文件&#xff0c;一般可以获取全部音乐、专辑、歌手、流派等。 1. 获取全部音乐数据 class MusicHelper {companion object {SuppressLint("Range")fun getMusic(context: Context): MutableList<Mu…

Spring Boot中使用AOP和反射机制设计一个的幂等注解(两种持久化模式),简单易懂教程

该帖子介绍如何设计利用AOP设计幂等注解&#xff0c;且可设置两种持久化模式 1、普通模式&#xff1a;基于redis的幂等注解&#xff0c;持久化程度较低 2、增强模式&#xff1a;基于数据库&#xff08;MySQL&#xff09;的幂等注解&#xff0c;持久化程度高 如果只需要具有re…

VSCode+ESP-IDF开发ESP32-S3-DevKitC-1(1)开发环境搭建

VSCodeESP-IDF开发ESP32-S3-DevKitC-1&#xff08;1&#xff09;开发环境搭建 1.开发环境搭建&#xff08;安装ESP-IDF&#xff09;2.开发环境搭建&#xff08;安装VS Code&#xff09;3.开发环境搭建&#xff08;VSCode中安装ESP-IDF插件及配置&#xff09; 1.开发环境搭建&am…

论文分享 | FuzzLLM:一种用于发现大语言模型中越狱漏洞的通用模糊测试框架

大语言模型是当前人工智能领域的前沿研究方向&#xff0c;在安全性方面大语言模型存在一些挑战和问题。分享一篇发表于2024年ICASSP会议的论文FuzzLLM&#xff0c;它设计了一种模糊测试框架&#xff0c;利用模型的能力去测试模型对越狱攻击的防护水平。 论文摘要 大语言模型中…

opencv(c++)----图像的读取以及显示

opencv(c)----图像的读取以及显示 imread: 作用&#xff1a;读取图像文件并将其加载到 Mat 对象中。参数&#xff1a; 第一个参数是文件路径&#xff0c;可以是相对路径或绝对路径。第二个参数是读取标志&#xff0c;比如 IMREAD_COLOR 表示以彩色模式读取图像。 返回值&#x…

用源码编译虚幻引擎,并打包到安卓平台

用源码编译虚幻引擎&#xff0c;并打包到安卓平台 前往我的博客,获取更优的阅读体验 作业内容: 源码编译UE5.4构建C项目&#xff0c;简单设置打包到安卓平台 编译虚幻 5 前置内容 这里需要将 Epic 账号和 Github 账号绑定&#xff0c;然后加入 Epic 邀请的组织&#xff0c…

OpenAI震撼发布:桌面版ChatGPT,Windows macOS双平台AI编程体验!

【雪球导读】 「OpenAI推出ChatGPT桌面端」 OpenAI重磅推出ChatGPT桌面端&#xff0c;全面支持Windows和macOS系统&#xff01;这款新工具为用户在日常生活和工作中提供了前所未有的无缝交互体验。对于那些依赖桌面端进行开发工作的专业人士来说&#xff0c;这一更新带来了令人…

【AIGC】破解ChatGPT!如何使用高价值提示词Prompt提升响应质量

文章目录 为什么高价值提示词如此重要&#xff1f;&#x1f50d;1.1 提升响应的相关性和准确性1.2 节省时间与资源1.3 增强用户体验 了解ChatGPT的工作原理&#x1f9e0;2.1 语言模型的训练过程2.2 上下文理解与生成2.3 限制与挑战 高价值提示词的核心要素✍️3.1 清晰明确的指…

07架构面试题

目录 一、关于合生元的面试题的架构分析的问题 1. 陈述两种方案的优劣 2. 在那些条件下&#xff0c;会选择哪一个方案 3. 你倾向那一种&#xff1f; 4. 如果要实施方案二的&#xff0c;准备步骤和流程 一、关于合生元的面试题的架构分析的问题 1. 陈述两种方案的优劣 方案…

反转链表、链表内指定区间反转

反转链表 给定一个单链表的头结点pHead&#xff08;该头节点是有值的&#xff0c;比如在下图&#xff0c;它的val是1&#xff09;&#xff0c;长度为n&#xff0c;反转该链表后&#xff0c;返回新链表的表头。 如当输入链表{1,2,3}时&#xff0c;经反转后&#xff0c;原链表变…

关于win11电脑连接wifi的同时,开启热点供其它设备连接

背景&#xff1a; 我想要捕获手机流量&#xff0c;需要让手机连接上电脑的热点。那么问题来了&#xff0c;我是笔记本电脑&#xff0c;只能连接wifi上网&#xff0c;此时我的笔记本电脑还能开启热点供手机连接吗&#xff1f;可以。 上述内容&#xff0c;涉及到3台设备&#x…

Linux编辑器 - vim

目录 一、vim 的基本概念 1. 正常/普通/命令模式(Normal mode) 2. 插入模式(Insert mode) 3. 末行模式(last line mode) 二、vim 的基本操作 三、vim 正常模式命令集 1. 插入模式 2. 移动光标 3. 删除文字 4. 复制 5. 替换 6. 撤销上一次操作 7. 更改 8. 调至指定…

靓车汽车销售网站(源码+数据库+报告)

基于SpringBoot靓车汽车销售网站&#xff0c;系统包含两种角色&#xff1a;管理员、用户,系统分为前台和后台两大模块&#xff0c;主要功能如下。 前台功能简介&#xff1a; - 首页&#xff1a;展示网站的概要信息和推荐车辆。 - 车辆展示&#xff1a;展示可供销售的汽车。 - …

数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall

数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 贵在坚持&#xff01; 数据样例项目地址&#xff1a; * 相关项目 1&#xff09;数据集…