当前位置: 首页 > news >正文

01-iptables防火墙安全

01-iptables防火墙安全

在这里插入图片描述

防火墙是什么

防火墙好比一堵真的墙,能够隔绝些什么,保护些什么。

防火墙的本义是指古代构筑和使用木制结构房屋的时候,为防止火灾的发生和蔓延,人们将坚固的石块堆砌在房屋周围作为屏障,这种防护构筑物就被称之为“防火墙”。其实与防火墙一起起作用的就是“门”。

如果没有门,各房间的人如何沟通呢,这些房间的人又如何进去呢?当火灾发生时,这些人又如何逃离现场呢?

这个门就相当于我们这里所讲的防火墙的“安全策略”,所以在此我们所说的防火墙实际并不是一堵实心墙,而是带有一些小孔的墙。

这些小孔就是用来留给那些允许进行的通信,在这些小孔中安装了过滤机制,就是防火墙的过滤策略了。

防火墙的作用

防火墙具有很好的保护作用,入侵必须首先穿越防火墙的安全防线,才能接触到机器。

防火墙功能

防火墙对流经他的网络通信进行扫描,这样能够过滤掉一些攻击,以免在其目标计算机上被执行。防火墙可以关闭不使用的端口。而且还能禁止特定端口流出通信。

最后,他可以禁止来自特殊站点的访问,从而防止来历不明入侵者的所有信息。

防火墙概念

防火墙一般有硬件防火墙和软件防火墙

硬件防火墙:在硬件级别实现部分防火墙功能,另一部分基于软件实现,性能高,成本高。

软件防火墙:应用软件处理逻辑运行于硬件平台之上的防火墙,性能低,成本低。

软件防火墙

Linux提供的软件防火墙,叫做iptables,可以理解为是一个客户端代理,通过iptables的代理,将用户配置的安全策略执行到对应的安全框架中,这个安全框架叫做netfilter

  • iptables是一个命令工具,位于用户空间,使用这个工具操作真正的框架也就是netfilter
  • 真正实现流量过滤的是netfilter,位于内核空间,共同组组成了Linux防火墙,来代替价格昂贵的硬件防火墙,实现数据包过滤,网络地址转换等。

在Centos7发行版下,firewalld防火墙取代啦iptables防火墙

  • iptables是将配置好的规则交个内核netfilter网络过滤器处理
  • firewalld服务是将配置好的防火墙规则交给内核层netfilter网络过滤处理
  • 一般选用iptables适用于大部分Linux操作系统

1.iptables是什么

iptables是开源的基于数据包过滤的防火墙工具

2.iptables使用场景

1、主机防火墙(filter表的INPUT链)。
2、局域网共享上网(nat表的POSTROUTING链)。半个路由器,NAT功能。
3、端口及IP映射(nat表的PREROUTING链),硬防的NAT功能。
4、IP一对一映射。

3.商用防火墙品牌

华为
深信服
思科
H3C
Juniper
天融信
飞塔
网康
绿盟科技
金盾
奇安信

第2章 iptables工作流程

iptables是采用数据包过滤机制工作的,所以它会对请求的数据包的包头数据进行分析,并根据我们预先设定的规则进行匹配来决定是否可以进入主机。

  • 1.防火墙是一层层过滤的。实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
  • 2.如果匹配上了规则,即明确表明是阻止还是通过,此时数据包就不在向下匹配新规则了。
  • 3.如果所有规则中没有明确表明是阻止还是通过这个数据包,也就是没有匹配上规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
  • 4.防火墙的默认规则是对应链的所有的规则执行完以后才会执行的(最后执行的规则)。

在这里插入图片描述
1760195825387)

什么是netfilter

网络过滤器

Netfilter,在Linux内核中的一个软件框架,用于管理网络数据包。不仅具有网络地址转换的功能,也具备数据包内容修改、以及数据包过滤等防火墙功能netfilter是一个linux内核自带的一个网络协议处理软件,提供过滤、修改数据包的功能。
主要定义了5个链,来定义数据报文的动态。- prerouting链---路由前
- input 链----本地上送
- output 链----本地发送
- forward 链----转发
- post routing 链---路由后这些链决定了数据报文,到底应该是 accept方形,还是drop丢弃。链是我们关心,以及要操作的一个重要点,也就是定义了防火墙的一条条规则。

nginx>server

1. 浏览器访问nginx,client的数据报文到达服务器网卡,此时的tcp/ip信息要经过内核的处理,再到达用户空间的nginx。10.0.0.1:33224 > 10.0.0.7:80 此时建立了一个TCP2.当nginx响应时,数据传输过程就完成了
nginx>client ,数据要从nginx到达客户端的目标地址3.请求与响应过程,都出现
原地址  目标地址4,这个请求响应的数据报文,都在内核空间,我们如果要实现防火墙功能,也就是到底要允许,还是要拒绝这些数据包?
我们就要设置关卡
符合条件的才被放行 accept
不符合的就被阻止  drop因此这个关卡,最基本的出现input关卡,output关卡其实这个关卡叫做链的概念

2.其他链也来了

刚才我们描述的关系,是很明确的,开源地址,目的地

10.0.0.1:32447 > 10.0.0.7:80

但有时候,客户端的报文请求目标地址,可能不是当前机器,而是另一台机器,还好netfilter支持forward转发数据包的流量

  • 因此就引入了iptables的3个链关卡
    • 转发前–preouting链
    • 转发链–forward链
    • 路由后—postrouting链

在这里插入图片描述

也就是说,我们打开iptables防火墙后,数据报文就会按照如图所示的规则走,产生不同的动作

1、报文若是转发,就不走input走foward链,最终从postrouting链离开服务器

  1. 若是报文直接发送给当前服务器,直接走input进入应用

常见链的处理关系

1.本服务器进程处理 clinet > prerouting > input > output > postrouting > client

  1. 数据包经过本机转发 client > prerouting > forward > postrouting

链的作用

在这里插入图片描述

关卡为什么会被称作链
是因为,数据报文再经过关卡的时候,会有层层规则,这很多条规则被串成一个链的概念。简单说就是,当数据报文要经过 某个链的时候,要遵守该链的每一个规则,如果有xx规则成立了,执行对应的动作。

3.表的概念

链的概念我们已经有了,就是一些列数据包限制行为的规则,

A类规则是对IP的过滤

B类规则是对数据包的修改转发

因此iptables里将相同功能的规则,合并为了表的概念,默认有4种功能的表,使用iptables的功能,也就被这4个表的功能限定了。

filter表,数据包过滤
nat表,网络地址转发
mangle表,拆解报文,修改报文
raw表,取消链路跟踪

4.图解数据包经过防火墙的完整流程

在这里插入图片描述

解释表与链的作用

在这里插入图片描述

filter表

1. filter是防火墙默认表,主要和主机自身数据包有关,负责防火墙的数据包进入、离开;filer表有三个链,控制服务器防火墙功能- input,过滤目标地址就是本机的数据包
- forward,转发经过本机的数据包,实现数据包转发的功能
- output,本机需要发出去的数据包

NAT表

1. nat表,主要负责网络地址转换,也就是可以修改
源地址的ip:port
目标地址的ip:port
使用场景:
和主机本身无关,而是实现如局域网共享上网,或者端口服务转换。工作场景:
- 利用iptables实现网关功能,实现postrouting共享上网
- 实现外部IP地址 1 对1的映射关系,实现dmz网络区域
- web服务的,单个端口的映射关系(postrouting)因此nat表就是实现,如交换机的功能。三个链
- ouput链,和主机放出去的数据包有关,修改主机发出的数据包目的地。
- prerouting链,数据包到达防火墙(filter)前,进行规则判断,如修改数据包的目的地,目的端口。
如将80端口的请求数据包,转发到9090端口- postrouting链,数据包离开防火墙之后,修改数据包的源地址。
如,笔记本,vmware的机器,都是局域网的地址,但是被路由器将源地址,改成了公网的地址。

看到这大家记住浏览的转发就好了。

http://www.dtcms.com/a/469246.html

相关文章:

  • Docker存储技术全解析:分层与持久化
  • 分布式专题——39 RocketMQ客户端编程模型
  • 物联网二级平台设计与实现:从Home Assistant到JetLinks的设备协同架构实践
  • 分布式文件存储 RPC 服务实现
  • 在哪些软件上建设网站市场营销方案怎么做
  • 《小小梦魇3》今日发售!用UU远程手机躺玩通关
  • Jenkins Pipeline post指令详解
  • 系列文章<一>(从LED显示问题到非LED领域影像画质优化:揭秘跨领域的核心技术):从LED冬奥会、奥运会及春晚等大屏,到手机小屏,快来挖一挖里面都有什么
  • 泊松分布解题步骤
  • Postman API 测试使用指南:从入门到精通
  • VisualSVN-Server-2.5.26 TortoiseSVN-1.7.21
  • SVN 检出操作
  • 深度相机初探:立体视觉(Stereo Vision)、结构光(Structured Light)、TOF(Time of Flight,飞行时间)
  • SVN 生命周期
  • 武昌做网站公司互联网营销顾问是做什么的
  • 辉视融合服务器:强劲驱动电视信息发布,直播点播流畅运行,赋能高效传播
  • MyBatis-Spring-Boot快速上手指南
  • Linux运维实战:系统及服务管理(视频教程)
  • 服务器运维(四)服务器漏洞扫描工具与审查——东方仙化神期
  • SolidWorks服务器多人使用方案
  • 安卓手机app开发软件下载网站关键词优化效果
  • Redis中的RPOP、BRPOP、LPOP 和 BLPOP
  • R语言学习
  • 【C++】C++11 新特性详解(下)
  • 成都市公园城市建设管理局网站济南百度推广开户
  • 网站的技术建设公司网站建设 wordpress
  • 联想小新平板Pro GT/Y700四代平板无需解锁BL获取root权限方法
  • Linux系统安装PGSQL实现向量存储
  • 跨语言协作新范式:阿里云Qwen-MT与DooTask的翻译技术突破
  • LLM 笔记 —— 04 为什么语言模型用文字接龙,图片模型不用像素接龙呢?