首页 > 编程知识 正文

防火墙配置,防火墙技术的基本原理

时间:2023-05-04 11:44:28 阅读:51107 作者:993

另一方面,防火墙概念防火墙(Firewall )又称防护墙,由Check Point创办人Gil Shwed于1993年发明,引入国际互联网(US5606668(A ) 1993-12-15 )。

位于内部网络与外部网络之间的网络安全系统。 一种信息安全保护系统,用于根据特定规则允许或限制传输的数据通过。

(照片来自网络)

在互联网世界中,由防火墙过滤的就是承载通信数据的通信包

在互联网中,"防火墙"是指将内部网与互联网等公共接入网络分离方法,实际上是一种隔离技术防火墙是指在两个网络通信时允许“同意”的人和数据访问网络,同时拒绝“不同意”的人和数据,防止网络中的黑客访问网络。 换句话说,如果不通过防火墙,公司内部的人就无法访问互联网,互联网上的人也无法与公司内部的人进行通信。

二、防火墙发展过程防火墙从诞生开始,已经经历了四个发展阶段。

基于路由器的防火墙定制防火墙工具包具有构建在通用操作系统上的防火墙安全操作系统的当前常见防火墙提供安全操作系统,如NETEYE、NETSCREEN和TALENTIT

三、防火墙的基本类型网络层防火墙可视为一种 IP 封包过滤器,在底层TCP/IP协议栈上运行。 除以枚举的方式只允许符合特定规则的封包通过,其余的一概禁止穿越防火墙可能()病毒外,防火墙无法防止病毒入侵)。 这些规则通常可以由管理员定义或修改,但某些防火墙设备可能只适用内置规则。

APP应用层防火墙在TCP/IP堆栈的“APP应用层”中运行,使用浏览器时生成的数据流或使用FTP时的数据流属于该层。 APP应用层防火墙阻止进出一个APP应用程序的所有数据包,并阻止其他数据包。 数据包通常直接丢弃。 理论上,这种防火墙可以完全阻止外部数据流进入受保护的计算机。

数据库防火墙数据库防火墙是一种基于数据库协议分析和控制技术的数据库安全系统基于主动防御机制,实现数据库访问行为控制、危险操作屏蔽和可疑行为审计。

数据库防火墙通过SQL协议分析,根据预定义的禁止和许可策略通过合法的SQL操作,屏蔽非法违规操作,形成数据库外围防御圈,实现SQL危险操作的主动预防、实时审计。

数据库防火墙为外部入侵行为提供SQL注入禁止和数据库虚拟修补功能。

四. Linux防火墙Linux防火墙在企业APP应用中非常有用,例如:

中小企业和网吧都有iptables作为企业的NAT路由器,可以代替传统的路由器,节约成本。 IDC房间一般没有硬件防火墙。 IDC文件室中的服务器可以使用Linux防火墙而不是硬件防火墙。 iptables与squid配合使用,作为企业中互联网的透明代理。 传统的代理需要在浏览器中设置代理服务器信息,但iptables squid透明代理可以将客户端请求重定向到代理服务器端口。 请不要设置任何客户端。 我感觉不到代理的存在。 将iptables作为企业NAT路由器时,可以使用iptables扩展模块阻止P2P通信,也可以防止非法网页。 iptables可用于从外部网IP到内部网IP的映射。 iptables可以轻松防止轻而易举的DOS攻击,如ping攻击和SYN洪水攻击。 概要,Iptables有两种应用模式。 主机防火墙,NAT路由器。

五、防火墙的基本原理可对应下图的字节传输过程分为以下几层:

包过滤(Packet filtering ) :在网络层工作,仅根据包头中的IP地址、端口号、协议类型等标志来决定是否允许数据包通过。 “APP应用程序代理”(Application Proxy )在APP应用层运行,并通过创建不同的APP应用程序代理来发现和分析APP应用层的数据。 状态检测(Stateful Inspection )在2~4层动作,访问控制方式与1相同,但处理的对象不是各个数据包,而是整个连接,根据规则表和连接状态表,综合是否允许数据包通过“完成内容检测”(Compelete Content Inspection )在2-7层运行,不仅可以进行头部信息、状态信息,还可以进行APP应用层协议的恢复和内容分析,有效防止混合型安全威胁

(照片来自网络)

(照片来自网络)

六、Netfilter和iptables Netfilter是Rusty Russell提出的Linux 2.4内核防火墙框架。 该框架简洁灵活,可以实现安全策略应用中的许多功能。 包过滤、分组处理、地址伪装、透明代理、动态网络地址转换(NAT )或用户和媒体访问控制(MAC )基于地址的过滤、基于状态的过滤

Iptables/Netfilter的这些规则可以通过灵活组合,形成非常多的功能、涵盖各个方面,这一切都得益于它的优秀设计思想。Netfilter/Iptables 数据包过滤系统可以当成一个整体,netfilter是内核的模块实现,iptables是对上层操作工具。 

        如果不严格的区分则在Linux中 netfilter 和 iptables 都可以认为是指Linux防火墙。

        实际 Iptables 是一个管理内核包过滤的工具,可以用来配置核心包过滤表格中的规则。运行于用户空间。

        区别在于:netfilter 是 Linux的2.4版内核引入了一种全新的包过滤引擎,称为Netfilter。指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于“内核态”的防火墙功能体系。iptables指的是用来管理Linux防火墙的命令程序,通常位于/sbin/iptables,属于“用户态”的防火墙管理体系。iptables是控制Netfilter的工具,是Linux 2.2版内核中比较老的命令ipchains的兄弟。 

        Netfilter 所设置的规则是存放在内核内存中的,而 iptables 是一个应用层的应用程序,它通过 Netfilter 放出的接口来对存放在内核内存中的 XXtables(Netfilter的配置表)进行修改。这个XXtables由表tables、链chains、规则rules组成,iptables在应用层负责修改这个规则文件。类似的应用程序还有 firewalld 。

 iptables 和 netfilter 的联系?
        很多人一提到防火墙立马就想到了是iptables,其实iptables并不是防火墙,他只是一个软件或者说是一个工具,这个软件可以编写某些规则,将写好的规则保存到netfilter的规则数据库中。因此,真正起到"防火"的功能是netfilter,并不是iptables。netfilter是内核中的一个框架,这个框架里面包含了4个表和5个链,这些链又包含了很多的规则。而数据包要比对的规则就是这个链中所定义的规则。

        在下述的内容中我们就以iptables来称呼Linux防火墙了。

(图片来源于网络) 

七、防火墙的性能

吞吐量:该指标直接影响网络的性能,吞吐量
时延:入口处输入帧最后1个比特到达至出口处输出帧的第1个比特输出所用的时间间隔
丢包率:在稳态负载下,应由网络设备传输,但由于资源缺乏而被丢弃的帧的百分比
背靠背:从空闲状态开始,以达到传输介质最小合法间隔极限的传输速率发送相当数量的固定长度的帧,当出现第一个帧丢失时,发送的帧数
并发连结数:并发连接数是指穿越防火墙的主机之间或主机与防火墙之间能同时建立的最大连接数 

八、防火墙的局限性

防火墙虽然是保护网络安全的基础性设施,但是它还存在着一些不易防范的安全威胁:
首先防火墙不能防范未经过防火墙或绕过防火墙的攻击。例如,如果允许从受保护的网络内部向外拨号,一些用户就可能形成与Internet 的直接连接。
防火墙基于数据包包头信息的检测阻断方式,主要对主机提供或请求的服务进行访问控制,无法阻断通过开放端口流入的有害流量,并不是对蠕虫或者黑客攻击的解决方案。
另外,防火墙很难防范来自于网络内部的攻击或滥用。

参考:https://blog.csdn.net/freeking101/article/details/70239637?locationNum=4&fps=1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。