5、防火墙一

防火墙的含义

firewalld:隔离功能

病毒防护:

1、入侵检测系统:在互联网访问的过程中,不阻断任何网络访问,也不会定位网络的威胁,提供告警和事后的监督,类似于监控。

2、入侵防御系统:透明工作模式,在判定为攻击行为或者是病毒威胁时,主动的隔断。

防水墙:

防止内部信息泄露的产品,网络,外设接口等等全访问的实现监控。

防火墙的隔离规则:

1、对进出网络或者主机的数据包基于一定的规则进行检查,匹配规则的则方行,不匹配的就会隔离在主机之外。防火墙会配置在网络边缘或者主机边缘。有主机防火墙和网络防火墙

Linux系统主机自带的防火墙:

iptables:centos7之前是系统的默认防护墙

firewalld:centos7系统的默认防护墙

ufw:ubuntu的防火墙,自带的,默认就没有规则。

iptables

属于用户态防火墙,通过表匹配链——>链中的规则对数据包放行或者拒绝进行匹配。

表是自带的

链是自有的

规则是人工配置,规则一旦配置,立即生效,不需要重启。

四表五链

四表

raw表:用来控制数据包的状态跟踪,决定是否跳过后续的处理流程。

mangle表:用于修改数据包的头部信息。

nat表:网络地址转换,改变数据包的源地址和目的地址。用于内网和外网之间通信。

filter表:用于过滤数据包,可以控制数据包的进出,以及接受或者拒绝数据包。

表的优先级

raw——>mangle——>nat——>filter(不指定表名时,默认就是filter)

五链

INPUT:处理数据包进入本机的规则

OUTPUT:处理本机发出的或者其他请求响应的数据包的规则,一般不做限制。

FORWARD:处理数据包转发到其他主机的规则

PREROUTING:处理数据包进入本机之前的规则(地址转换)

POSTOUTING:处理数据离开本机之后的规则(地址转换)

规则内的匹配顺序:

1、自上而下按照顺序依次进行检查,找到了匹配的规则即停止。

2、链内没有规则,就会按照链的默认策略进行处理。

命令格式

iptables   -t   表名(默认就是filter表)   管理选项   链名   匹配的条件   -j   控制类型 

管理选项:

  • -A:在指定链的末尾添加一条规则
  • -I(大写):在注定链中插入一条新的规则,根据序号来进行插入
  • -P:指定链的默认规则(慎用,没有特殊需求不要修改)
  • -D:删除链里的规则,根据规则的序号进行删除
  • -R:修改,替换某一条规则(不常用)
  • -L:查看规则
  • -n:数字化的展示规则的字段
  • -v:查看详细的信息
  • --line-number:查看规则时带有编号
  • -F:清除链中的所有规则(慎用)
  • -X:清空自定义链的规则

匹配条件:

  • -p:匹配数据包的协议
  • -s:匹配数据包的源地址
  • -d:匹配数据包的目的地址
  • -i:指定数据包进入本机的网络接口
  • -o:数据包离开本机使用的网络接口
  • --sport:指定源端口
  • --dport:指定目的端口

控制类型:

  • ACCEPT:允许数据包通过
  • DROP:直接丢弃数据包。没有任何回显信息。
  • REJECT:拒绝数据包通过,但是会有一个回显信息。
  • SNAT:修改数据包的源地址
  • DNAT:修改数据包的目的地址

案例

查看规则-vnL

以上可以看出我们还未有新加入的规则

以上可以看出我们加入了一条新的规则,编号为1。

添加规则-A

拒绝其他主机ping本机-p

如我们在filter表中插入一个规则到INPUT链,匹配的协议是icmp。拒绝其他主机ping本机。

根据序号插入规则-I

如果我们想解除拒绝其他主机ping本机这条规则,使用iptables -A INPUT -p icmp -j ACCEPT命令,虽然能添加成功,但是依然没有效果,必须要将ACCEPT规则插入到上一条REJECT规则之前,才能生效。

拒绝指定主机ping本机-s

-s可以指定IP地址,REJECT和DROP都是表示拒绝的意思,但是DROP没有任何回显信息,如下

拒绝指定主机访问本机指定端口

如我们指定192.168.254.3这个主机访问本机指定端口80(nginx)

由上可以看出,加入这个规则后,192.168.254.3这个主机无法访问我们本机的nginx服务。

如我们拒绝自己主机对22(ssh)发出数据

这时候可以看出我们的ssh已经断开了

删除规则-D

删除规则-D要配合指定的序号,如我们删除序号2对应的规则

修改规则-R

修改链的默认策略-P

禁止数据访问设备-i

如禁止254这个网段从ens33设备进入本机

拒绝多个端口-m   multiport

-m:扩展模块

-m   multiport   --dport   目的端口列表

-m   multiport   --sport   源端口列表

禁止20这个ip禁止访问本机的端口80和22

方法1:这个方法必须是端口数小的在前面,大的在后面。

方法2:使用 -m   multiport 的形式,没有这个端口放前放后之说。

拒绝范围性ip地址-m   iprange

-m   iprange   --src-range   源ip地址的范围

-m   iprange   --dst-range   目的ip地址的范围

禁止 ip地址192.168.254.3-8 的主机访问本机的80端口

拒绝范围性mac地址-m   mac

-m   mac   --mac-source   源mac地址

策略的保存

策略添加完之后,只是暂时保存,并不是永久保存,需要添加到指定配置文件才能永久保存。

Ubuntu的保存

1、永久保存

先安装软件:apt -y install iptables-persistent

永久保存策略的配置文件在 /etc/iptables/ 目录下,分别是ipv4和ipv6配置文件。

iptables-save  >>  /etc/iptables/rules.v4        #策略永久保存到ipv4配置文件当中

这时候查看ipv4配置文件,以生产我们需要保存的策略

2、先将策略保存到指定文件,再直接导入到配置当中,这种方式虽然不是保存到配置文件中,但也算永久保存。

centos7的保存

先安装软件:yum -y install iptables-services

永久保存策略的配置文件是 /etc/sysconfig/iptables

iptables-save  >>  /etc/sysconfig/iptables       #永久保存

通信的要素

三大要素:协议、ip、端口

四大要素:源ip、目的ip、源端口、目的端口

五大要素:协议、源ip、目的ip、源端口、目的端口

端口,就是对应的应用在主机上的唯一标识。

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

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

相关文章

5G学习笔记之随机接入

目录 1. 概述 2. MSG1 2.1 选择SSB 2.2 选择Preamble Index 2.3 选择发送Preamble的时频资源 2.4 确定RA-RNTI 2.5 确定发送功率 3. MSG2 4. MSG3 5. MSG4 6. 其它 6.1 切换中的随机接入 6.2 SI请求的随机接入 6.3 通过PDCCH order重新建立同步 1. 概述 随机接入…

【人工智能】探索自然语言生成(NLG):用GPT生成文本

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 自然语言生成(Natural Language Generation, NLG)是自然语言处理(NLP)领域的重要分支,旨在生成符合语法和语义的自然语言文本。近年来,基于深度学习的生成式预训练模型(GPT)在NLG任务中取得了巨大…

【落羽的落羽 C语言篇】指针·之其五

文章目录 一、冒泡排序二、qsort排序1. qsort使用指南2.回调函数3. qsort函数的模拟实现 一、冒泡排序 冒泡排序的核心思想就是:两两相邻的元素进行比较和交换。 现在,我们想编写一个函数,使它能够运用冒泡排序的原理,由小到大排…

前端热门面试题目[一](HTML、CSS、Javascript、Node、Vue、React)

如何设计一个前端页面,实现PC端访问展示Web应用,移动端访问展示H5应用? 为了实现这一功能,通常需要使用响应式设计或者服务器端检测用户设备并返回相应的页面。以下是一些实现方法: 响应式设计:通过CSS媒…

【知识科普】简单讲讲Socket通讯协议

文章目录 概述一、Socket协议的基本概念二、Socket协议的类型三、Socket协议的工作原理四、Socket协议的特点五、Socket协议的应用场景 报文格式一、Socket协议报文结构二、关键字段详解三、报文示例四、注意事项 Java实现socket编程服务器端代码客户端代码运行步骤 概述 Sock…

Ajax基础总结(思维导图+二维表)

一些话 刚开始学习Ajax的时候,感觉很模糊,但是好像学什么都是这样的,很正常,但是当你学习的时候要持续性敲代码,边敲代码其实就可以理解很多了。然后在最后的总结,其实做二维表之后,就可以区分…

具有多个表盘、心率传感器、指南针和游戏的 DIY 智能手表

在此,我们将使用所学到的知识,结合使用硬件和软件组件从头开始创建自己的智能手表。在项目的这一部分,您将被指导完成组装硬件组件、设置软件以及配置智能手表的设置和功能的过程。到本项目结束时,您将拥有一款功能齐全的智能手表…

算法魅力之牛叉的前缀和

1.什么是前缀和 前缀和算法(Prefix Sum Algorithm) 是一种常用的算法技巧,用于快速计算数组的某些子数组的和。它通过提前计算出数组中元素的累加和,来加速后续的区间和查询,特别适用于需要频繁查询子数组和的场景。 …

Java JVM(内存结构,垃圾回收,类加载,内存模型)

一、JVM 主要功能 1. 什么是 jvm? JVM(Java Virtual Machine):负责运行 Java 程序的核心组件。它将 Java 字节码(.class 文件)解释或编译为机器代码,并提供内存管理、垃圾回收和线程管理等功能。 JRE (J…

机器学习基础之集成学习

集成学习(Ensemble Learning)是一种强大的机器学习方法,它通过结合多个模型的预测结果来提高整体的学习效果。集成学习方法在许多实际应用中表现出了优秀的性能,尤其在处理复杂问题时,它常常能够比单一模型取得更好的结…

33 基于单片机的智能窗帘控制系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采用DHT11温湿度传感器检测温湿度,滑动变阻器连接ADC0832数模转换器转换模拟,光敏传感器,采用GP2D12红外传感器,通过LCD1602显示屏显示…

使用docker-compese部署SFTPGo详解

官网:SFTP & FTP as a Managed Service (SaaS) and On-premise 一、SFTPGo简介 SFTPGo 是一款功能强大的文件传输服务器软件。它支持多种协议(SFTP、SCP、FTP/S、WebDAV、HTTP/S)和多个存储后端。 借助 SFTPGo,您可以利用本地…

各大浏览器(如Chrome、Firefox、Edge、Safari)的对比

浏览器如Chrome、Firefox、Edge等在功能、性能、隐私保护等方面各有特点。以下是对这些浏览器的详细对比,帮助你选择合适的浏览器。 1. Google Chrome 市场份额:Chrome是目前市场上最流行的浏览器,约占全球浏览器市场的65%以上。 性能&#…

我与Linux的爱恋:消息队列

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:Linux的学习 文章目录 消息队列的引入以及基本概念**​消息队列的基本概念** 消息队列与命名管道和共享内存的不同消息队列的原理消息队列工作流程 System V 消息队列的主要函数msggetms…

黑马2024AI+JavaWeb开发入门Day06-JDBC-Mybatis飞书作业

视频地址:哔哩哔哩 讲义作业飞书地址:day06作业 基础性作业,加油! 1、SQL语句的编写 -- 1. 查询所有的性别为男(gender 为 1)的 讲师 (job 为 2) , 并根据入职时间, 对员工进行升序排序 select * from emp where gender 1 an…

【java-Neo4j 5进阶篇】- 1.批量新增数据

系列文章目录 之前的系列文章: 一、概述篇:https://blog.csdn.net/qq_40570699/article/details/143024984 二、入门篇:https://blog.csdn.net/qq_40570699/article/details/143905723 三、进阶篇: 1.批量导入数据 文章目录 系列文章目录需求场景一、解决思路二、代码1.将属性…

tp6 合成两个pdf文件(附加pdf或者替换pdf)

最近在做项目有个需求,项目中需要根据设置的html合同模板自动生成PDF合同供客户下载签署,并根据回传的已签署合同尾页来替换原来未签署合同的尾页,合成新的已签署合同文本。 读取两个PDF文件并合成的 具体代码记录如下: use set…

LWIP和FATFS 实现 FTP 服务端

目录 一、前言 二、LWIP 和 FTP 简介 1.LWIP 2.FTP 三、实现 FTP 服务端的主要步骤 1.初始化 LWIP 2.创建 FTP 服务器任务 3.处理客户端连接 4.实现 FTP 命令处理 5.文件系统操作 6.错误处理和日志记录 四、示例代码 1.创建FTP任务 2. FTP任务代码 3.处理交互数据…

3D Bounce Ball Game 有什么技巧吗?

关于3D Bounce Ball Game(3D弹球游戏)的开发,以下是一些具体的技巧和实践建议: 1. 物理引擎的使用: 在Unity中,使用Rigidbody组件来为游戏对象添加物理属性,这样可以让物体受到重力影响并发…

C++通透讲解设计模式:单一职责原则

C通透讲解设计模式:单一职责原则 理解单一职责原则 这里我总结了一个规律,可以用一句话来表示: 永远只做自己分内的事情 注意,这个“分内的事情”是逻辑上的,什么意思呢?举几个例子。 例子 例子1 我是…