《Linux防火墙(第4版)》——第1章 数据包过滤防火墙的预备知识 1.1OSI网络模型

本文涉及的产品
云防火墙,500元 1000GB
简介: 一个简单的防火墙设置有时被称作“堡垒防火墙”,因为它是您抵御外部攻击的主要防线。您的许多安全措施都建立在这位保卫您领地的“卫士”之上。它会尽一切可能来保护系统安全。

本节书摘来自异步社区《Linux防火墙(第4版)》一书中的第1章,第1.1节,作者:【美】Steve Suehring(史蒂夫 苏哈林)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第1部分 数据包过滤以及基本安全措施

第1章 数据包过滤防火墙的预备知识

一个小型站点可能会通过多种方式连接到互联网,如T1专线、电缆调制解调器、DSL、无线、PPP、综合业务数字网(ISDN)或者其他的方式。直接连接到互联网的计算机通常是安全问题的焦点。无论是一台计算机还是由连接起来的多台计算机所组成的局域网(LAN),对于小型站点来说,最初的焦点将是直接连接到互联网的那台计算机。这台计算机将被用来搭建防火墙。

防火墙(firewall)这个术语根据其实现方式和使用目的不同而有多种不同的含义。在本书中,防火墙意味着直接连接到互联网的计算机。防火墙也是针对Internet访问实施安全策略的地方。防火墙计算机的外部网卡便是连接到互联网的连接点,或称为网关(gateway)。防火墙存在的意义是保护网关内部的站点免受外部威胁。

一个简单的防火墙设置有时被称作“堡垒防火墙”,因为它是您抵御外部攻击的主要防线。您的许多安全措施都建立在这位保卫您领地的“卫士”之上。它会尽一切可能来保护系统安全。

在这条防线之后的是您的一台或一组计算机。充当防火墙的计算机所扮演的角色可能只是简单地作为您局域网中其他计算机连接到互联网的连接点。您可以在防火墙后的计算机上运行本地的私有服务,例如共享的打印机或者共享的文件系统,或者让您所有的计算机都能连接到互联网。您的某台计算机上可能会存放着您的私人财务记录。您也许想让这台计算机访问Internet,但您不会想让任何人来访问这台计算机。有时,您可能希望向互联网提供您自己的服务。局域网中的某台计算机可能会托管着您的个人站点,另外一台计算机则可能会作为邮件服务器或者网关。您的设置和目的将决定您的安全策略。

防火墙存在的目的是为了执行您定义的安全策略。这些策略反映了您所做出的决策:允许哪些Internet服务访问您的机器,通过您的计算机向外提供哪些服务,哪些服务只为特定的远程用户或站点提供,哪些服务和程序您只希望在本地运行以便仅供您私人使用。安全策略实际上就是访问控制和授权使用私有及受保护的服务、程序以及您计算机上的文件。

虽然家庭和小型企业系统并不会遇到大型公司站点所面临的全部安全问题,但设置安全策略的基本思路和步骤仍是相同的。只是无需考虑那么多的因素,而且安全策略通常没有大型企业站点那样严格,其重点在于保护您的站点免受互联网上不速之客的访问。数据包过滤防火墙是一种常用的保护网络安全和控制外部访问的方法。

当然,拥有防火墙并不意味着您拥有了全面的防护。安全是一个过程,而不是一块硬件。例如,尽管有防火墙的存在,仍有可能通过下载间谍软件、广告软件或点击恶意邮件,使计算机的防护之门大开,继而招致外部对网络的攻击。采取措施以消除外部攻击所带来的危害与在防火墙上花费资源同样重要。在您的网络中使用最佳实践将有助于减少您的计算机被恶意使用的机会,并给予您的网络以弹性。

需要记住的一点是,互联网模式(Internet paradigm)是基于端到端透明这一前提的。对于正在通信的两台计算机来说,两者通信所使用的网络对二者来说是不可见的。实际上,如果通信路径上的某个网络设备失效,则两台计算机之间的流量会在两台计算机不知道的情况下通过新的通信线路继续传输。

理想情况下,防火墙应该是透明的。然而,防火墙可以通过在两台端点计算机之间的网络内引入单一故障点,来破坏互联网模式(Internet paradigm)。而且,并不是所有的网络应用程序使用的通信协议都能轻易通过一个简单的数据包过滤防火墙。如果没有额外的应用程序支持或更加复杂的防火墙技术,则不可能使特定流量穿越防火墙。

更加复杂的问题就是网络地址转换(Network Address Translation[NAT],Linux的说法是地址伪装)了。NAT使得一台计算机能够通过转换多台计算机的请求并将它们转发至相应的目的地从而代表很多其他的计算机。NAT和RFC 1918定义的私有IP地址的使用有效地减轻了即将出现的IPv4地址短缺。但NAT和RFC 1918私有地址空间的结合会使得某些类型的网络流量要么难以传输,要么需要复杂的技术或昂贵的成本才能完成传输。
最后一个复杂的地方来源于多媒体和点对点(P2P)协议的广泛使用,它们在实时通信软件和网络游戏中都有应用。这些协议与当今的防火墙技术相互对立。现如今,特定的防火墙解决方案必须对每一个应用协议单独进行建立和部署。而那种简单地、经济地处理这些协议的防火墙架构仍处在标准委员会的工作组的讨论中。

我们应该牢记,混合使用防火墙、DHCP和NAT会引入复杂性,导致站点为了满足用户使用某些网络服务的要求,不得不对系统的安全性做出一定程度的让步,理解这一点至关重要。小型企业通常不得不部署多个局域网和更复杂的网络配置,以满足不同本地用户的多种安全需求。

在深入了解开发防火墙的细节之前,本章将先介绍数据包过滤防火墙的基础概念以及机制。这些概念包括网络通信的参考架构、基于网络的服务是如何被识别的、什么是数据包,以及网络上的计算机之间相互发送消息和信息的类型。

1.1 OSI网络模型

开放系统互联(Open System Interconnection,OSI)模型代表了基于层次的网络框架。OSI模型中的每一层都提供了不同于其他层的功能。如图1.1所示,OSI模型共包含7层。

screenshot
这些层有时是以编号来标识的,最低层(物理层)是第一层,而最高层(应用层)是第七层。如果您听别人说过“三层交换机”,那他/她指的就是OSI模型中的第三层。作为一个对安全和入侵检测感兴趣的人,您必须了解OSI模型的各层,以便完全理解那些会对您的系统造成危害的攻击途径。

OSI模型中的每一层都很重要。那些您每天都在使用的协议,例如IP、TCP、ARP等也都分布在OSI模型的不同层。每一层在通信过程中都有它们各自不同的功能和角色。

OSI模型中的物理层被传输介质占据,例如电缆规格和相关的信号协议;换言之,它们传输比特。大多数情况下,除了保护设备和布线,网络入侵检测人员通常不会关心物理层。本书不会讨论太多有关物理安全的内容(门锁能多有趣?),因此我也不会投入太多的时间介绍OSI模型中的物理层。当然,保障物理线路安全的方式不同于保障无线设备安全的方式。

紧接着在物理层上层的是数据链路层。数据链路层在给定的物理介质上传输数据,并负责传输过程中的错误检测和恢复。物理硬件地址的定义也在这一层,例如以太网卡的介质访问控制(Media Access Control,MAC)地址。

在数据链路层之上的便是IP网络里至关重要的第三层——网络层。它负责逻辑寻址与数据路由。IP协议是网络层的协议,这意味着IP地址和子网掩码由网络层使用。路由器和一些交换机工作在第三层,它们在逻辑上或物理上分隔的网络之间传递数据。

第四层——传输层——是能够建立可靠性的重要一层。传输层的协议包括TCP和UDP。第五层是会话层,在该层上,会话在两个端点之间建立。第六层是表示层,主要负责与其上的应用层进行通信,还定义了使用的加密方式等。最后是应用层,它负责向用户或应用程序显示数据。

除了OSI模型之外,还存在另外一种模型,即DARPA模型(有时也被称作TCP/IP参考模型),这种模型仅分为4层。在讨论大多数有关网络的内容时,使用OSI模型是一种惯例。

当数据从应用程序处沿OSI模型的各层向下传递时,下一层的协议会在数据上添加一些它们自己的额外信息。这些数据通常包括一个由上一层添加到数据上的头部,有时还会添加尾部。这个过程称为封装(encapsulation)。封装的过程会一直持续直到数据在物理介质上传输。对于以太网来说,数据在传输时被称为帧。当以太网帧到达了它的目的地后,数据帧会开始沿OSI模型的各层向上传递,每一层都会读取发送方相应各层的头部(也有可能读取尾部)信息。这个过程称为解封(demultiplexing[1])。

1.1.1 面向连接和无连接的协议
在OSI模型的某些层中,协议可以根据它们是否面向连接来定义。这个定义参考了协议所提供的包括错误控制、流控制、数据分片和数据重组等功能。

让我们回想一下电话呼叫时的那种面向连接的协议。通常存在一种用于拨出电话并进行通话的双方都认可的协议。拨出电话的人,即通信的发起者,通过拨出电话号码来开始一次通话。另一个人(或者一台机器,越来越多的情况下是机器)接受电话通信的请求以便开始对话。发起者的通话请求通常由接收者一端的电话铃声所表示。接收者拿起电话,说“你好”或者其他的问候语。这时,发起者便对接收者的问候致以礼貌的回复。至此,我们可以确定会话已经成功建立了。接下来进行的便是会话的内容。在会话过程中,如果出现了一些问题,例如线路上有杂音,则一方会要求另一方重复他/她刚才所说的话。通话结束时,大多情况下,两方都会说“再见”来表明他/她已经说完了,而这通电话也将在不久后结束。

这个例子基本上显示了面向连接的协议(例如TCP)的部分场景。其实也有例外,就像TCP协议中也有一些异常或错误一样。例如,有时候,会话的发起会因为技术原因而失败,而这通常在发起方和接收方的掌控之外。

与面向连接的协议不同的是,无连接的协议更像是通过邮局传递明信片。在发信人将消息写在卡片上并将它丢进邮筒之后,发信人(大体上)就失去了对发出消息的控制。发信人并不会直接收到关于明信片是否被成功送达的确认消息。无连接的协议包括UDP和IP。

1.1.2 下一步
接下来,我将开始对互联网协议(IP)进行更加详细的介绍。然而,我强烈建议您再花些时间学习OSI模型以及相应的协议。协议和OSI模型的知识对于安全专家而言至关重要。我强烈推荐一本由Kevin R. Fall和W. Richard Stevens合著的TCP/IP Illustrated, Volume 1, Second Edition,它几乎是所有计算机专家桌上的必备之物。

相关文章
|
10天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
36 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
2天前
|
人工智能 运维 监控
超越传统网络防护,下一代防火墙安全策略解读
超越传统网络防护,下一代防火墙安全策略解读
16 6
|
3天前
|
监控 安全 BI
什么是零信任模型?如何实施以保证网络安全?
随着数字化转型,网络边界不断变化,组织需采用新的安全方法。零信任基于“永不信任,永远验证”原则,强调无论内外部,任何用户、设备或网络都不可信任。该模型包括微分段、多因素身份验证、单点登录、最小特权原则、持续监控和审核用户活动、监控设备等核心准则,以实现强大的网络安全态势。
|
20天前
|
存储 安全 算法
揭秘网络安全的盾牌与矛:漏洞防护与加密技术的较量
在数字化时代的棋局中,网络安全是每个参与者必须面对的挑战。本文将深入探讨网络安全中的两个关键角色——漏洞与加密技术。通过分析最新的安全漏洞案例,我们揭示网络攻击者如何利用这些漏洞进行破坏。同时,我们将展示加密技术如何成为保护数据不被窃取的强大盾牌。文章还将讨论提升个人和企业的安全意识的重要性,并通过实际的代码示例,展示如何在实践中应用这些知识来加强我们的网络防线。
|
20天前
|
SQL 安全 算法
网络安全的盾牌:漏洞防护与加密技术的融合之道
在数字化浪潮中,网络安全成为维护信息完整性、保障个人隐私的关键。本文深入探讨网络漏洞的产生机理和防御策略,揭示加密技术的核心原理及其在信息安全中的重要角色。通过分析安全意识的培养方法,文章旨在提升大众对网络安全的认知水平,促进一个更加安全的网络环境。
|
1月前
|
域名解析 网络协议 安全
|
27天前
|
SQL 运维 安全
网络安全的护城河:漏洞防护、加密技术与安全意识
在数字时代的浪潮中,网络安全成为了我们每个人都无法回避的话题。本文将深入浅出地探讨网络安全中的几个关键要素——漏洞防护、加密技术和安全意识,并通过实际案例和代码示例,揭示它们如何共同构建起保护信息安全的坚固防线。无论你是IT专业人士还是对网络安全感兴趣的普通用户,这篇文章都将提供给你宝贵的知识和见解。
65 5
|
28天前
|
SQL 人工智能 安全
网络安全的盾牌:漏洞防护与加密技术解析
在数字时代的浪潮中,网络安全和信息安全成为了维护社会稳定和保护个人隐私的关键。本文将深入探讨网络安全中的常见漏洞、先进的加密技术以及提升安全意识的重要性。通过分析网络攻击的手法,揭示防御策略的构建过程,并分享实用的代码示例,旨在为读者提供一套全面的网络安全知识体系,以增强个人和组织在网络空间的防御能力。
|
1月前
|
存储 安全 网络安全
揭秘网络安全的盾牌:漏洞防护与加密技术
【10月更文挑战第41天】在数字时代的浪潮中,网络安全成为了保护个人隐私和企业资产的关键防线。本文将深入探讨网络安全的两大支柱:安全漏洞的防护和加密技术的应用。我们将通过实际代码示例,展示如何识别和修补常见的安全漏洞,以及如何使用加密技术来保护数据的安全。无论你是网络安全的初学者还是有一定基础的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在这个充满挑战的领域中站稳脚跟。
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
86 3
下一篇
DataWorks