为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

防火墙的技术与发展

2019-05-06 7页 doc 21KB 13阅读

用户头像

is_562397

暂无简介

举报
防火墙的技术与发展摘    要 防火墙作为一种网络或系统之间强制实行的访问控制机制,是确保网络安全的重要手段,有基于通用操作系统设计的防火墙,也有基于专用操作系统设计的防火墙。由于Linux源代码的开放性,所以,Linux成为研究防火墙技术的一个很好的平台。本文介绍 Linux的防火墙技术 Netfilter/Iptables 在 Linux 内核中的具体实现。讨论了Linux内核防火墙套件Netfilter 实现的一些基本技术:包过滤。Linux下常用的防火墙规则配置软件Iptables;从实现原理、配置方法以及功能特点的角度描述了Linu...
防火墙的技术与发展
摘    要 防火墙作为一种网络或系统之间强制实行的访问控制机制,是确保网络安全的重要手段,有基于通用操作系统设计的防火墙,也有基于专用操作系统设计的防火墙。由于Linux源代码的开放性,所以,Linux成为研究防火墙技术的一个很好的平台。本文介绍 Linux的防火墙技术 Netfilter/Iptables 在 Linux 内核中的具体实现。讨论了Linux内核防火墙套件Netfilter 实现的一些基本技术:包过滤。Linux下常用的防火墙规则配置软件Iptables;从实现原理、配置以及功能特点的角度描述了Linux防火墙的功能;并给出了Linux下简单防火墙的搭建。 关键字:防火墙,Netfilter,Iptables ABSTRACT The firewall took between one kind of network or the system forces the access control mechanism which implements, is guarantees the network security the important method, has based on the general operating system design firewall, also has based on the special-purpose operating system design firewall. As a result of Linux source code openness, therefore, Linux becomes the research firewall technology a very good platform. This article introduces Linux firewall technology Netfilter/Iptables in Linux essence concrete realization. Discussed Linux essence firewall set of Netfilter realization’s some basic technologies: the package filter. Under Linux commonly used firewall rule disposition software Iptables; from the realization principle, the disposition method as well as the function characteristic angle described the Linux firewall function; and build up a simple firewall in Linux. Key words: Firewall,  Netfilter,  Iptables 目    录 摘  要………………………………………………………I ABSTRACT………………………………………………………II 第一章 绪  论…………………………………………………1 1.1 前言1 1.2开发背景1 第二章 防火墙技术  2 2.1防火墙概述2 2.2包过滤技术 2 第三章 Netfilter/Iptables 3 3.1 Netfilter框架6 3.1.1 Netfilter框架的介绍6 3.1.2数据包流经网络栈的6 3.2 管理工具:Iptables10 3.2.1 Iptables 防火墙规则配置管理工具10 3.2.1 Iptables工具的应用方法11 第四章  Linux下简单防火墙的搭建13 4.1防火墙搭建的战略规划13 4.2 Iptables规则脚本16 第五章  总结与展望18 5.1 应用前景18 5.2 总体体会18 参考文献10 致    谢11 第一章 绪  论 1.1 前言 Linux 可以追溯到UC Berkeley分校的Unix,因此从某种意义上讲,Linux本身就是一种网络操作系统,Linux在实现网络功能方面有着独特的优势。防火墙的初步功能首次出现在Linux 1.1内核中,到Linux 2.0内核时,其部件IPFwadm对防火墙部分已进行了很大改进和增强;Linux 2.2.x内核发布时,IPchains和单独开发的NAT等模块已经可以比较完整地实现内核IP防火墙功能,从Linux的2.4内核开始的Netfilter最终废除了Ipchains,其主要原因有:IPchain是以内核级运行的C及C++代码,没有很好地提供从用户空间访问IPchains的接口,限制了IPchains的可扩展性。 1.2 开发背景 在网络安全问日趋严峻的今天,防火墙作为第一道防线起着关键的作用。防火墙可以对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。从而对防火墙的研究成为研究热点。 第二章 防火墙技术 2.1防火墙概述 防火墙是一个或一组实施访问控制策略的系统。它在内部网络(专用网络)与外部网络(功用网络)之间形成一道安全保护屏障,防止非法用户访问内部网络上的资源和非法向外传递内部信息,同时也防止这类非法和恶意的网络行为导致内部网络运行遭到破坏。它基本功能是过滤并可能阻挡本地网络或者网络的某个部分与Internet之间的数据传送(数据包)。防火墙的主要功能包括: 1.防火墙本身支持一定的安全策略。 2.提供一定的访问或接入控制机制。 3.容易扩充、更改新的服务和安全策略。 4.具有代理服务功能,包含先进的鉴别技术。 5.采用过滤技术,根据需求来允许或拒绝某些服务。 6.防火墙的编程语言应较灵活,具有友好的编程界面。并用具有较多的过滤属性,包括源和目的IP地址、协议类型、源和目的的TCP/UDP端口以及进入和输出的接口地址。 2.2 包过滤技术 包过滤技术是防火墙的一种最基本的实现技术,具有包过滤技术的装置是用来控制内、外网络间数据流的流入和流出,包过滤技术中的数据包大部分是基于TCP/IP协议平台的,其中包括网络层的IP数据包,运输层的TCP和UDP数据包以及应用层的FTP、Telnet和HTTP等应用协议数据包三部分内容。 过滤技术依靠以下三个基本依据来实现“允许或不允许”某些包通过防火墙: 1. 包的目的地址及目的端口; 2. 包的源地址及源端口; 3. 包的传输协议。 第三章  Netfilter/Iptables 3.1 Netfilter框架 3.1.1 Netfilter框架的介绍 Netfilter是Linux 2.4实现的防火墙框架,Netfilter提供了一个抽象、通用化的框架定义一个子功能实现的就是包过滤子系统。Netfilter由一系列基于协议栈的钩子组成,这些钩子都对应某一具体的协议。每一个协议对应的钩子函数都定义在协议具体的头文件中,如对应于IPv4的钩子函数就定义在内核头文件:/Linux/netfilter_ipv4.h中。 3.1.2 数据包流经网络协议栈的分析 1、收到数据,中断发生 通常的,当一块网卡接收到属于其自己MAC地址或者广播的以太网络数据帧时,就会引发一个中断,网卡驱动的中断处理程序获得机会,通过I/O,DMA复制网络帧数据到内存中。然后网络驱动程序将创建一个skb结构,将网络帧数据填充,设置时间戳,区分类型后,将skb送入对应的包接收队列(其实就是添加到系统中的一个双向链表中)。 2、数据接收软中断 内核调用kernel/softirq.c:do_softirq()执行数据包接收软中断(NET_RX_SOFTIRQ),将skb从CPU的接收队列中取出来,交给对应IPv4协议处理程序。协议处理程序将对传入的数据包进行一些完整性监测,如果监测失败,则将数据包丢弃。通过完整性监测以后,将进行一些必要的清理操作,去掉可能多余的填充数据,并且重新计算数据包的长度。 3.2 管理工具:Iptables 3.2.1 Iptables 防火墙规则配置管理工具 Netfilter框架在内核中主要负责PACKET的获得和重新注入,而对PACKET的匹配预处理主要由规则表来完成。 当我们用Iptables命令配置工具配置一条规则后,Iptables应用程序会运用iptables-standalone.c::main()::do_command(),然后再调用libiptc库提供的iptc_commit()函数向核心提交该操作请求。该函数根据请求会设置一个struct ipt_replace结构,用来描述规则所涉及的表和HOOK点等信息,并在其后附接当前这条规则(一个struct ipt_entry结构)。从而将命令行输入转换为程序可读的。组织好这些数据后,iptc_commit()调用setsockopt()系统调用来启动核心处理这一请求: setsockopt(      sockfd, //通过socket创建的原始套接字, TC_IPPROTO,            //即IPPROTO_IP SO_SET_REPLACE,  //即IPT_SO_SET_REPLACE repl,              //struct ipt_replace结构 sizeof(*repl) + (*handle)->entries.size  ) 3.2.1 Iptables工具的应用方法
/
本文档为【防火墙的技术与发展】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索