Chinaunix首页 | 论坛 | 博客
  • 博客访问: 154470
  • 博文数量: 41
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-14 10:16
文章分类
文章存档

2011年(1)

2010年(5)

2009年(35)

我的朋友

分类: LINUX

2009-10-15 11:46:22

 

随着计算机技术的发展,网络也在迅猛地普及和发展。人们在享受着网络带来的各种便利的同时,也受到了很多黑客的攻击。在众多的攻击种类中,有一种叫做 DoSDenial of Service 拒绝服务)的攻击,是一种常见而有效的网络攻击技术,它通过利用协议或系统的缺陷,采取欺骗或伪装的策略来进行网络攻击,最终使得受害者的系统因为资源耗尽或无法作出正确响应而瘫痪,从而无法向合法用户提供正常服务。它看上去平淡无奇,但是攻击范围广,隐蔽性强、简单有效而成为了网络中一种强大的攻击技术,极大地影响了网络和业务主机系统的有效服务。其中,DDoSDistubuted Denial of Service 分布式拒绝服务)更以其大规模性、隐蔽性和难防范性而著称。

本论文首先研究了Linux系统以及运行于该系统的应用程序漏洞,分级讨论了防御对Linux服务器攻击的方法,并着重介绍了Linux文件系统的安全问题。其次,从Linux基本安全机制、数据传输加密和Linux防火墙等方面来讨论了如何构建安全的Linux系统。还有就是介绍了对Linux系统内核进行修改以达到防御DoS攻击的效果。并对Linux网络安全的未来发展做出了展望。

 

关键词DoSDdos; Linux


 

 

 

                                     

 

With the development of the computer technology, network is rapidly popularizingand developing. When enjoying the benefits arsing from network, people are on theother hand facing the attack of Hackers, one of which attack is named DoS (Denial of Service) attack. The DoS is an effective and usual network attack technique, whichemploys the bugs of protocols or systems to launch the attack in a disguisd or fake wayand finally disables the victim computer due to resources exhcaust and failure toreponse properly and results in the failure to supply normal service to legitimateusers.Such attack appears ordinary .However it is simple but effective with a wide scopeof attack and high degree of hiding,which to great extent affects the effective service of network and operational host.Among the other things,DDoS (Distubuted Denial of Service) is more notorious of its massive scale,hiding and difficutly of defending.

This thesis, firstly, studied the Linux system and some leaks of the applications running on it, discussed the ways how to defend the attacks to Linux servers, and introduced the security of Linux file systems.Secondly, it discussed how to set up a safe Linux system in the way of basic safety mechanism, data delivering encrypts, firewall and so on.Finally, it still analyzed Linux sniffer software. In view of the disadvantages of that software, I thought out a new-fashioned sniffer in terms of the actualStill have is to introduced to carry on the modification to the pit inside the system of LINUNS, to attain the result of defendoof the attack of DOS.In the end of this article, I pointed out some shortcomings and bugs in my designation and predicted the future of Linux network security.

 

Key words: DoSDdosLinux

          

  . I

Abstract II

第1  . 1

1.1  问题的提出. 1

1.2  研究背景. 2

1.3  项目的研究工作. 3

第2  . 4

2.1  防火墙的一般原理. 4

2.2  防火墙的功能. 5

2.3  防火墙的分类. 6

2.3.1  IP级防火墙. 6

2.3.2  应用级防火墙. 6

2.4  防火墙体系结构. 6

2.5  防火墙产品和技术发展方向. 7

2.5.1  防火墙产品的发展. 7

2.5.2  防火墙技术发展方向. 10

第3  Linux系统概况. 11

3.1  Linux简介. 11

3.2  Linux与Windows的安全性比较. 11

3.3  Netfilter 12

3.3.1  netfilter介绍. 12

3.3.2  netfilter框架. 12

3.3.3  netfilter分析. 13

3.3.4  netfilter的连线跟踪机制. 15

3.3.5  netfilter防火墙流程结构. 18

3.4  Iptables 20

3.4.1  iptables与netfilter的关系. 20

3.4.2  iptables关键数据结构. 20

3.4.3  iptables命令. 22

3.5  Linux模块机制概述. 25

3.6  小结. 26

第4   基于Linux抵御DoS攻击防火墙. 27

4.1  系统设计. 27

4.1.1  系统模块设计. 27

4.1.2  系统环境配置. 28

4.1.3  系统默认策略. 29

4.2  系统基本模块. 29

4.2.1  包过滤模块实现. 29

4.2.2  系统本模块综合实现. 33

4.3  抵御DoS攻击模块. 33

4.3.1  DoS攻击. 34

4.3.2  抵御SYN洪水攻击模块. 34

4.3.3  抵御泪滴攻击模块. 44

4.3.4  抵御Smurf攻击模块. 46

4.4  小结. 46

  . 47

  . 50

参考文献. 51

附录1  外文资料原文. 53

附录2  外文资料中文翻译. 60

附录3  设计系统部分源代码. 65


 

问题的提出

随着以Internet为代表的全球信息化浪潮的来临,信息网络技术的应用正日益广泛,应用层次正在深入,应用领域也从传统的、小型业务系统逐渐向大型、关键业务系统扩展,其中以党政系统、大中院校网络系统、银行系统、商业系统、管理部门、政府或军事领域等为典型。伴随网络的普及,公共通信网络传输中的数据安全问题日益成为关注的焦点。一方面,网络化的信息系统提供了资源的共享性、用户使用的方便性,通过分布式处理提高了系统效率和可靠性,并且还具备可扩充性。另一方面,也正是由于具有这些特点增加了网络信息系统的不安全性。开放性的网络,导致网络所面临的破坏和攻击可能是多方面的,例如:可能来自物理传输线路的攻击,也可以对网络通信协议和实现实施攻击,可以是对软件实施攻击,也可以对硬件实施攻击。国际性的网络,意味着网络的攻击不仅仅来自本地网络的用户,也可以来自linternet上的任何一台机器,也就是说,网络安全所面临的是一个国际化的挑战。开放的、国际化的Internet 的发展给政府机构、企事业单位的工作带来了革命性的变革和开放,使得他们能够利用Internet 提高办事效率、市场反应能力和竞争力。通过Internet,他们可以从异地取回重要数据,同时也面临Internet 开放所带来的数据安全的挑战与危险。如何保护企业的机密信息不受黑客和工业间谍的入侵,己成为政府机构、企事业单位信息化建设健康发展所要考虑的重要因素之一。广泛分布的企业内部网络由公共网络互联起来,这种互联方式面临多种安全威胁,极易受到外界的攻击,导致对网络的非法访问和信息泄露。防火墙是安全防范的最有效也是最基本的手段之一,虽然国外己有许多成熟的防火墙及其他相关安全产品,并且这些产品试图打入中国市场,但是对于安全产品来说,我们更希望能够自己掌握安全技术,使用自己的安全产品,所以对网络安全的研究非常重要,具有深远的意义。

研究背景

目前Internet 的安全性保障不容乐观,计算机紧急事件响应队(CERT)近年收到的计算机安全事故报告的数量一直呈上升趋势,1999年该中心收到了约10, 000 份计算机安全事故报告,2000年达到了21, 756份,而2001 年更上升到了52, 658 份。20002 月上旬,Yahoo, eBay, CNN.com, Amazon,Buy. comETrade等著名商业网站连续遭到黑客攻击,造成了数以十亿美元的损失,向世人再一次敲响了网络并不安全的警钟。如果用户能根据自己的实际需要,将防火墙设计的一般理论和方法与自己系统的具体实际相结合,设计一些小而精、精而强的防火墙程序,则往往可以发挥出比花大价钱买来的通用型防火墙更好的作用。操作系统作为防火墙运行的基础平台,对防火墙起到一个至关重要的作用。Windows操作系统由于其源代码不公开,所以对操作系统加固安全性只能是打上微软公司最新的补丁,当发现新Bug 时等微软公司出新的补丁。对NT 防火墙的一致意见也正是在NT系统的bug 上,而NT 系统最大的bug 就是‘NT 安全性远远不能运行一个正规的防火墙。而Linux 操作系统良好的网络性能和开放源码的特点,使得在其上布置防火墙有了一个可靠的基石,也使得越来越多的用户选择了Linux 作为其防火墙的操作平台。Linux2. 4 内核版操作系统本身所带有的netfilter 是一个优秀防火墙架构,其功能和性能可与多数的商业防火墙产品媲美。在国内,大多数防火墙借鉴了netfilter 的结构。为适应日益增长的对网络安全产品的需求,向企事业单位提供网络安全解决方案参考,也为研究最新的网络安全技术,选择了在Linux 下作防火墙研究,并设计了一款防火墙。

项目的研究工作

在对Linux 2. 4 内核防火墙netfilter 的原理深入研究后,分析了在netfilter 架构下防火墙的设计、实现和开发过程。以kylix3. 0为开发环境,作者基于netfilter 架构开发了一款包过滤和应用代理的混合型防火墙,并对其做了测试。该防火墙系统是由包过滤管理模块、路由记录模块、应用代理模块(syn proxy)、扫描防御模块和日志记录模块构成。其中包过滤是基于netfilter 中的iptables 来实现的,网络地址转换也在包过滤管理模块中实现;路由记录模块通过修改Linux 内核中TCP/IP程序和重新编译内核使内核支持路由记录功能来实现的;在应用代理模块中实现了HTTP代理和一个通用代理服务,HTTP代理程序基于SQUID 实现,而通用代理由一个代理进程来实现;扫描防御模块中主要是通过一个网络扫描防御Demo 进程来监控是否有扫描发生;日志记录模块主要是选择记录日志的位置,有本机和邮件通知两种选择方式。针对常见的IP 地址欺骗、IP 源路由欺骗、ICMP 重定向欺骗、IP 劫持等常见网络攻击给予了分析并在过滤管理模块中加以解决实现,其中IP 劫持实现是用一个钩子函数注入协议栈中来实现的。文中还分析了加固操作系统而关闭一些危险和不使用的服务,使防火墙架设在一个相对安全的基础上,同时也将系统编译升级为最新的稳定内核。

 

 

 

 

 

 

 

 

 

防火墙的一般原理

随着网络规模的扩大和开放性的增强,网络上的很多敏感信息和保密数据将受到很多主动和被动的人为攻击。一种解决办法是为需要保护的网络上的每个工作站和服务器都装备上强大的安全特征(例如入侵检测),但这几乎是一种不切合实际的方法,因为对具有几百个甚至上千个节点的网络,它们可能运行着不同的操作系统,当发现了安全缺陷时,每个可能被影响的节点都必须加以改进以修复这个缺陷。另一种选择就是防火墙(Firewall),防火墙是用来在安全私有网络(可信任网络)和外部不可信任网络之间安全连接的一个设备或一组设备,作为私有网络和外部网络之间连接的单点存在。防火墙是设置在可信任的内部网络和不可信任的外部网络之间的一道屏障,它可以实施比较广泛的安全策略来控制信息流,防止不可预料的潜在的入侵破坏,其在网络环境中的位置如图2-1所示。

2-1  具有DMZ外网和内部局域网的防火墙系统

防火墙具有以下性质:

(1) 从里向外和从外向里的流量都必须通过防火墙,这是通过物理上阻塞所有不经过防火墙的局域网访问来实现的;

(2) 只有被认可的通信量,即通过本地安全策略进行检查后,才能通过防火墙;

(3) 防火墙本身不可穿透,这就隐含使用了一个装有安全操作系统的可信任系统。

防火墙的功能

从逻辑上说,防火墙是一个分离器,是一个限制器,是一个分析器,建立防火墙可以达到以下目的:

(1) 管理进、出网络的访问防火墙允许网络管理员定义一个中心“扼制点”来防止非法用户进入内部网络,禁止存在安全脆弱性的服务进出网络,并抗击来自各种路线的攻击。防火墙能够简化安全管理,因为网络安全性是在防火墙系统上得到实施,而不是分布在内部网络的各个主机上的;

(2) 保护网络中脆弱的服务防火墙通过过滤存在安全缺陷的网络服务来降低内部网遭受攻击的威胁,因为只有经过选择的网络服务才能通过防火墙;

(3) 检测和报警在防火墙上可以很方便的监视网络的安全性,并产生报警。网络管理员通过防火墙日志可以审查常规记录并及时响应报警,以便知道防火墙或内部网络是否正受到攻击;

(4) 集中安全性如果一个内部网络的所有或大部分需要改动的安全程序都能集中放在防火墙系统中,而不是分散到每个主机中,这样防火墙的保护范围就相对集中,安全成本也相对便宜了;

(5) 日志与统计工nternet防火墙是审计和记录工nternet使用量的一个最佳地点。防火墙可以对正常网络使用情况做出统计,通过对统计结果的分析,可以使网络资源得到更好的利用。

防火墙的分类

2.3.1  IP级防火墙

又称为包过滤(packet filter)防火墙。在为IP报文进行转发之前根据报文的源地址、目的地址和端口号来过滤报文。IP 级防火墙具有很高的网络性能和很好的透明性、方便性。但它只能根据IP地址和端口号等特征来进行报文过滤,无法针对特定用户和特定服务等请求,粒度不够细致。IP 级防火墙可以作为一个独立的软硬件设备出现,也可以作为其他网络设备(如路由器)或系统中的一个功能模块来实现。

2.3.2  应用级防火墙

又称为代理防火墙,是运行在充当防火墙上的一些特定的应用程序或者服务器程序来实现的。充当防火墙的主机是指有一个网络接口连接互联网络而另一个接口连接内部网络的双宿主机。它封堵了外部网络的直接连接,一般针对特定的应用,由用户端的代理客户和防火墙端的代理服务器两部分组成。代理客户通常是对应用客户的改造,使其与防火墙而不是真正的应用服务器交互;而代理服务器代用户向应用服务器提交请求,并将结果返回给用户。应用级防火墙的优点是在用户和服务器之间不会有直接的工P 报文交换,所有的数据交换均由防火墙进行中继,而且防火墙能够提供鉴别、日志与审计功能,增强了安全性。

防火墙体系结构

防火墙的体系结构一般有以下几种:双重宿主主机体系结构、屏蔽主机体系结构和屏蔽子网体系结构:

1.双重宿主主机体系结构

双宿主主机结构是围绕着至少具有两个网络接口的双宿主主机(又称堡垒主机而构筑的。内外的网络均可与双宿主主机实施通信,但内外网络之间不可直接通信,内外网络之间的IP 数据流被双宿主主机完全切断。双宿主主机可以通过代理或让用户直接注册到其上来提供很高程度的网络控制。受保护网除了看到堡垒主机外,不能看到其他任何系统。同时堡垒主机不转发TCP/TP 诵信报亨,网络中的所有服务都必须由此主机的相应代理程序来支持。

2.屏蔽主机体系结构

屏蔽主机体系结构中提供安全保护的主机仅仅与内部网相连,另外有一台单独的过滤路由器连接内外网,这台路由器的意义就在于强迫所有到达路由器的数据包被发送到被屏蔽主机。这种体系结构中过滤路由器是否正确配置是这种防火墙安全与否的关键,过滤路由器的路由表应当受到严格的保护,否则如果遭到破坏,则数据包就不会被路由到堡垒主机上。

3.屏蔽子网体系结构

屏蔽子网体系结构增加一个把内部网与互联网隔离的周边网络(也称为非军事区DMZ),从而进一步实现屏蔽主机的安全性,通过使用周边网络隔离堡垒主机能够削弱外部网络对堡垒主机的攻击。

防火墙产品和技术发展方向

2.5.1  防火墙产品的发展

防火墙产品的发展可分为以下四个阶段:

 

1.第一代防火墙:基于路由器的防火墙

由于多数路由器中本身就包含有分组过滤功能,故网络访问控制可通过路由控制来实现,从而使具有分组过滤功能的路由器成为第一代防火墙产品。

其特点是:

(1) 利用路由器本身对分组的解析,以访问控制表方式实现对分组的过滤;

(2) 过滤判定的依据是IP地址、端口号和其他网络特征;

(3) 只有分组过滤功能,防火墙与路由器是一体的,对安全要求低的网络采用路由器附带防火墙功能的方法,对安全性要求高的网络则可单独利用一台路由器作为防火墙。

基于路由器的防火墙是网络安全的一种应急措施,其本身存在很多不足:

(1) 本身具有安全漏洞,外部网络要探寻内部网络十分容易;

(2) 分组过滤规则的设置和配置存在安全隐患。路由器中过滤规则的设置和配置十分复杂,它涉及到规则的逻辑一致性、作用端口的有效性和规则的正确性,一般的网络系统管理员难于胜任,加之一旦出现新的协议,管理员就得加上更多的规则去限制,这往往会带来很多错误;

(3) 攻击者可“假冒”地址,黑客可以在网络上伪造假的路由信息欺骗防火墙;

(4) 由于路由器的主要功能是为网络访问提供动态的、灵活的路由,而火墙则要对访问行为实施静态的、固定的控制,这是一对难以调和的矛盾防火墙的规则设置会大大降低路由器的性能。

2.第二代防火墙:用户化的防火墙

(1) 将过滤功能从路由器中独立出来,并加上审计和告警功能;

(2) 针对用户需求,提供模块化的软件包;

(3) 软件可通过网络发送,用户可自己动手构造防火墙;

(4) 与第一代防火墙相比,安全性提高而价格降低了。

由于是纯软件产品,第二代防火墙产品无论在实现还是在维护上都对系管理员提出了相当复杂的要求,因此也带来很多问题:

(1) 配置和维护过程复杂、费时;

(2) 对用户的技术要求高;

(3) 纯软件实现、安全性和处理速度均有局限;

(4) 实践表明,使用中出现差错的情况很多。

3.第三代防火墙:建立在通用操作系统上的防火墙

基于软件的防火墙在销售、使用和维护上的问题迫使防火墙开发商推出了建立在通用操作系统上的商用防火墙产品,近年来在市场上广泛使用的就是这一代产品,其特点是:

(1) 是批量上市的专用防火墙产品;

(2) 包括分组过滤或借用了路由器的分组过滤功能;

(3) 装有专用的代理系统,监控所有协议的数据和指令;

(4) 保护用户编程空间和用户可配置内核参数的设置;

(5) 安全性和速度大为提高。

第三代防火墙有以纯软件实现的,也有以硬件方式实现的。但随着安全需求的变化和使用时间的推延,表现出了不少问题,其中基于Windows NT开发的防火墙产品中表现得十分明显。

作为基础的操作系统,其内核往往不为防火墙管理者所知,由于源码的保密,其安全性无从保证。

大多数防火墙厂商并非通用操作系统的厂商,通用操作系统厂商不会对操作系统的安全性负责。

4.第四代防火墙:具有安全操作系统的防火墙

该是目前防火墙产品的毛要发展趋势。具有安全操作系统的防火墙本身就是一个操作系统,因而在安全性上较第三代防火墙有质的提高。获得安全操作系统的办法有两种:一种是通过许可证方式获得操作系统的源码;另一种是通过固化操作系统内核来提高可靠性。其特点是:

(1) 防火墙厂商具有操作系统的源代码,并可实现安全内核;

(2) 对安全内核实现加固处理:即去掉不必要的系统特性,加上内核特性,强化安全保护;

(3) 对每个服务器、子系统都作了安全处理,一旦黑客攻破了一个服务器,它将会被隔离在此服务器内,不会对网络的其他部分构成威胁;

(4) 在功能上包括了分组过滤、应用网关、电路级网关,且具有加密与鉴别功能;

(5) 透明性好,易于使用。

2.5.2  防火墙技术发展方向

防火墙从技术发展趋势来看,提高性能和采用模块化设计是防火墙技术发展的主要方向。处理能力的提高主要集中在两方面:硬件结构的优化和软件算法的更新。而硬件结构优化是走向软硬件一体化,充分发挥硬件最高效能,又提高了系统自身安全性。

功能设计模块化提高防火墙的适应能力、处理能力和提高防火墙性能的线速处理能力,达到对整个会话过程中的所有传输内容进行检查。审计报告也会向智能化方向发展,在报告的基础上对整个网络安全状况进行全盘的把握,并进行总结改进,依据充分的日志记录,为用户提供详细而又灵活的使用情况分析报告,为网络管理人员提供一个全局的视角。而入侵检测是防火墙产品回避不了的问题,因此未来防火墙的发展趋于协同互动的分布式防火墙。

阅读(1737) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~