一个IP的防火墙原理是基于什么原理的?

2016第三届物联网大会
智能后视镜产品方案对接会
中国LED智能照明高峰论坛
第三届·无线通信技术研讨会
第二届·中国IoT大会
ETFo智能安防技术论坛
移入鼠标可放大二维码
防火墙工作原理
来源:本站整理
作者:佚名日 10:36
[导读] 防火墙工作原理
如果您使用过互联网,尤其是如果您在较大的公司工作并在工作时间浏览网络,那么您大概听到过别人使用防火墙一词。例如,您经常听见公司
防火墙工作原理
如果您使用过互联网,尤其是如果您在较大的公司工作并在工作时间浏览网络,那么您大概听到过别人使用防火墙一词。例如,您经常听见公司的人这样说:“我没法使用那个站点,因为他们不允许外人通过防火墙进行访问。”诸如此类。
如果您家里有快速互联网连接(DSL连接或电缆调制解调器),您也可能听说过用于家庭网络的防火墙。事实上,小型家庭网络和大型公司网络具有大量相同的安全问题。您可以利用防火墙使您的家庭网络和家人避免受到令人讨厌的网站和潜在黑客的骚扰。
本质上,防火墙就是一道防止您的财产受到破坏的屏障。实际上这正是称它为防火墙的理由。它的工作类似于阻止火势从一个区域蔓延到另一个区域的真实防火墙。本文中,您将了解更多有关防火墙的内容,并且了解它们的工作原理以及它们能使您免受哪些种类的威胁。防火墙的作用
防火墙就是对通过互联网连接进入您的专用网络或计算机系统的信息进行过滤的程序或硬件设备。如果过滤器对传入的信息数据包进行标记,则不允许该数据包通过。
如果阅读过Web服务器工作原理,那么您对互联网上的数据传输方式应该已经有了充分认识,并且能够很容易看出防火墙是如何帮助人们保护大公司内的计算机的。假设您所就职的公司拥有500名员工。公司因而有数百台计算机通过网卡互相连接。此外,公司还有一个或多个通过T1或T3等类似线路实现的互联网连接。如果不安装防火墙,则互联网上的任何人都可以直接访问这数百台计算机。懂行的人可能探查这些计算机,尝试与这些计算机建立FTP连接,尝试与它们建立telnet连接,等等。如果有员工犯错从而留下安全漏洞,那么黑客可以进入相应的计算机并利用漏洞。
如果安装防火墙,情况将大不相同。公司将在每个互联网连接处布置防火墙(例如,在每条进入公司的T1线路上)防火墙可以实施安全规则。例如,公司内的一条安全规则可能是:
在本公司内的500台计算机中,只允许一台计算机接收公共FTP通信。只允许与该计算机建立FTP连接,而阻止与其他任何计算机建立这样的连接。
公司可以为FTP服务器、Web服务器、Telnet服务器等设置类似的规则。此外,公司还可以控制员工连接网站的方式、控制是否允许文件通过网络离开公司等。利用防火墙,公司可以对人们使用网络的方式进行诸多控制。
防火墙使用以下三种方法中的一种或多种来控制流入和流出网络的通信:
数据包过滤——根据一组过滤器分析数据包(小的数据块)。通过过滤器的数据包将发送到请求数据包的系统,没有通过的数据包将被丢弃。
代理服务——防火墙检索来自互联网的信息,然后将信息发送到请求信息的系统,反之亦然。
状态检测——这是一种较为新颖的方法,它并不检查每个数据包的内容,而是将数据包的特定关键部分与受信任信息数据库进行比较。从防火墙内部传递到外部的信息将受到监视,以获得特定的定义特征,然后将传入的信息与这些特征进行比较。如果通过比较得出合理的匹配,则允许信息通过。否则将丢弃信息。
定制合适的防火墙
可以对防火墙进行定制。这意味着您可以根据多个条件来添加或删除过滤器。其中一些条件如下:
IP地址——互联网上的每台计算机被分配了一个唯一的地址,称为IP地址。IP地址是32位数字,通常表示为4个“八位二进制数”,并以“句点分隔的十进制数”直观表示。典型的IP地址如下所示:216.27.61.137。例如,如果公司外部的某个IP地址从服务器读取了过多文件,则防火墙可以阻止与该IP地址之间的所有通信。
域名——由于组成IP地址的数字串不容易记住,而且IP地址有时需要更改,因此互联网上的所有服务器还拥有易于理解的名称,称为域名。例如,对大多数人来说,记住比记住216.27.61.137更容易。公司可以阻止对特定域名进行的所有访问,或者仅允许访问特定域名。
协议——协议是想要使用某一服务的某一方与该服务之间进行通信的一种预定义方式。“某一方”可能是一个人,但在更多的情况下,它是一个计算机程序,例如Web浏览器。协议通常是文本,并简单说明客户机和服务器进行会话的方式。http是Web协议。公司可以只设置一台或两台计算机来处理特定协议,而在其他所有计算机上禁用该协议。下面是一些可以为其设置防火墙过滤器的常见协议:
IP(互联网协议,Internet Protocol)——互联网上的主要信息传递系统
TCP(传输控制协议,Transmission Control Protocol)——用于拆分和复原互联网上传递的信息
HTTP(超文本传输协议,Hyper Text Transfer Protocol)——用于网页
FTP(文件传输协议,File Transfer Protocol)——用于下载和上传文件
UDP(用户数据报协议,User Datagram Protocol)——用于无需响应的信息,如音频流和视频流
ICMP(Internet控制消息协议,Internet Control Message Protocol)—— 供路由器用来与其他路由器交换信息
SMTP(简单邮件传输协议,Simple Mail Transport Protocol)——用于发送基于文本的信息(电子邮件)
SNMP(简单网络管理协议,Simple Network Management Protocol)——用于从远程计算机收集系统信息
Telnet——用于在远程计算机上执行命
端口——任何服务器计算机都使用带编号的端口向互联网提供服务,每个端口对应于该服务器上提供的一项服务(详细信息,请参见Web服务器工作原理)。例如,如果服务器计算机正在运行Web(HTTP)服务器和FTP服务器,则通常可以通过端口80访问Web服务器,并可以通过端口21访问FTP服务器。除一台计算机外,公司可能阻止对公司内其他所有计算机上的端口21进行访问。
特定词汇和短语——这可以是任意内容。防火墙将嗅探(彻底搜寻)每个信息数据包,确定是否存在与过滤器中列出的文本完全匹配的内容。例如,您可以指示防火墙阻止任何含有“X-rated”一词的数据包。这里的关键在于必须是精确匹配。“X-rated”过滤器不会捕捉“X rated”(不含连字符)。但您可以根据需要包括任意多的词汇、短语以及它们的变体。
一些操作系统内置了防火墙。如果没有,您可以在家中具有互联网连接的计算机上安装软件防火墙。该计算机称为网关,因为它提供了家庭网络与互联网之间的唯一接入点。
至于硬件防火墙,防火墙装置本身通常就是网关。Linksys Cable/DSL路由器就是这方面的例子。它内置了以太网卡和集线器。家庭网络中的计算机与路由器连接,而路由器又与电缆调制解调器或DSL调制解调器连接。您可以通过基于Web的界面配置路由器,该界面可以通过计算机上的浏览器访问。然后,您可以设置任何过滤器或其他信息。
硬件防火墙非常安全,而且价格也不贵。包含路由器、防火墙和以太网集线器的、用于宽带连接的家庭版硬件防火墙价格在100美元以内。
防火墙提供哪些保护?
肆无忌惮的人们想出了各种富有创意的方法来访问或滥用未加保护的计算机:
远程登录——他人能够连接到您的计算机并以某种形式控制它。这包括查看或访问您的文件以及在您的计算机上实际运行程序。
应用程序后门——一些程序具有特殊功能,能够进行远程访问。另外一些程序含有缺陷,这些缺陷提供了后门(即隐藏入口),可用来对程序进行某种程度的控制。
SMTP会话劫持——SMTP是通过互联网发送电子邮件的最常用方法。通过获取对电子邮件地址列表的访问权,可以向数以千计的用户发送未经请求的垃圾邮件。常用的方法是通过不知情主机的SMTP服务器重定向电子邮件,从而隐藏垃圾邮件的实际发件人的踪迹。
操作系统缺陷——像应用程序一样,一些操作系统也有后门。另外一些操作系统提供了缺乏足够安全控制的远程访问,或者存在经验丰富的黑客可以利用的缺陷。
拒绝服务——您可能在关于大型网站受到攻击的新闻报道中听说过这个短语。这种类型的攻击几乎无法抵御。这种攻击的原理是:黑客向服务器发送连接请求。当服务器用应答响应并尝试建立会话时,却找不到发出请求的系统。黑客通过向服务器发送无数这类无法应答的会话请求,使得服务器速度变慢或者最终崩溃。
电子邮件炸弹——电子邮件炸弹通常是针对个人发起的攻击。某人向您发送数百或数千封相同的电子邮件,直到您的电子邮件系统再也无法接收任何邮件。
宏——为了简化复杂过程,许多应用程序允许创建可供应用程序运行的命令脚本。该脚本称为宏。黑客利用这一功能创建自己的宏,根据应用程序的不同,这些宏可以摧毁您的数据或使计算机崩溃。
病毒——计算机病毒大概是最著名的威胁。病毒是可以将自己复制到其他计算机的小程序。通过复制,病毒可以在不同系统之间快速传播。病毒既包括无害的邮件,也包括可以擦除您所有数据的危险病毒。
垃圾邮件——这里将现实生活中的“垃圾邮件”一词借用到电子领域,它们通常是无害的,但总是令人讨厌。不过垃圾邮件也可能具有危险。它常常包含指向网站的链接。单击这些链接时一定要小心,因为您可能意外接受向您的计算机提供后门的Cookie。
重定向炸弹——黑客可以使用ICMP将信息发送到别的路由器,从而更改(重定向)信息采用的路径。这是实施拒绝服务攻击的一种方法。
源路由——在大多数情况下,数据包在互联网(或其他任何网络)上传输的路径由沿该路径的路由器决定。但提供数据包的源可以任意指定数据包的传输路由。黑客有时利用这一点使信息看起来像是来自受信任的源甚至网络内部!大部分防火墙产品默认情况下禁用源路由。
即使有可能,以上列出的一些项也难以利用防火墙进行过滤。虽然一些防火墙提供了防病毒功能,但在每台计算机上安装防病毒软件是值得的。另外,尽管令人讨厌,但只要您接受电子邮件,一些垃圾邮件就能够穿过您的防火墙。
您所确立的安全级别将决定防火墙可以阻止的威胁的数量。最高安全级别可以阻止一切通信。显然,这也使互联网连接失去了意义。但一条常用的经验法则是阻止一切通信,然后开始选择允许通过的通信类型。您还可以对通过防火墙的通信进行限制,从而只允许特定类型的信息(如电子邮件)通过。如果企业拥有有经验的网络管理员,并且这些管理员了解企业需求并确切知道允许哪些通信通过,那么这是一条不错的规则。对于我们大多数人来说,除非有特定的更改理由,否则最好使用由防火墙开发人员提供的默认设置。
站在安全角度来说,防火墙最大的好处之一在于它能够阻止任何外人登录您的专用网络中的计算机。这对企业来说非常重要,大多数家庭网络大概不会受到这方面的威胁。不过,布置防火墙还是能让人放心一些。
代理服务器和DMZ(非军事区)
一项经常与防火墙结合使用的功能是代理服务器。代理服务器被其他计算机用来访问网页。当另一台计算机请求网页时,代理服务器将检索该网页,然后将其发送给请求该网页的计算机。该操作的最后效果是承载该网页的远程计算机不会与您家庭网络中的任何内容直接联系,而是与代理服务器联系。
代理服务器还可以使您的互联网访问更为高效。如果您访问网站的页面,该页面将缓存(存储)在代理服务器上。这意味着当您下次返回到该页面时,通常无需再次从网站加载该页面。相反,可以从代理服务器迅速加载。
有时,您可能希望远程用户能够访问您网络中的项。例如:
FTP下载区和上传区
在类似情况下,您可以创建DMZ(非军事区)。尽管听起来很严肃,但它实际上只是防火墙外部的一个区域。请试着将DMZ想像成您家里的前院。它属于您,您可以在这里堆放东西,但您会把贵重物品都放在屋子里,因为那里才更加安全。
设置DMZ非常简单。如果您有多台计算机,可以选择将其中一台计算机简单地放在互联网连接和防火墙之间。现在,大部分软件防火墙都允许您指定网关计算机上的一个目录作为DMZ。
安装防火墙后,应对其进行测试。
[责任编辑:小敏]
防火墙相关文章
防火墙相关下载
技术交流、积极发言! 发表评请遵守相关规定。
今日,京东方(BOE)举办了“京东方全球创新伙伴大会”,其董事长王东升在现场发表了关于物联网以及人工智能的主题演讲,但作为一家显示屏提供商,...
任正非签发了91号文《任总在中亚(塔吉克斯坦、土耳其、白俄)代表处汇报会议上的讲话》,他在讲话中指出:我们不指望小国赚大钱,但一定要活下来...
创新实用技术专题
版权所有 & 深圳华强聚丰电子科技有限公司防火墙原理
防火墙原理
一、什么是防火墙
&&& 一种高级访问控制设备,置于不同网络安全域之间的一系列部件的组合,它是不同网络安全域间通信流的唯一通道,能根据企业有关的安全政策控制(允许、拒绝、监视、记录)进出网络的访问行为。
二、防火墙的作用
过滤进出网络的数据包
管理进出网络的访问行为
封堵某些禁止的访问行为
记录通过防火墙的信息内容和活动
对网络攻击进行检测和告警
能过滤大部分的危险端口
设置严格的外向内的状态过滤规则
抵挡大部分的拒绝服务攻击
三、防火墙与OSI
基本防火墙:网络层、传输层
高级防火墙:数据链路层、会话层、应用层
四、防火墙历史
1、包过滤防火墙
&&& 也叫分组过滤防火墙。根据分组包的源、目的地址,端口号及协议类型、标志位确定是否允许分组包通过。
&& 【优点】&&& ●& 高效、透明
&& 【缺点】&&& ● 不能防范部分的黑客IP欺骗类攻击&&& ● 不能跟踪TCP连接的状态&&& ● 不支持应用层协议&&& ● 对管理员要求高
&&& 【判断依据】
&&& ● 数据包协议类型:TCP、UDP、ICMP、IGMP等&&& ● 源、目的IP地址&&& ● 源、目的端口:FTP、HTTP、DNS等&&& ● IP选项:源路由选项等&&& ● TCP选项:SYN、ACK、FIN、RST等&&& ● 其它协议选项:ICMP ECHO、ICMP ECHO REPLY等&&& ● 数据包流向:in或out&&& ● 数据包流经网络接口:eth0、eth1
&&&& 包过滤防火墙应用实例:
2、应用网关防火墙
&&& 也叫应用代理防火墙。每个代理需要一个不同的应用进程,或一个后台运行的服务程序;对每个新的应用必须添加针对此应用的服务程序,否则不能使用该服务。
&& 【优点】&&& ●&安全性高
&&& ●&提供应用层的安全
&&& ●&可以检查应用层、传输层和网络层的协议特征,对数据包的检测能力比较强
&& 【缺点】&&& ● 性能差&&& ● 伸缩性差&&& ● 只支持有限的应用&&& ● 不透明
&&& ● 难于配置&&& ● 处理速度较慢
&&&&& 一个Telnet代理的例子:
3、状态检测防火墙
&&& 又称动态包过滤防火墙。对于新建立的应用连接,状态检测型防火墙先检查预先设置的安全规则,允许符合规则的连接通过;记录下该连接的相关信息,生成状态表;对该连接的后续数据包,只要是符合状态表,就可以通过。目前的状态检测技术仅可用于TCP/IP网络。
&&& 状态检测防火墙处理示意图:
&& 【优点】&&& ●&连接状态可以简化规则的设置&&& ●&提供了完整的对传输层的控制能力&&& ●&使防火墙性能得到较大的提高,特别是大流量的处理能力&&& ●&根据从所有层中提取的与状态相关信息来做出安全决策,使得安全性也得到进一步的提高
&& 【缺点】&&& ● 对应用层检测不够深入
4、传统火墙的弱点
&&& 传统的包过滤和状态检测防火墙弱点如下:&&& ● 没有深度包检测来发现恶意代码&&& ● 不进行包重组&&& ● 恶意程序可以通过信任端口建立隧道穿过去&&& ● 传统的部署方法仅仅是网络边缘,不能防御内部攻击分组过
5、深度检测防火墙
&&& ● 深度检测技术深入检查通过防火墙的每个数据包及其应用载荷&&& ● 以基于指纹匹配、启发式技术、异常检测以及统计学分析等技术的规则集,决定如何处理数据包&&& ● 可以更有效的辨识和防护缓冲区溢出攻击、拒绝服务攻击、各种欺骗性技术以及蠕虫病毒
6、复合型防火墙
五、防火墙的分类
&&& 按照操作对象&&& ● 主机防火墙&&& ● 网络防火墙
&&& 按照实现方式&&& ● 软件防火墙?&&& ● 硬件防火墙
&&& 按照过滤和检测方式&&& ● 包过滤防火墙&&& ● 状态防火墙&&& ● 应用网关防火墙&&& ● 地址转换防火墙&&& ● 透明防火墙&&& ● 混合防火墙
六、防火墙的安全规则配置
&&& ● 防火墙安全规则遵循从上到下匹配的原则,一旦有一条匹配,剩余的都不进行匹配&&& ● 如果所有的规则都没有匹配到,数据包将被丢弃&&& ● 安全过滤规则主要包含源、目的地址和端口,TCP标志位,应用时间以及一些高级过滤选项
七、防火墙的5大性能指标
&&& ● 吞吐量:在不丢包的情况下单位时间内通过的数据包数量
&&& 1、定义:在不丢包的情况下能够达到的最大每秒包转发数量&&& 2、衡量标准:吞吐量作为衡量防火墙性能的重要指标之一,吞吐量小就会造成网络新的瓶颈,以至影响到整个网络的性能
&&& ● 时延:数据包最后一个比特进入防火墙到第一比特从防火墙输出的时间间隔
&&& 1、定义:入口处输入帧的最后1个比特到达,至出口处输出帧的第一个比特输出所用的时间间隔&&& 2、衡量标准:防火墙的时延能够体现它处理数据的速度
&&& ● 丢包率:通过防火墙传送时所丢失数据包数量占所发送数据包的比率
&&& 1、定义:在连续负载的情况下,防火墙设备由于资源不足应转发但却未转发的帧百分比&&& 2、衡量标准:防火墙的丢包率对其稳定性、可靠性有很大的影响
&&& ● 并发连接数:防火墙能够同时处理的点对点连接的最大数目
&&& 1、定义:指穿越防火墙的主机之间,或主机与防火墙之间,能同时建立的最大连接数。&&& 2、衡量标准:并发连接数的测试主要用来测试防火墙建立和维持TCP连接的性能,同时也能通过并发连接数的大小体现防火墙对来自于客户端的TCP连接请求的响应能力
&&& ● 新建连接数:在不丢包的情况下每秒可以建立的最大连接数
&&& 1、定义:指穿越防火墙的主机之间,或主机与防火墙之间,单位时间内建立的最大连接数。&&& 2、衡量标准:新建连接数主要用来衡量防火墙单位时间内建立和维持TCP连接的能力
八、防火墙区域
&&& 防火墙拓扑位置&&& ● 专用(内部)和公共(外部)网络之间&&& ● 网络的出口和入口处&&& ● 专用网络内部:关键的网段,如数据中心
&&& 防火墙区域&&& ● Trust(内部)&&& ● Untrust(外部,Internet)&&& ● DMZ(Demilitarized Zone,非武装军事区)
九、防火墙的应用
&&&&【标准应用】
&&& 1、透明模式/桥模式
&&& ●&一般用于用户网络已经建设完毕,网络功能基本已经实现的情况下&&& ●&加装防火墙以实现安全区域隔离的要求&&& 一般将网络分为内部网、DMZ区和外部网
&&& 2、路由/NAT模式
&&& ●&一般用于防火墙需要提供路由和NAT功能以便连接上网的情况下&&& ●&同时提供安全过滤功能&&& 一般将网络分为内部网、DMZ区和外部网
&&& 3、混合模式
&&& 实际应用中,一般网络情况为透明模式和路由模式的混合
&&&&【高级应用】
&&& 1、双机热备
&&& 2、多VLAN支持
&&& 3、动态路由协议
&&& 4、VPN
十、防火墙的局限性
&&& ●&不能防范不经过防火墙的攻击&&& ●&对新出现的漏洞和攻击方式不能迅速提供有效的防御方法&&& ●&紧急情况下无法做到迅速响应&&& ●&无法防止内部的攻击&&& ●&不能关闭需提供对外服务的端口&&& ●&无法防止利用TCP/IP等协议漏洞的攻击&&& ●&不能防止受病毒感染文件的传输&&& ●&防火墙自身也可能存在安全漏洞
十一、统一威胁管理UTM
&&& 什么是UTM?
&&& ●&指由硬件、软件和网络技术组成的具有专门用途的设备&&& ●&主要提供一项或多项安全功能,将多种安全特性集成于一个硬设备里,构成一个标准的统一管理平台
&&& 功能模块
&&& 防火墙、IPS、防病毒网关、VPN网关、内容过滤、抗拒绝服务攻击(Anti-DoS)、内容过滤、反垃圾邮件等
&&& 启明星辰天清汉马USG一体化安全网关:
十二、产品介绍-天清汉马防火墙的功能特点
1、完善的防火墙特性&&& ●&支持基于源IP、目的IP、源端口、目的端口、时间、服务、用户、文件、网址、关键字、邮件地址、脚本、MAC地址等多种方式进行访问控制&&& ●&支持流量管理、连接数控制、IP+MAC绑定、用户认证等
2、多样化的应用过滤&&& ●&基于屏蔽列表、免屏蔽列表、关键字技术的Web过滤功能,同时提供Java Applet、Cookie、Script和Object的内容过滤功能&&& ●&基于黑名单、白名单、邮件主题、附件名称、邮件大小和SMTP命令的邮件过滤功能
3、安全丰富的VPN使组网变得简单&&& ●&多VPN支持:GRE、IPSec、L2TP、SSL VPN&&& ●&丰富的应用:专用的VPN客户端、USBKEY、动态口令卡、图形认证码&&& ●&灵活的部署:Hub-Spoken、Full-Mesh、DVPN/网关—网关的SSL VPN
4、完善的P2P、IM、流媒体、网络游戏和股票软件控制能力&&& ●&P2P控制:对Emule、BitTorrent、Maze、Kazaa等进行阻断、限速&&& ●&IM控制:基于黑白名单的IM登录控制、文件传输阻止;支持主流IM软件如QQ、MSN、雅虎通、Gtalk、Skype&&& ●&流媒体控制:对流媒体应用进行阻断或限速,支持Kamun ppfilm、PPLive、PPSteam、QQ直播、TVAnts、沸点网络电视、猫扑播霸等&&& ●&网络游戏控制:对常见网络游戏如魔兽世界、征途、QQ游戏大厅、联众游戏大厅等的阻断&&& ●&股票软件控制:对常用股票软件如同花顺、大参考、大智慧等的阻断
5、强大的日志报表功能&&& ●&记录内容丰富:可对防火墙日志、带宽使用日志、Wwb访问日志、Mail发送日志、关键资产访问日志、用户登录日志等进行记录&&& ●&日志快速查询:可对IP地址、端口、时间、危急程度、日志内容关键字等进行查询&&& ●&报表贴近需求:根据用户具体需求,定制报表内容、定制报表名称、定制企业LOGO,并可形成多种格式的报表文件
6、方便的集中管理功能&&& ●&通过集中管理与数据分析中心实现对多台设备的统一管理、实时监控、集中升级和拓扑展示
7、可软件升级支持UTM&&& ●&采用高性能的硬件配置,具备向UTM升级的硬件基础设施保证&&& ●&经授权后可软件升级,设备无需下线、无需返厂直接升级为UTM&&& ●&升级后具备完整UTM功能,相关功能特征库授权后可实时在线更新
十三、NAT、路由、访问策略
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&一个IP地址的web防火墙防御DDOS的原理是什么?_舒城教师吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:5,584贴子:
一个IP地址的web防火墙防御DDOS的原理是什么?收藏
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或防火墙(7)
Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等。Iptables/Netfilter的这些规则可以通过灵活组合,形成非常多的功能、涵盖各个方面,这一切都得益于它的优秀设计思想。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:
网络地址转换(Network Address Translate)数据包内容修改以及数据包过滤的防火墙功能
Netfilter 平台中制定了数据包的五个挂载点(Hook Point,我们可以理解为回调函数点,数据包到达这些位置的时候会主动调用我们的函数,使我们有机会能在数据包路由的时候改变它们的方向、内容),这5个挂载点分别是PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING。
Netfilter 所设置的规则是存放在内核内存中的,而 iptables 是一个应用层的应用程序,它通过 Netfilter 放出的接口来对存放在内核内存中的 XXtables(Netfilter的配置表)进行修改。这个XXtables由表tables、链chains、规则rules组成,iptables在应用层负责修改这个规则文件。类似的应用程序还有
firewalld 。
主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包(如DROP、ACCEPT、REJECT、LOG)。filter 表对应的内核模块为iptable_filter,包含三个规则链:
INPUT链:INPUT针对那些目的地是本地的包FORWARD链:FORWARD过滤所有不是本地产生的并且目的地不是本地(即本机只是负责转发)的包OUTPUT链:OUTPUT是用来过滤所有本地生成的包
主要用于修改数据包的IP地址、端口号等信息(网络地址转换,如SNAT、DNAT、MASQUERADE、REDIRECT)。属于一个流的包(因为包
的大小限制导致数据可能会被分成多个数据包)只会经过这个表一次。如果第一个包被允许做NAT或Masqueraded,那么余下的包都会自动地被做相同的操作,也就是说,余下的包不会再通过这个表。表对应的内核模块为 iptable_nat,包含三个链:
PREROUTING链:作用是在包刚刚到达防火墙时改变它的目的地址OUTPUT链:改变本地产生的包的目的地址POSTROUTING链:在包就要离开防火墙之前改变其源地址
主要用于修改数据包的TOS(Type Of Service,服务类型)、TTL(Time To Live,生存周期)指以及为数据包设置Mark标记,以实现Qos(Quality Of Service,服务质量)调整以及策略路由等应用,由于需要相应的路由设备支持,因此应用并不广泛。包含五个规则链——PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD。
是自1.2.9以后版本的iptables新增的表,主要用于决定数据包是否被状态跟踪机制处理。在匹配数据包时,raw表的规则要优先于其他表。包含两条规则链——OUTPUT、PREROUTING
iptables中数据包和4种被跟踪连接的4种不同状态:
NEW:该包想要开始一个连接(重新连接或将连接重定向)RELATED:该包是属于某个已经建立的连接所建立的新连接。例如:FTP的数据传输连接就是控制连接所
RELATED出来的连接。--icmp-type 0&( ping 应答) 就是--icmp-type
8&(ping 请求)所RELATED出来的。ESTABLISHED&:只要发送并接到应答,一个数据连接从NEW变为ESTABLISHED,而且该状态会继续匹配这个连接的后续数据包。INVALID:数据包不能被识别属于哪个连接或没有任何状态比如内存溢出,收到不知属于哪个连接的ICMP错误信息,一般应该DROP这个状态的任何数据。
在处理各种数据包时,根据防火墙规则的不同介入时机,iptables供涉及5种默认规则链,从应用时间点的角度理解这些链:
INPUT链:当接收到防火墙本机地址的数据包(入站)时,应用此链中的规则。OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则。FORWARD链:当接收到需要通过防火墙发送给其他地址的数据包(转发)时,应用此链中的规则。PREROUTING链:在对数据包作路由选择之前,应用此链中的规则,如DNAT。POSTROUTING链:在对数据包作路由选择之后,应用此链中的规则,如SNAT。
防火墙处理数据包的方式(规则):
ACCEPT:允许数据包通过DROP:直接丢弃数据包,不给任何回应信息
REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息。
SNAT:源地址转换。在进入路由层面的route之前,重新改写源地址,目标地址不变,并在本机建立NAT表项,当数据返回时,根据NAT表将目的地址数据改写为数据发送出去时候的源地址,并发送给主机。解决内网用户用同一个公网地址上网的问题。
MASQUERADE,是SNAT的一种特殊形式,适用于像adsl这种临时会变的ip上
DNAT:目标地址转换。和SNAT相反,IP包经过route之后、出本地的网络栈之前,重新修改目标地址,源地址不变,在本机建立NAT表项,当数据返回时,根据NAT表将源地址修改为数据发送过来时的目标地址,并发给远程主机。可以隐藏后端服务器的真实地址。
REDIRECT:是DNAT的一种特殊形式,将网络包转发到本地host上(不管IP头部指定的目标地址是啥),方便在本机做端口转发。
LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则
除去最后一个LOG,前3条规则匹配数据包后,该数据包不会再往下继续匹配了,所以编写的规则顺序极其关键。
我们已经知道了Netfilter和Iptables的架构和作用,并且学习了控制Netfilter行为的Xtables表的结构,那么这个Xtables表是怎么在内核协议栈的数据包路由中起作用的呢?
网口数据包由底层的网卡NIC接收,通过数据链路层的解包之后(去除数据链路帧头),就进入了TCP/IP协议栈(本质就是一个处理网络数据包的内核驱动)和Netfilter混合的数据包处理流程中了。数据包的接收、处理、转发流程构成一个有限状态向量机,经过一些列的内核处理函数、以及Netfilter Hook点,最后被转发、或者本次上层的应用程序消化掉。是时候看这张图了:
从上图中,我们可以总结出以下规律:
当一个数据包进入网卡时,数据包首先进入PREROUTING链,在PREROUTING链中我们有机会修改数据包的DestIP(目的IP),然后内核的&路由模块&根据&数据包目的IP&以及&内核中的路由表&判断是否需要转送出去(注意,这个时候数据包的DestIP有可能已经被我们修改过了)如果数据包就是进入本机的(即数据包的目的IP是本机的网口IP),数据包就会沿着图向下移动,到达INPUT链。数据包到达INPUT链后,任何进程都会-收到它本机上运行的程序也可以发送数据包,这些数据包经过OUTPUT链,然后到达POSTROTING链输出(注意,这个时候数据包的SrcIP有可能已经被我们修改过了)如果数据包是要转发出去的(即目的IP地址不再当前子网中),且内核允许转发,数据包就会向右移动,经过FORWARD链,然后到达POSTROUTING链输出(选择对应子网的网口发送出去)
我们在写Iptables规则的时候,要时刻牢记这张路由次序图,根据所在Hook点的不同,灵活配置规则。
命令格式:
[-t 表名]:该规则所操作的哪个表,可以使用filter、nat等,如果没有指定则默认为filter-A:新增一条规则,到该规则链列表的最后一行-I:插入一条规则,原本该位置上的规则会往后顺序移动,没有指定编号则为1-D:从规则链中删除一条规则,要么输入完整的规则,或者指定规则编号加以删除-R:替换某条规则,规则替换不会改变顺序,而且必须指定编号。-P:设置某条规则链的默认动作-nL:-L、-n,查看当前运行的防火墙规则列表chain名:指定规则表的哪个链,如INPUT、OUPUT、FORWARD、PREROUTING等[规则编号]:插入、删除、替换规则时用,--line-numbers显示号码[-i|o 网卡名称]:i是指定数据包从哪块网卡进入,o是指定数据包从哪块网卡输出[-p 协议类型]:可以指定规则应用的协议,包含tcp、udp和icmp等[-s 源IP地址]:源主机的IP地址或子网地址[--sport 源端口号]:数据包的IP的源端口号[-d目标IP地址]:目标主机的IP地址或子网地址[--dport目标端口号]:数据包的IP的目标端口号-m:extend matches,这个选项用于提供更多的匹配参数,如:
-m state --state ESTABLISHED,RELATED-m tcp --dport 22-m multiport --dports 80,8080-m icmp --icmp-type 8
&-j 动作&:处理数据包的动作,包括ACCEPT、DROP、REJECT等
具体实例请参考&。
&(里面有张原理图片值得收藏)2小时玩转iptables企业版.ppt (网上可下)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:16354次
排名:千里之外
原创:47篇
转载:42篇
(2)(1)(9)(5)(15)(7)(32)(6)(5)(7)

我要回帖

更多关于 防火墙原理 的文章

 

随机推荐