shell第九章iptables防火墙

news2025/1/19 17:02:46

防火墙:隔离功能

部署点:部署在网络边缘,或者主机边缘,在工作中,防火墙的主要作用,决定那些数据可以被外网访问,以及哪些数据可以进入内网访问

讨论防火墙,主要就是在网络层进行讨论

安全技术:

1,入侵检测系统:检测数威胁,病毒,木马,不会阻断网络访问,时候提供报警和监控。

2,入侵防御系统:一旦检测出威胁,会立即予以阻断,主动的方式保护网络安全。透明模式工作的,一般都是在线部署(所有数据进出的必经之路)

现在市面上的大部分的防火墙都是上述二者的结合体。

防水墙:water wall,主要是防止内部资料信息泄露。

防火墙的种类:

1,软件防火墙:360,卡巴斯基,金山毒霸,IPtables,firewall

2,硬件防火墙:路由器,交换机,三层交换机

防火墙的划分方式:

1,保护范围

)1,主机防火墙:服务范围就是当前自己的主机。

)2,网络防火墙:必经之路,所有数据的进出都要通过这里。

2,实现方式

)1,硬件防火墙,既有专业的硬件来自实现防火墙功能,又有软件来进行配合。(价格高)

)2,软件防火墙:主要靠自带代码判断。

3,网络协议划分

)1,网络层:(数据包)包过滤防火墙

)2,应用层(代理服务器):设置数据的进出。

Linux防火墙的种类

1,firewalld centos7专门自带的

2,iptable 包过滤防火墙

3,selinux 自带的安全工具

他们集合在一个内核中:netfilter组件

iptable 包过滤防火墙 工作地点以及作用

1,工作在:网络层

2,作用:针对数据包进行过滤和限制

 

过滤数据包:ip地址——端口——协议。都可以在iptable中进行配置,可以限制,也可以放行

协议:主要讨论的就是tcp

iptable的构成和工作机制:

iptable的组成本部分:四表五链组成(selinux,也是一个表,不在我们讨论范围之内。)

1,四表

)1,raw:链接跟踪机制,加快封包穿过防火墙的速度,主要是数据包的跟踪。

)2,mangle:数据标记。

)3,nat:地址转换表。

)4,filter:过滤规则表,根据规则来定义或者过滤符合条件的数据包,是iptable的默认表。

四表的优先级:

raw——》mangel——》nat——》filter

 

2,五链:容纳各种规则

)1,INPUT:处理数据包进入本机的规则。

)2,OUTPUT:处理数据包发出的规则,一般是不做处理的。

)3,preouting:处理数据包进入的规则。(结合地址转换使用)

)4,postouting:处理数据包离开本机之后的规则。(结合地址转换使用)

)5,FORWARD:处理数据转发的规则。

iptable的规则:

表里面有链,链里面有规则,规则就是我们自定义的对于数据包的控制命令

匹配顺序:

1,根据表的优先级匹配,在表中从上到下进行检查,找到匹配规则,立即停止,不在表中向下继续查找,如果匹配不到规则,会按照链的默认规则进行处理。

2,报文流向

)1,流入本机:prerouting——>iuput——>用户进程(httpd服务)——>请求访问——>响应——>数据要返回用户

)2,流出本机:httpd——>响应报文——>output-——>postrouting(是否需要做地址转换——>用户

)3,转发:数据包进来,转发肯定不是同一网段,路由器转发——>数据包出去,不允许转发,数据包直接丢弃

 

iptable命令格式

iptable [-t 表名](不指定表名,默认就是filter表) +管理选项 +[链名] [匹配条件] [-j 控制类型]

管理选项命令:(基本都是大写)

-A :表示在链的末尾添加一条

-I(大写的i) :在链中插入一条新的规则,可以指定序号。-I 后面跟上数字,表示序号

-P:修改链的默认策略

-D:删除

-R:修改,替换规则

-L:查看链中的规则(一般和vnL结合使用)

vnL:1,v:显示详细信息

2,n:把规则以数字形式进行展示

vnL --line-number 查看规则的序号

-F :清空链中的所有规则,慎用

匹配条件:(基本都是小写)

-p:指定匹配的协议类型。

-s:指定匹配的源ip地址。

-d:指定匹配数据包的ip地址。

-i:指定数据包进入本机的网络接口。

-o:指定数据包离开本机使用的网络接口。

--sport:指定源端口号。

--dport:指定目的的端口号。

控制类型:(全部大写)-j +控制选项

ACCEPT:允许数据包通过。

DROP:拒绝,直接丢弃数据包,不给出任何信息回应。

REJECT:拒绝,会给响应信息。

SNAT:修改数据包的源ip地址

DNAT:修改数据包的目的地址

指定多个ip地址用(逗号),隔开

在生产中。iptables所有的链的默认规则都是DROP

如何修改链的默认规则

iptables -P INPUT DROP

iptables -A INPUT -P tcp --dport 22 -j ACCEPT

iptables -A INPUT -P tcp --dport 80 -j ACCEPT

实验:真个网段禁止访问80端口的服务

iptables -A INPUT -s 192.168.233.0/24 -p tcp --dport 80 -j REJECT

隐藏扩展模块:

-p 指定协议时,tcp,udp指明了是什么协议,就不需要再用-m指定扩展模块

指定端口,可以用冒号的形式,也可以用-m隐藏模块来实现

-m 可以用明确的形式指出类型,多端口,mac地址,ip地址,数据包的状态

iptables -A INPUT -p tcp -m multiport --dport 22,20,443,80 -j REJECT

-m multiport :指定多个端口,多个端口号逗号分开

ip范围:

-m iprange --scr-range:源ip地址的范围

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

iptables -A INPUT -p icmp -m iprane -- src-range

mac地址

-m mac --mac-source

iptables的备份与还原:

1,写在命令行当中的都是临时配置

2,把我们的规则配置在服务当中,形成永久生效

iptables -save > /opt/data 备份,导出

cat /etc/sysconfig/iptables

cat /opt/data > /etc/sysconfig/iptables

iptables -restore < /opt/data 导入

永久生效要写入 /etc/sysconfig/iptables配置文件中

自定义链:

1,创建自定义链:iptables -N +自定义链名(没有指定表,就默认在filter表中添加一个自定义链)

2,给自定义链改名:iptables -E +原链名 +新链名

3,添加新的规则 iptables -I ky30 -p icmp

iptables -I INPUT -p icmp -j ky30 创建在自定义链当中的规则,需要添加到默认链中,才能够使用

-j ky30 自定义的链名。

4,删除自定义链接

)1,自定义链的规则被默认链使用,要先在默认链当中国删除,再把自定义链当中的规则删除,最后才能把自定义链删除 iptables -X ky30 (自定义链名)

SNAT和DNAT

SNAT:修改数据包的源ip地址

内网到外网——>源

DNAT:修改数据包的目的地址

外网到内网——>目的

 

10.0.0.10 192.168.233.10

 

web服务器 网关服务器 网关服务器 客户端

地址转换

12.0.0.10 源 192.168.233.10 web服务器——网关服务器——12.0.0.10——网关服务器——客户端发起请求

web服务器响应请求——网关服务器——网关服务器——客户端

-t nat :指定表名

-A PREROUTING

-d :指定目的ip

-p:指定协议

--dport :指定端口号

-j DNAT:目标地址转换

--to 192.168.233.10:80

所有外部来的访问ip地址都变成11.0.0.11来访问内网,目标端口为80,协议是tcp协议的流量转发到192.168.233.10:80的端口、

外部客户端可以通过10.0.0.11:80来访问内部服务192.168.233.10:80的http服务

/etc/sysctl.conf

修改内个参数,永久生效

firewalld:防火墙,包过滤防火墙。网络层centos7自带的默认防火墙,取代iptables

两种配置模式:

1,运行时配置

2,永久配置

iptable是静态防火墙

firewalld是动态防火墙

firewalld按照区域来进行划分,一共有9个区域

9个区域的作用:

trusted:信任区域,允许所有的流量接入。

public:公共区,默认区域,默认只允许ssh和dhcpv6两个预定义服务的流量可以传入,其余都是拒绝。

external:外部区域,只允许ssh和dhcpv6两个预定义服务的流量可以传入,其余都是拒绝。如果通过此区域转发的ipv4流量,可以进行地址伪装。

home:家庭区域,只允许ssh和dhcpv6两个预定义服务的流量可以传入,其余都是拒绝。

internal:内部区域,默认值和home一个作用

work:工作区域,只允许ssh和dhcpv6两个预定义服务的流量可以传入,其余都是拒绝。

dmz:隔离区域,也称为非军事区域,只允许ssh和dhcpv6两个预定义服务的流量可以传入,其余都是拒绝。

block:限制区域,所有的流量都拒绝

drop:丢弃区域,直接丢弃,没有显回信息

预定义服务:

ssh:远程连接协议

dhcpv6:通过dhcpv6服务器进行报文交互,获取ipv6的地址

ipp:编程语言交互

samba:打印机

mdns:主机名地址解析,主要解析小型网络的ip地址

面试题:

表里时链,链里是股则,从上到下匹配,匹配到立即停止

Linux系统如何抓包?

tcpdump来实现Linux抓包,自带的工具

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net192.168.233.0/24 -w /opt/target.cap

指定抓包的协议时tcp

-i ens33 只抓经过ens33的数据包

-t 不显示时间戳

-s0 抓取完整的数据包

and 目的端口是80,and 192.168.233.0/24数据包的源地址

-w 把抓包的文件保存

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

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

相关文章

无涯教程-Perl - setsockopt函数

描述 此函数将SocketoptionsOPTNAME的值设置为SOCKET上指定级别的OPTVAL值。您需要导入Socket模块,以获取Tabl中显示的OPTNAME的有效值 语法 以下是此函数的简单语法- setsockopt SOCKET, LEVEL, OPTNAME, OPTVAL返回值 如果失败,此函数返回undef&#xff1b;如果成功,则返…

java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfiguration

错误&#xff1a; java.lang.NoClassDefFoundError: org/apache/tez/dag/api/TezConfigurationat org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolSession$AbstractTriggerValidator.startTriggerValidator(TezSessionPoolSession.java:74)at org.apache.hadoop.hive.ql.e…

数据集成革新:去中心化微服务集群的无限潜能

在当今数据密集型的业务环境下&#xff0c;传统的集中式架构已经难以满足高可用性和高并发性的要求。而去中心化微服务集群则通过分散式的架构&#xff0c;将系统划分为多个小型的、独立部署的微服务单元&#xff0c;每个微服务负责特定的业务功能&#xff0c;实现了系统的高度…

bytesec靶场

靶场下载 https://www.vulnhub.com/entry/hacknos-os-bytesec,393/ 下载完成后进入配置修改网卡 教程 配置 第一步&#xff1a;启动靶机时按下 shift 键&#xff0c; 进入以下界面 第二步&#xff1a;选择第二个选项&#xff0c;然后按下 e 键&#xff0c;进入编辑界面 将…

python快速两两元素求相似矩阵

目录 1. 计算相似度矩阵2. 基于sklearn 1. 计算相似度矩阵 计算相似度矩阵的方法有很多种&#xff0c;发现了sklearn中直接有通过计算余弦相似度得到相似度矩阵的方法 1 sklearn.metrics.pairwise.cosine_similarity # 余弦相似度 2 sklearn.metrics.pairwise.pairwise_distan…

【NetCore】09-中间件

文章目录 中间件&#xff1a;掌控请求处理过程的关键1. 中间件1.1 中间件工作原理1.2 中间件核心对象 2.异常处理中间件:区分真异常和逻辑异常2.1 处理异常的方式2.1.1 日常错误处理--定义错误页的方法2.1.2 使用代理方法处理异常2.1.3 异常过滤器 IExceptionFilter2.1.4 特性过…

NTN(六) switchover

NTN中的switchover包括feeder link switchover和 serving link switch。所谓feeder link switchover就是将feeder link从source NTN 网关更改为特定 NTN payload的target NTN 网关的过程。 feeder link switchover是网络层过程。 而service link switch则是指serving NTN paylo…

OpenCV分析tfboys十周年演唱会灯牌大战结果

前言 在Android音视频开发中&#xff0c;网上知识点过于零碎&#xff0c;自学起来难度非常大&#xff0c;不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》&#xff0c;结合我自己的工作学习经历&#xff0c;我准备写一个音视频系列blog。本文是音视频系…

【代码质量】认知复杂度(COGNITIVE COMPLEXITY)一种衡量可理解性的新方法

白皮书地址 摘要&#xff1a;圈复杂度最初是作为“可测试性和模块控制流的“可维护性”。虽然它擅长于衡量前者&#xff0c;但它的数学模型不能产生一个令人满意的值来衡量后者。本文描述一种打破数学度量模型的新度量模型来评估代码&#xff0c;以弥补圈复杂度的缺点&#xf…

【科研论文配图绘制】task1 掌握科研绘图的基本知识

【科研论文配图绘制】task1 掌握科研绘图的基本知识 写在最前 8月份Datawhale组队学习&#xff0c;写下该博客记录学习内容 1.科研论文配图的分类与构成 2.科研论文配图的格式和尺寸 3.科研论文配图中的字体和字号设置 4.科研论文配图的版式设计、结构布局和颜色搭配 占个…

【校招VIP】CSS校招考点之选择器优先级

考点介绍&#xff1a; 选择器是CSS的基础&#xff0c;也是校招中的高频考点&#xff0c;特别是复合选择器的执行优先级&#xff0c;同时也是实战中样式不生效的跟踪依据。 因为选择器的种类较多&#xff0c;很难直接记忆&#xff0c;可以考虑选择一个相对值&#xff0c;比如id类…

day4 IO模型

IO多路复用 1.select函数 服务器&#xff1a; 客户端 poll函数 客户端&#xff1a;

《Java-SE-第三十八章》之注解

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页&#xff1a;KC老衲爱尼姑的博客主页 博主的github&#xff0c;平常所写代码皆在于此 共勉&#xff1a;talk is cheap, show me the code 作者是爪哇岛的新手&#xff0c;水平很有限&…

每日记--前端解决方案--el-select下拉样式-el-option内容过长-鼠标悬停到文字不修改光标样式-设置透明

文章目录 el-select下拉样式el-select中el-option内容过长解决办法鼠标悬停到文字不修改光标样式设置透明 el-select下拉样式 element-ui自带样式设置popper-class el-select中el-option内容过长解决办法 问题&#xff1a;像这样选项太长了&#xff0c;不好看 解决&#xf…

关于Linux文件系统只读问题的修改笔记

1.问题 2. 原因 系统异常关机或者代码修改错误导致硬盘挂载出现问题开启只读模式&#xff0c;但是重启有时候可以解决。 3.解决方法 1. mount查看那个挂载的硬盘出现问题(ro标识只读) mount | grep ro2.找到硬盘&#xff0c;重新挂载即可 sudo mount -o remount,rw /sys/f…

半导体市场震荡,硅晶圆价格下修成焦点 | 百能云芯

半导体市场状况不容乐观&#xff0c;原本被半导体晶圆制造厂视为稳定业绩的长期合同开始面临松动。行业内传出&#xff0c;国内重要的晶圆代工大厂已向日本硅晶圆供应商提出要求降低明年合同价格的请求&#xff0c;以共同应对困境&#xff0c;双方目前正处于激烈的博弈中。鉴于…

测试相关Liunx基础知识

Linux的历史和安装 基本常识 Liunx目录结果 常见

1€滤波器(1 Euro Filter)使用介绍

怎么调整欧拉角x、y、z的抖动问题&#xff1f;

python+django+mysql项目实践四(信息修改+用户登陆)

python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 用户信息修改 修改用户信息需要显示原内容,进行修改 通过url传递编号 urls views 修改内容需要用数据库的更新,用update进行更新,用filter进行选择 输入参数多nid,传递要修…

数据结构--有向⽆环图 描述表达式

数据结构–有向⽆环图 描述表达式 有向⽆环图 \color{red}有向⽆环图 有向⽆环图&#xff1a;若⼀个有向图中 不存在环 \color{red}不存在环 不存在环&#xff0c;则称为有向⽆环图&#xff0c;简称 D A G 图 \color{red}DAG图 DAG图&#xff08;Directed Acyclic Graph&#x…