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. 概述 随机接入…

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

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

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,您可以利用本地…

我与Linux的爱恋:消息队列

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

LWIP和FATFS 实现 FTP 服务端

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

Java基础访问修饰符全解析

一、Java 访问修饰符概述 Java 中的访问修饰符用于控制类、方法、变量和构造函数的可见性和访问权限,主要有四种:public、protected、default(无修饰符)和 private。 Java 的访问修饰符在编程中起着至关重要的作用,它…

llvm源码编译

0x00 获取llvm源码 获取llvm项目源码:git clone https://github.com/llvm/llvm-project.git 但是,该项目较大,且直接从github下载源码可能会超时失败。可利用gitee的镜像项目进行clone:git clone --depth 1 https://gitee.com/m…

SpringBoot源码-Spring Boot启动时控制台为何会打印logo以及自定义banner.txt文件控制台打印

1.当我们启动一个SpringBoot项目的时候,入口程序就是main方法,而在main方法中就执行了一个run方法。 SpringBootApplication public class StartApp {public static void main(String[] args) {// testSpringApplication.run(StartApp.class);} }publi…

Uniad复现学习

在优云平台部署训练,加速训练。 关于UCloud(优刻得)旗下的compshare算力共享平台 UCloud(优刻得)是中国知名的中立云计算服务商,科创板上市,中国云计算第一股。 UCloud(优刻得)旗下的Compshare算力共享平台具有以下优点…

数学建模——Topsis法

数模评价类(2)——Topsis法 概述 Topsis:Technique for Order Preference by Similarity to Ideal Solution 也称优劣解距离法,该方法的基本思想是,通过计算每个备选方案与理想解和负理想解之间的距离,从而评估每个…

基于单片机的四位数码管检测有毒气体

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,通过滑动变阻器连接ADC0832数模转换器模拟有毒气体浓度检测,通过数码管实时显示,如果超过阈值,则蜂鸣器报警,灯光亮起。按…

小程序 - 比较数字大小

小程序交互练习 - 比较数字大小的小程序 目录 比较数字大小 功能描述 准备工作 页面内容 设置页面事件 页面绑定事件 比较大小 按钮绑定事件 比较事件 设置结果显示 页面样式 功能截图 总结 比较数字大小 本案例将实现“比较数字大小”微信小程序,它的…

windows下用mysqld启动免安装mysql

windows系统可以下载免安装版本,就是绿色版,里面包含mysql运行的所有必要条件。 ![[Pasted image 20241128231459.png]] 启动步骤: 解压,然后在解压目录创建my.ini。 [mysqld] # 设置13306端口 port13306# 设置mysql的安装目录…

windows安装itop

本文介绍 win10 安装 itop 安装WAMP集成环境前 先安装visual c 安装itop前需要安装WAMP集成环境(windowsApacheMysqlPHP) 所需文件百度云盘 通过网盘分享的文件:itop.zip 链接: https://pan.baidu.com/s/1D5HrKdbyEaYBZ8_IebDQxQ 提取码: m9fh 步骤一&#xff1…