1、什么是防火墙
防火墙也被称为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统,通常,防火墙可以保护内部/私有局域网免受外部攻击,并防止重要数据泄露。它实际上是一种隔离技术。在没有防火墙的情况下,路由器会在内部网络和外部网络之间盲目传递流量且没有过滤机制,而防火墙不仅能够监控流量,还能够阻止未经授权的流量。
除了将内部局域网与外部Internet隔离之外,防火墙还可以将局域网中的普通数据和重要数据进行分离,所以也可以避免内部入侵。
2、防火墙的简单分类
硬件防火墙:硬件防火墙允许通过端口的传输控制协议(TCP)或用户数据报协议(UDP)来定义阻塞规则,例如禁止不必要的端口和IP地址的访问。
软件防火墙:软件防火墙就像互连内部网络和外部网络的代理服务器,它可以让内部网络不直接与外部网络进行通信。
3、防火墙的安全管理架构:netfiler
简单来说,Netfire是搭载在内核上的火墙管理框架。Netfilter 提供了整个防火墙的框架,各个协议基于Netfilter 框架来自己实现自己的防火墙功能。每个协议都有自己独立的表来存储自己的配置信息,他们之间完全独立的进行配置和运行。当然火墙就是对应的某种安全策略,所以我们也可以称Netfiler为火墙。
4、防火墙的管理工具:iptables
在Linux中,火墙的管理工具有两种,分别是:firewalld和iptables。在一个系统中,火墙的管理工具同时只能开启一个,而Linux中默认的为firewalld。但是firewald的管理比较傻瓜化,为了更加清楚的了解数据文件资源的走向,我们对iptables做主要介绍。
iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。其管理的对象主要为netfiler(内核空间)中的3张表和5条链(man iptables)。下面对3张表,5条链做具体说明。
3张表:
表名 | 作用 | 包含的链 |
filter | 负责过滤功能,(防火墙)对经过本机内核的数据进行管理 | input、output、forward |
nat | 网络地址转化功能,(路由器)对不经过内核的数据进行管理 | postrouting、prerouting、input、output |
mangle | filter表和nat表的补充 | input、output、forward postrouting、 prerouting |
5条链:
input:数据输入(分为两种,一种是输入到本地主机的,另一种是经过本地主机,输入到其他用户主机的);
output:数据输出(分为两种,一种是输出到本地主机的,另一种是经过本地主机,输出到其他用户主机的);
forward:指的是本条数据在该主机中并不进行数据处理只进行转发;
postrouting:路由后(当客户主机发送数据到目标主机时,由于网段限制,并不能直接通信,此时需将转发的路由进行“地址伪装”,该数据操作成为路由之后);
prerouting:路由前(当目标主机接收到数据时(该数据由路由转发),需要进行逆向通信,但此时获得的IP为,路由器的IP,而不是真正的IP,故此时要首先对地址进行转化,该地址转化过程叫路由之后)。
管理的规则:
当存在新的数据包来源时,管理器会对该包在火墙的策略中进行查找(自上而下),进行性规则匹配,当匹配到符合条件的时候,则停止匹配,并对该包进行处理。
具体的管理方式,请参考防火墙的管理一文。(连接:https://blog.csdn.net/qq_41056224/article/details/105005447)
参考资料:www.yunqishi.net/dnjc/dngz/29504.html