Linux:防火墙和selinux对服务的影响

1-1selinux

       1-1

SELinux是对程序、文件等权限设置依据的一个内核模块。由于启动网络服务的也是程序,因此刚好也 是能够控制网络服务能否访问系统资源的一道关卡。

        1-2

SELinux是通过MAC的方式来控制管理进程,它控制的主体是进程,而目标则是该进程能否读取的文件 资源。

        1-2-1

        主体(subject):就是进程         

        目标(object):被主体访问的资源,可以是文件、目录、端口等。

        策略(policy):由于进程与文件数量庞大,因此SELinux会依据某些服务来制定基本的访问安全策略。 这些策略内还会有详细的规则(rule)来指定不同的服务开放某些资源的访问与否。

        安全上下文(security context):主体能不能访问目标除了策略指定外,主体与目标的安全上下文必须 一致才能够顺利访问。 最终文件的成功访问还是与文件系统的rwx权限设置有关 。

ls -Z

1-2-2

安全上下文

        身份标识(Identify):相当于账号方面的身份标识,主要有以下三种常见的类型:

                         root:表示root的账号身份;

                        system_u:表示程序方面的标识,通常就是进程; unconfined_u:代表的是一般用户账号相关的身份。

         角色(role):通过角色字段,可知道这个数据是属于程序、文件资源还是代表用户。一般角色 有:

                        object_r:代表的是文件或目录等文件资源;         

                        system_r:代表的是进程。

         类型(type):在默认的targeted策略中,Identify与role字段基本上是不重要的,重要的在于这 个类型字段。而类型字段在文件与进程的定义不太相同,分别是:

        type:在文件资源上面称为类型。

        domain:在主体程序中则称为域。

domain需要与type搭配,则该程序才能够顺利读取文件资源。 最后一个字段是和MLS和MCS相关的东西,代表灵敏度,一般用s0、s1、s2来命名,数字代表灵敏 度的分级。数值越大、灵敏度越高。

在图中

unconfined_u是身份标识

object_r是角色

default_t是类型

s0是灵敏度

1-2-3

SELinux三种模式 

enforcing:强制模式,代表SELinux正在运行中,开始限制domain/type。

permissive:宽容模式,代表SELinux正在运行中,不过仅会有警告信息并不会实际限制 domain/type的访问。

disabled:关闭,SELinux并没有实际运行。

getenforce

查看当前selinux状态

1-2-4

修改安全上下文

chcon -R/t/u

1-3 selinux对服务的影响

当selinux为严格模式的时候,(以nginx为例子)会限制nginx对我们自定义文件夹的访问

将自定义文件夹的角色改为我们nginx可以访问的httpd_sys_t便可以访问了

2-1 防火墙

        2-1-1:

        防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包 的进出。

        2-1-2:

对于包过滤的防火墙来说:

inux的Netfilter机制可以进行的分析工作有:

        拒绝让Internet的数据包进入主机的某些端口;

         拒绝让某些来源ip的数据包进入;

         拒绝让带有某些特殊标志(flag)的数据包进入,最常拒绝的就是带有SYN的主动连接的标志了;

        分析硬件地址(MAC)来决定连接与否。

2-2-1:

        iptables

防火墙会从以上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配 项中定义的行为(即放行或阻止)。

iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链 则依据数据包处理位置的不同进行分类,具体如下:

         在进行路由选择前处理数据包,用于目标地址转换(PREROUTING);

         处理流入的数据包(INPUT); 处理流出的数据包(OUTPUT);

         处理转发的数据包(FORWARD);

         在进行路由选择后处理数据包,用于源地址转换(POSTROUTING)。

2-3-1        

firewalld:

iptables service 首先对旧的防火墙规则进行了清空,然后重新完整地加载所有新的防火墙规则,而如果 配置了需要 reload 内核模块的话,过程背后还会包含卸载和重新加载内核模块的动作,而不幸的是,这 个动作很可能对运行中的系统产生额外的不良影响,特别是在网络非常繁忙的系统中。

相比于传统的防火墙管理工具,firewalld支持动态更新技术并加入了区域的概念。区域就是firewalld预 先准备了几套防火墙策略集合(策略模板),用户可以选择不同的集合,从而实现防火墙策略之间的快 速切换

        firewalld默认提供的九个zone配置文件都保存在“/usr/lib/firewalld/zones/”目录下,分别为: block.xml

drop.xml

home.xml

public.xml

work.xml

mz.xml

external.xml

internal.xml

trusted.xml

2-4 

防火墙对服务的影响

systemctl restart firewalld

当我们的(nginx为例)不是默认的443 80 8080等端口时,我们的自定义端口是无法被外界访问的

我们需要对防火墙服务设置对我们(http:tcp 自定义port)做允许才可以访问,并重启nginx服务

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

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

相关文章

qt QProgressBar详解

1、概述 QProgressBar是Qt框架中的一个控件,专门用于显示任务的进度。它提供了一个可视化的进度条,让用户能够直观地了解任务的完成程度。QProgressBar支持水平和垂直两种显示方向,并且可以通过设置最小值和最大值来指定进度条的范围。此外&…

力扣最热一百题——杨辉三角

目录 题目链接:118. 杨辉三角 - 力扣(LeetCode) 题目描述 示例 提示: 解法一:利用特性构建杨辉三角 1. 结果存储结构: 2. 初始化和循环遍历每一层: 3. 构建每一层: 4. 填充中间的元素&…

解决com.mysql.jdbc.NonRegisteringDriver内存泄漏问题

1. 问题背景 线上出现内存报警,通过dump文件,MAT分析,发现mysql-connector-java 有内存泄漏问题 2.问题分析 然后看大对象列表,NonRegisteringDriver 对象确实占内存比较多,里面村的数据库连接的虚引用占比较多 3.解…

ElementPlus ElTable展开行展开时动态获取数据后瞬间关闭

问题描述 el-table组件展开行, 展开时调用接口, 将响应数据添加到row上, 此时展开行会瞬间自动关闭 (data数据改变导致元素重构) 解决 el-table 上添加 row-key"id"属性

SMTP代理

背景: 我们有一个第三方的系统支持通过邮件发送报警,但是只支持基本的smtp功能,输入账号密码/邮箱地址/邮件服务器地址/端口号,却不支持加密功能,试了下starttls和ssl加密都不行。所以最终解决方案是加一个smtp代理来…

React 探秘(四):手撸 mini-react

文章目录 背景实现能力手撸开始demo流程拆解实现 render 函数构建 fiber 树处理工作单元实现 create fiber加入 diff fiber 的逻辑 commit 阶段hooks 实现 源码地址参考文章 背景 前文中学习了 react 中核心的 fiber 架构,时间切片,双缓存等&#xff0c…

【AIGC】ChatGPT提示词Prompt高效编写技巧:逆向拆解OpenAI官方提示词

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯OpenAI官方提示词的介绍OpenAI官方提示词的结构与组成如何通过分析提示词找到其核心组件 💯OpenAI官方提示词分析案例一:制定教学计划案例二&…

Ubuntu 22 安装 Apache Doris 3.0.3 笔记

Ubuntu 22 安装 Apache Doris 3.0.3 笔记 1. 环境准备 Doris 需要 Java 17 作为运行环境,所以首先需要安装 Java 17。 sudo apt-get install openjdk-17-jdk -y sudo update-alternatives --config java在安装 Java 17 后,可以通过 sudo update-alter…

多线程生产消费者模型

线程同步 互斥锁(互斥量)条件变量生产/消费者模型 一、互斥锁 C11提供了四种互斥锁: mutex:互斥锁。timed_mutex:带超时机制的互斥锁。recursive_mutex:递归互斥锁。recursive_timed_mutex:带超时机制的递归互斥锁…

理解 WordPress | 第五篇:页面构建器选择指南

WordPress 专题致力于从 0 到 1 搞懂、用熟这种可视化建站工具。 第一阶段主要是理解。 第二阶段开始实践个人博客、企业官网、独立站的建设。 如果感兴趣,点个关注吧,防止迷路。 什么是 WordPress 构建器 WordPress 构建器(Page Builder&am…

SpringBoot中扩展Druid的过滤器实现完整的SQL打印

文章目录 前言正文环境说明过滤器扩展配置数据源和过滤器数据库配置信息打印结果 前言 之前通过Mybatis 、Mybatis Plus 的拦截器扩展,实现自定义的Handler,拼接了完整的SQL。 本次使用 Druid 的过滤器来实现这一功能。输出一个完整的sql,并…

【Linux系统编程】第四十二弹---多线程编程全攻略:涵盖线程创建、异常处理、用途、进程对比及线程控制

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、线程创建 2、线程异常 3、线程用途 4、进程 VS 线程 5、线程控制 5.1、创建和等待线程 1、线程创建 线程能看到进程的大…

基于SSM的在线作业管理系统 -octopus-master(源码+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题,今天给大家介绍…

Anolis8防火墙安全设置

一、账号安全 1、禁止root远程登录 首先创建一个普通用户,然后修改系统配置禁止root登录,因为root作为系统默认的超级管理员,权限过大,日常操作使用易导致安全风险。 1.1、首先要建立一个新的登录用户 useradd username #增…

java8 list map 聚合求和

目标: 统计地市的总的完成数量,并根据总数来排序。 要把下面的数据: [{"city_name": "南京市","carrier_id": "2","carrier_name": "移动","city_id": "0&qu…

Linux下的systemd/service

开机自启任务 一. 概述 systemd 是现代 Linux 系统中管理系统和用户服务的工具,可以创建一个 systemd 服务来实现开机自启的任务 二. 操作 1. 创建 systemd 服务文件 使用文本编辑器创建一个新的服务文件: sudo vim /etc/systemd/system/test.servi…

医学影像类和医用电气设备测试标准整理

医学影像类和医用电气设备测试标准整理 1、GB 9706.225-2022 医用电气设备 第2-25部分:心电图机的基本安全和基本性能专用要求 GB 9706.225规定了在201.3.63中定义的通过自身或作为ME系统一部分,提供可供诊断用的心电图报告的心电图机基本安全和基本性能,以下称为ME设备。 …

git cherry-pick 小技巧

假设您现在的工作分支是 master,并且您想从远程仓库的 master 分支只挑选两个特定的 commit(例如 2343434 和 55676788)来更新您的本地分支,然后将更新后的结果强制推送回远程仓库。 ### 详细操作步骤1. **切换到您的工作分支**:b…

鸿蒙原生应用开发及部署:首选华为云,开启HarmonyOS NEXT App新纪元

目录 前言 HarmonyOS NEXT:下一代操作系统的愿景 1、核心特性和优势 2、如何推动应用生态的发展 3、对开发者和用户的影响 华为云服务在鸿蒙原生应用开发中的作用 1、华为云ECS C系列实例 (1)全维度性能升级 (2&#xff…

3^100的位数判断

3^100的位数判断 问题来源 字节面试&#xff0c;面试官提问&#xff1a;口算估计3^100的位数&#xff0c;或是给出位数估计范围。 解决方案 方法一&#xff1a; 该方法纯口算&#xff0c;可得一个较为准确的一个范围 2 100 < 3 100 < 4 100 2^{100}<3^{100}<…