毕业设计(论文)-基于Linux系统的DNS服务器应用.doc_第1页
毕业设计(论文)-基于Linux系统的DNS服务器应用.doc_第2页
毕业设计(论文)-基于Linux系统的DNS服务器应用.doc_第3页
毕业设计(论文)-基于Linux系统的DNS服务器应用.doc_第4页
毕业设计(论文)-基于Linux系统的DNS服务器应用.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

曲靖师范学院本科毕业论文(设计)论文题目: 基于Linux系统的DNS服务器应用作 者: 学号:2011142122学 院:计算机科学与工程学院 年 级:2011级 专 业:信息管理与信息系统 指导教师: 职称: 讲师 日 期: 曲靖师范学院教务处制曲靖师范学院 本论文(设计)经答辩小组全体成员审查,确认符合曲靖师范学院本科(学士学位)毕业论文(设计)质量要求。 答辩小组签名主席姓 名工 作 单 位职 称成员 答辩日期:原创性声明本人声明:所呈交的论文(设计)是本人在指导教师指导下进行的研究工作成果。除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已发表或撰写过的研究成果。参与同一工作的其他同志对本研究所作的任何贡献已在论文(设计)中作了明确的说明并表示了谢意。签名: 日期: 。论文设计(设计)使用授权说明本论文(设计)作者完全了解曲靖师范学院有关保留、使用毕业(学位)论文(设计)的规定,即学校有权保留论文(设计)及送交论文(设计)复印件,允许论文(设计)被查阅和借阅;学校可以公布论文(设计)的全部或部分内容。签名: 指导教师签名: 日期: 。基于Linux系统的DNS服务器应用摘要随着计算机网络的快速发展,邮件传输、网上信息交流、网上购物等基于互联网的多种服务给我们的工作和生活带来了很大的方便。在众多网络服务中,DNS服务是其中最基本也是最重要的服务,它承担着域名解析的任务。目前最常用的DNS服务器操作系统有Windows和Linux。Linux因为免费开源、配置要求低、功能强大而稳定、安全性、支持多用户多任务和多线程等特性,在嵌入式系统及网络服务领域得到了广泛的应用。虽然DNS服务器强大的功能方便了我们的生活,但是它的安全性也是不容忽视的,一旦DNS服务器出现问题,将会给运营商以及用户带来很大的损失。所以在本次设计中,本人认真分析了DNS的工作原理以及解析过程,介绍了基于Linux系统的DNS服务器的配置与应用,指出了DNS的安全问题并提出解决办法。关键字:Linux操作系统;DNS服务器;域名系统;网络安全;防火墙 DNS server applications based on Linux Operating systemsAbstract:With the rapid development of computer networks, messaging, online information exchange, online shopping and other Internet-based multi-service to our work and life has brought great convenience. In many network services, DNS service is one of the most fundamental and important service, which bears the name resolution tasks. The most commonly used DNS server operating systems Windows and Linux. Linux as a free open source configuration requirements low, powerful and stable, security, support for multi-user multi-tasking and multi-threading features in embedded systems and network services has been widely used. Although the DNS server powerful features to facilitate our lives, but its security can not be ignored, there is a problem once the DNS server, it will bring great losses to the operators and users. Therefore, in this design, I carefully analyzed the working principle and DNS resolution process, and describe how to configure and use Linux-based DNS servers, DNS security issues pointed out and propose solutions.Keywords:Linux operating system;DNS server ;Domain Name System ;Network Security ;Firewall目录1引言11.1 选题背景11.2 企业需求及应用22 DNS概述42.1 DNS概念介绍42.2 DNS解析原理及解析过程82.3 DNS服务器类型133 企业中DNS服务器的实施153.1 企业网络环境153.2 主DNS服务器的实施173.3 辅助DNS服务器的实施244 测试域名解析264.1 测试主DNS服务器264.2 测试辅助DNS服务器275 DNS安全问题295.1 DNS服务器的常见威胁295.2 DNS服务器的安全措施306 总结31参考文献32致 谢33基于Linux系统的DNS服务器应用 张欢1引言1.1 选题背景 随着信息时代的到来和网络技术的发展,网络已然成为人们进行信息沟通和交流的重要手段之一。为了给人们提供更安全便捷的服务,网络服务的管理显得尤为重要。Linux是一个用户可以免费使用且源码开放的类Unix操作系统,Linux系统具有免费开源、配置要求低、功能强大而稳定、安全性、支持多用户多任务和多线程等特性。Linux支持32位和64位的硬件。因此,Linux在嵌入式系统及网络服务领域受到极大的欢迎并得到了广泛的应用。早在2000年,Linux服务器操作系统的国际市场占有份额已经达到了27%,发货量也增长了24%,是增长最快的服务器操作系统。另外,我国Linux的应用已经扩展到服务器领域、嵌入式系统、互联网领域以及信息安全领域等各个方面。我国企业信息化的主体主要是中小型企业,而目前我国较大多数中小型企业都是在Linux操作系统上搭建DHCP服务、DNS服务、Web服务、电子邮件服务和FTP服务等服务器。2006年,IBM公司提出:将Linux操作系统视为是在商业服务器平台上微软Windows操作系统的替代品。2013年10月17日,来自赛迪网的一个报告指出,随着云计算、大数据产业的快速发展,Linux已开始取代Unix成为最受青睐的操作系统。2012年,Gartner发布预测,到2017年,65%的应用将会从Unix迁移到x86架构中(主要迁移至Linux)。今年8月,Forrester Research也发布了最新的研究报告,83%的受访者当前正在服务器上运行Linux,还有超过40%的受访者正将Linux用于主要的服务器操作系统或顶级服务器平台。从国内外的这些数据中不难看出,Linux服务器在市场上所占的份额越来越大,尤其是在中小型企业中更是被广泛应用。而DNS(Domain Name System)域名系统是互联网的重要基础设施,目前大多数互联网应用,如网页浏览、电子邮件、文件传输等,都依赖域名系统来实现网络资源的寻址和定位。DNS是网络服务中最基本的服务,它的工作是将域名解析位IP地址以及将IP地址解析位域名。另外,DNS服务器还承载着负载均衡、智能解析、状态检测、域名纠错等高级应用。DNS服务器广泛应用于运营商、企业、单位、高校等场所的网络环境中。如果DNS服务器出现故障,那么将严重影响到依赖DNS服务的其他服务,甚至造成网络瘫痪。正是因为DNS域名系统应用广泛且如此重要,所以我选择DNS作为研究对象。1.2 企业需求及应用我们都知道,为了方便企业内部管理,现在的大中小企业都建立了自己的内部专用网络。所谓的内部网(Internal Network)就是指采用Internet技术建立的公司或者企业内部的专用网络,它是以TCP/IP协议作为基础,以Web为应用的核心,把整个网络搭建成一个统一和便利的信息交换平台。内部网(Internal Network)可提供的服务有:Web出版、交互式运用、目录、电子邮件的发送和接收、文件的管理、打印和网络管理等等。因为公网的DNS只是用来实现公网的IP地址解析的,内网的域名在服务商提供的DNS服务器上一般是解析步出来的,我们不可能为每一台电脑都申请注册一个域名,所以为了在企业内部很好的实现这些服务,方便企业内部网络办公和域名访问的话,企业就要在自己的内网上搭建自己的DNS服务器,这样才能企业内网实现内网域名的IP地址解析。企业内部搭建DNS服务器就是为了让企业内部的每一台电脑都有自己的企业内部域名,来实现内网访问和文件共享等功能。另外,还因为企业搭建自己内部的DNS还有以下的好处:1.内部网络高速、安全、稳定、不受攻击;2.如果企业内部都用公网解析,会因为距离太远而造成解析缓慢。相反地,利用企业内部解析,可减少解析时间,加快内部访问公网的速度;3.节约带宽。一般企业的带宽都是有限的,不可能是无限带宽,在企业内部建立DNS服务器,可以避免带宽的浪费;4.提高缓存。在企业内部建立DNS服务器,可建立内部DNS的缓存,不需要更新,这样也是为了提高企业内部的网速;5.内部使用自己搭建的DNS解析,可以避免因为网络故障造成的无法解析,以及TTL值设置不同而导致的域名解析混乱;6.企业内部有自己的域名记录,在自己的DNS服务器里,可以更好的维护。例如,你要变更IP地址,更改TTL值,增加新的功能,都可以实时的根据自己时间来定。而通过路由器的DNS(一般都是区域的顶层DNS),上级DNS的TTL值设置一般在一个星期,甚至一个月,也就是说你的每次A记录变更,每个客户端都更新过来,最长期限需要一个星期甚至一个月,这对于业务系统来说是致命的;7.因为是我们自己搭建的DNS服务器,所以如果运行过程中出现了无法解析,无法连接等问题,我们能更方便快速的进行排查,在第一时间检查出问题并解决。正因为如此,企业内部都迫切需要建立自己的内部网络,并搭建自己的网络服务器来进行内部网络的管理。鉴于Linux操作系统的安全性、稳定性,现在许多中小型企业都选择在Linux操作系统上搭建自己的DNS服务器。中小型企业的简单网络拓扑结构如图2.1所示。图2.1 企业网络拓扑结构图2 DNS概述2.1 DNS概念介绍DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串1。简单的说,DNS的功能就是把域名解析成相对应的IP地址,也可以把IP地址反向解析成与之对应的域名。在现实生活工作中,人们访问一个网站时,人们只会记得这个网站的域名,基本不会记住这个网站的IP地址是多少。人们通过输入域名来访问网站时,必须实现域名到IP地址之间的映射,所以每个域名都有其对应的IP地址。2.1.1 域名空间域名系统的名字空间是按层次结构来划分的,通常可以把它看作一个树形结构,但是域名系统不区分树内节点和叶子节点,统称为节点,不同节点可以使用相同的标记。所有节点的标记只能由3类字符组成:26个英文字母(az)、10个阿拉伯数字(09)和英文连词号(-),标记的长度最长为22个字符。一个节点的域名是由从该节点到根的所有节点的标记连接组成的,中间以点分隔。最上层节点的域名称为顶级域名(TLD,Top-Level Domain),第二层节点的域名称为二级域名,依此类推。域名系统结构的树形结构图如图2.1所示。图2.1 域名系统树形结构图2.1.2 根域在DNS服务器的域名空间中,根域只有一个,以原点“.”表示,它没有上级域。在Internet中,根域是默认的,一般都不需要表示出来。根域位于美国,由Inter NIC管理。到目前为止,根域中有13台服务器,这些服务器称为根域服务器(root domain name server)。随着DNS服务器中的缓存文件的增多,根域服务器也将会不断增加2。2.1.3 顶级域名在根域之下的第一级域名就是顶级域(Top-Level Domain,TLD),它的上级域是根域。因特网域名与地址管理机构ICANN(Internet Corporation for Assigned Names and Numbers),主要负责域名系统管理、IP地址分配、协议参数配置和主服务器系统管理。不同国家或地区的顶级域名都是由ICANN统一分配的,如我国的顶级域名是.cn,美国的顶级域名是.us。为了方便管理,ICANN还设置了13个顶级类别域名。具体域名及对应的含义如表2-1所示。表2-1 各类顶级域名及含义域名含义.com企业.edu教育机构.gov政府机构.mil军事部门.net互联网络及信息中心.org非赢利性组织.aero航空运输业.biz商务.coop协作组织.info无特定指向,面向通用.museum博物馆.name个人.pro会计师、律师、医师等2.1.4 子域在DNS的域名空间中,一般把二级或以下的域都叫做子域(Sub Domain),也就是说,除了根域和顶级域之外,其他的域都可以称为子域,子域都有上级域。说到子域,我们再顺便说一下域(Domain)的概念,域名系统空间中的一棵逻辑子树称为域(Domain),每一个域可以有一个或者多个子域(subdomain)。一般来说,一个域中的映射关系由一台主机DNS服务器管理。子域则相当于域名节点下的树枝。另外,子域也是相对而言的。比如,曲靖师范学院的域名是,其中的“.”便是顶级域“.cn”的子域,而“”又是“.”的子域。2.1.5 主机名在DNS的域名空间中,位于最下面的一层便是域的主机名,它没有下级子域。通俗的说,一个Internet网址的最前边的便是域主机名。比如,曲靖师范学院的全域名是,其中的www便是该域下的一台主机的名称。2.1.6 区域通常来说,我们把域名空间中的存有数据库记录并且这些记录是由一个特殊的区域文件来管理的这一部分域名空间叫做区域(Zone)。区域是由同级或不同级的多个子域组成的一个管理单位。所以,DNS服务器就是以区域为单位来管理域名空间的。一台DNS服务器可以管理一个或多个区域,而一个区域也可以由多台DNS服务器来管理。如图2.2中的浅蓝色部分就可以看作一个区域163.com。图2.2 DNS域名空间区域划分图2.1.7 解析器解析器(Resolver)的作用是用于主机名字与IP地址之间的互相查询。解析器仅仅是bind中的一组库例程,它们并不是独立的进程。那么解析器具体负责什么工作呢?汇集查询、发送查询并等待应答以及当未得到应答时重发查询就是解析器所做的工作。2.1.8 资源记录每个区域数据库文件都是由资源记录构成的。资源记录简称RR,包含了DNS应该知道的重要资源信息,这些资源就是其他的DNS服务器和主机,是DNS的核心数据。主要有:SOA记录、NS记录、A记录、CNAME记录、MX记录和PTR记录。1.SOA记录:SOA记录代表着一个区域的开始,它是一个区域的第一个资源记录,每个数据库文件都包含有一个SOA记录。SOA记录之后的所有信息都是用来控制这个区域的。SOA记录标识了DNS服务器管理的起始位置,从SOA记录中可以看出解析这个区域的DNS服务器中哪个是主服务器3。2.NS记录:用于标识区域的DNS服务器,也就是说负责此DNS区域的权威名称服务器,用哪一台DNS服务器来解析该区域。一个区域有可能有多条ns记录,例如有可能有一个主服务器和多个辅助服务器。3.A记录:表示主机名称与IP地址的对应关系,作用是把域名转换成IP地址(正向解析);4.CNAME记录:别名记录,用于定义A记录的别名;5.MX记录:邮件交换记录,用于告知邮件服务器进程将邮件发送到指定的另一台邮件服务器;6.PTR记录:表示“IP地址”与“主机名”的对应关系,作用是把IP地址转换成域名(反向解析),与A记录相反。2.2 DNS解析原理及解析过程2.2.1 DNS报文在DNS域名解析系统中,采用的是固定格式的报文在客户端和服务器端之间进行交互。了解和认真分析DNS报文的格式和结构,对DNS域名系统的后期学习很重要。DNS域名系统查询和响应报文的一般格式如图2.3所示。图2.3 DNS报文的一般格式DNS报文包含首部和4个长度可变的字段,其中首部有12个字节4。一般来说标志字段是一个序列号,它是由客户端程序设置和服务器返回结果。通过查看标识字段,可以判断出响应和查询是否匹配。标志字段由若干个子字段构成,共占16bit5。通过标志字段可以看出这个DNS报文的类型,需要的服务等。标志字段如图2.4所示。图2.4 DNS报文的首部标志字段QR:字段大小1bit,0表示查询报文,1表示响应报文。Opcode:字段大小4bit,通常值为0表示标准查询,值为1表示反向查询,值为2表示服务器状态请求。AA:字段大小1bit,表示授权回答(Authoritative Answer),由响应服务器填写。TC:字段大小1bit,表示相应的数据包可戳断。RD:字段大小1bit,表示期待递归。RA:字段大小1bit,表示可用递归。ZERO:字段大小3bit,值为0。Rcode:字段大小4bit,返回码,O表示没有差错,3表示名字差错。后面4个16bit字段说明最后4个变长字段中包含的条目数。查询问题字段中一般情况含有一个问题,但是也有极少数的情况会有多个问题存在。每个问题报文的格式都是一样的,如图2.5所示。图2.5 DNS查询报文中的问题报文部分的格式查询名:顾名思义,查询名就是要查找的名字,它是一个可变长的序列。该序列的结束标志是一个“0”,因此不需要填充字节6。查询类型:每一个问题都有一个查询类型,而每一个响应(也就是资源记录,RR)也有一个类型。查询类:查询类通常都是IN,代表互联网地址,也就是IP地址。DNS最后3个字段,回答字段,授权字段和附加信息字段均采用资源记录RR(Resource Record)的相同格式。资源记录的概念在前面已经作了详细说明。RR(Resource Record)的格式如图2.6所示。图2.6 DNS报文资源记录RR格式2.2.1 DNS的解析原理1.正向解析当用户在浏览器输入域名访问网站时,DNS客户端必须先发出域名查询请求,以获取对应的IP地址。一般有以下3种查询类型:(1) 本地hosts文件查询:用户来浏览器输入域名时,操作系统会首先检查本地的hosts文件是否有这个网址的映射关系,如果有,就会先调用这个地址映射,完成查询。 (2) 递归查询(Recursive Query):一般由客户机向DNS服务器发出的查询属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器能够解析,则完成查询,若不能解析,则会向其他的DNS服务器发出请求,查询的结果返回给客户机。主机向本地DNS服务器的查询一般采用递归查询。(3) 迭代查询(Iterative Query):一般把服务器之间的交互查询成为迭代查询。本地DNS服务器向根域名服务器的查询通常采用迭代查询。当本地域名服务器向根域名服务器发出请求报文时,根域名服务器要么给出本地域名服务器所要的IP地址,要么告诉本地域名服务器下一步应该向哪个域名服务器发出查询请求,然后让本地域名服务器继续查询。如图2.4所示中,红色方框中的部分代表递归查询,蓝色方框中的代表迭代查询。图2.4 DNS服务器查询过程 2.反向解析一般DNS客户端利用IP地址来查询其主机名称,服务器利用IP地址来查询其域名的过程称为DNS的反向解析。2.2.2 DNS的解析过程这里本论文用一个实例来说明DNS的解析过程,如图2.5中,假如用户要访问曲靖师范学院的网站,一般经过以下几步:图2.5 DNS服务器解析过程图1.用户在浏览器中输入域名,浏览器会检查客户机缓存中有没有这个域名对应的解析过的IP地址,如果客户机缓存中有,这个解析过程就将结束。2.如果客户机缓存中没有,那么客户机就会向本地DNS服务器发送域名解析请求。本地DNS服务器收到请求后就先查询本地的缓存,如果本地缓存中有,就完成解析。3.如果本地DNS服务器缓存中没有对应的结果,就直接向根域名服务器发送域名解析请求。4.根域名服务器返回给本地域名服务器一个所查询域的顶级域名服务器(TLD Server)地址。5.本地域名服务器再向上一步中返回的顶级域名服务器发送域名解析请求。6.接受请求的顶级服务器查找并返回此域名对应的Name Server域名服务器的地址。7.Name Server域名服务器会查询存储的域名和IP的映射关系表,正常情况下都根据域名得到目标IP记录,连同一个TTL值返回给DNS Server域名服务器。8.返回该域名对应的IP和TTL值,本地DNS服务器会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制。9.本地DNS服务器把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。2.3 DNS服务器类型 DNS域名服务器是用来存储主机-域名映射信息的,根据服务器的用途,可以将这些服务器分为以下几类:2.3.1 主DNS服务器 主DNS服务器(primary name server):这是我们经常使用的DNS服务器,它是特定域所有信息的权威性信息源。主DNS服务器创建了区域文件,管理员可以对区域文件中的数据进行查看、增加、删除和修改7。主DNS服务器是一种权威性服务器,因为它以绝对的权威去回答对其管辖域的任何查询。2.3.2 辅助DNS服务器辅助DNS服务器(secondary name server):也称为DNS的备份服务器,最直接的作用是当主域名服务器因为故障而无法工作时,辅助DNS服务器可代替主域名服务器承担解析任务。备份服务器的区域文件是从主域名服务器中复制出来的,并作为本地磁盘文件存储在辅助服务器中,这种复制称为“区域文件复制”8。在辅助域名服务器中有一个所有域信息的完整拷贝,可以有权威地回答对该域的查询。因此,辅助域名服务器也称作权威性服务器。另外,备份服务器还能分担主域名服务器的负担,从而达到加快解析速度的目的。2.3.3 高速缓存服务器高速缓存服务器(caching-only server):高速缓存服务器的工作方式是从某个远程服务器中取得每一次域名服务器查询的结果,并将每一次获得的结果放在本地的高速缓存中,当我们以后查询到相同的信息时就用这个缓存结果来回答。高速缓存服务器不是权威性服务器,因为它提供的所有信息都是间接信息。配置高速缓存服务器就是配置一个高速缓存文件。2.3.4 转发服务器转发服务器(forwarding server):一台缓存名服务器本身不能进行完全的递归查询。相反,它能从缓存向其它的缓存服务器转发一部分或是所有不能满足的查询,一般被称作转发服务器。可能会有一个或多个转发服务器,它们会按照顺序进行请求,直到全部穷尽或者请求得到回答为止。转发服务器一般用于用户不希望站点内的服务器直接和外部服务器通讯的情况下。一个特定的情形是许多DNS服务器和一个网络防火墙。服务器不能透过防火墙传送信息,它就会转发给某台可以传送信息的服务器,那台服务器就会代表内部服务器询问因特网DNS服务器。使用转发功能的另一个好处是中心服务器得到了所有用户都可以利用的更加完全的信息缓冲。3 企业中DNS服务器的实施为了更好的搭建一个安全稳定的DNS服务器,避免DNS域名解析服务器发生故障,导致网站无法访问,我们不仅需要在企业中配置一个主DNS服务器,同时还需要配置一个辅助DNS域名解析服务器。本次设计如图3.1所示,30为的主DNS域名解析服务器,31为的辅助DNS域名解析服务器。 图3.1 主DNS服务器与辅助DNS服务器3.1 企业网络环境3.1.1 网络设备由于条件限制,本次设计在VMware Workstation虚拟环境下完成,用虚拟环境模拟企业环境。VMware Workstation是一款桌面虚拟计算机软件,因其强大的功能而受到广大用户的青睐,尤其是对于企业的 IT开发人员和系统管理员而言,更是一个必不可少的工具。VMware Workstation可以向用户提供在单一的桌面上同时运行不同的操作系统的虚拟环境,用户在此环境下可进行开发、测试 和部署新的应用程序。VMware Workstation最显著的特点是可在一部实体机器上模拟完整的网络环境、较好的灵活性、便于携带、虚拟网络、实时快照等。VMware Workstation允许操作系统(OS)和应用程序(Application)在一台虚拟机内部运行。虚拟机是一个能够独立运行主机操作系统的离散环境。在 VMware Workstation 中,你可以创建一个或多个虚拟机,它可以运行不太的操作系统和应用程序。运行在桌面上的多台虚拟机之间可以互相切换,虚拟机之间可以通过一个局域网络实现共享。挂起、恢复以及退出某一台虚拟机,不会影响你的主机操作和其他正在运行的虚拟机的操作。Web客户机:在VMware workstation下安装Windows 7操作系统作为本次设计的客户机,用于验证DNS服务器的解析功能。DNS服务器:在VMware workstation下安装CentOS6.5版本的Linux操作系统作为本次设计的DNS服务器,用于搭建DNS服务器。CentOS(Community Enterprise Operating System),社区企业操作系统,它是一个基于Red Hat Linux提供的开源的企业级Linux发行版本。与Red Hat Linux相比,CentOS修正了不少Bug,它的安全性、稳定性都有较大的提升。3.1.2 服务软件1. YumYum(全称为 Yellow dog Updater, Modified)是一个在Fedora和Red Hat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装9。可供yum下载的软件包包括Fedora本身的软件包以及源自RPM Fusion和rpm.的Fedora Extras,全部是由Linux社区维护的,并且基本是自由软件10。在本次设计中,我用的Linux操作系统安装光盘是CentOS-6.5-x86_64-bin-DVD1。安装软件的yum源有两种:基于互联网的yum源;基于本地yum源的实现,以系统光盘为载体。这里具体说一下第二种方法,配置步骤如下:(1) 挂载光盘至/mnt目录下,命令为:mount /dev/cdrom /mnt(2) 进入yum配置文件目录:cd /etc/yum.repos.d/(3)新建dvd仓库配置文件:vim dvd.repo,编辑如下代码:dvdname=dvdbaseurl=file:/mnt/enable=1gpgcheck=0编辑完成后保存并退出。(4) 清空原yum缓存,命令为:yum clean all(5) 生成新的yum缓存,命令为:yum makecache经过以上几步,一个以系统光盘为载体的yum源就实现了,也为后面的DNS软件顺利安装做好了准备。2. BINDBIND(Berkeley Internet Name Domain),是一款实现DNS服务器的开放源码软件,它是20世纪80年代由柏克利加州大学计算机系统研究小组的四个研究生Douglas B Terry、Mark Painter、David W. Riggle和周松年(Songnian Zhou)一同编写,BIND的第一个版本产生。BIND能够提供强大而稳定的域名解析服务,它是互联网上最常使用的DNS服务软件,Internet上接近九成的DNS服务器主机都使用BIND。BIND由互联网系统协会(Internet Systems Consortium)负责开发和维护。在本次设计中,我采用的是BIND9.3.2版本。3. bind-chrootbind-chroot:bind-chroot是bind的一个功能,使bind可以在一个chroot的模式下运行。也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已。这样做的目的是为了提高安全性。因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中。用通俗的话说,bind-chroot就是bind的一个安全增强功能包,目的是将DNS服务所有文件和运行环境移至/var/named/chroot/目录,保证当named服务出现问题时,问题的影响不会超出/var/named/chroot/的范围。3.2 主DNS服务器的实施3.2.1 安装DNS服务器软件包为了DNS的功能实现和安全性考虑,本次设计中要安装的软件包有bind包和bind的安全增强功能包bind-chroot。安装前我们先做一下几个工作,以方便后续工作顺利进行。1.查看本地IP地址,使用命令:ifconfig。本地服务器的IP地址就是DNS域名解析服务器的IP地址。如图3.2所示。图3.2 查看本地IP地址2.修改主机名:方法1:临时修改,使用命令:hostname+主机名(重启后会失效) 方法2:永久修改,写入配置文件(重启后不会失效)。主机名保存在配置文件/etc/sysconfig/network中。用vi编辑器将HOSTNAME修改为后保存并退出。3.查看bind的安装列表,使用命令:yum list |grep bind。如图3.3所示。图3.3 bind的安装列表4.开始安装DNS软件,安装命令为:yum install bind bind-chroot y。如图3.4所示。图3.4 DNS安装过程如图中所示,DNS软件包已经安装完成。5.查看DNS软件的安装详情,使用命令:rpm -ql 软件名。如图3.5所示。图3.5 DNS安装详情3.2.2 查找并编辑配置文件1.查询配置文件,使用命令:rpm -qc 软件名。如图3.6所示。图3.6 查询配置文件可以看出,在bind下,配置文件named.conf named.rfc1912.zones位于/etc/目录下。在bind-chroot下,配置文件位于/var/named/chroot/etc/目录下。2.查看bind安装详情,使用命令:rpm -ql bind。如图3.7所示。图3.7 bind安装详情3.分别将bind下的以下配置文件复制到bind-chroot的配置文件所在的对应目录下,使用命令:cp -p /etc/named.conf /var/named/chroot/etc/cp -p /etc/named.rfc1912.zones /var/named/chroot/etc/cp -r -p /usr/share/doc/bind-9.8.2/sample/var/named /var/named/chroot/var/named4.查看复制情况。如图3.8所示。图3.8 查看复制情况5.编辑主配置文件我们安装的时候就已经安装了bind的功能安全增强包bind-chroot,所以我们可以把主配置文件和区域文件放到bind-chroot的配置文件目录下进行编辑。vim named.conf ,在/var/named/chroot/etc目录下进入配置文件,只做下图中所标注的修改,其他地方不做改动。图3.9 主配置文件1vim named.rfc1912.zones ,在/var/named/chroot/etc目录下进入配置文件。图3.10 主配置文件26.编辑区域文件为了方便编辑,先将本地文件复制到我们需要编辑的文件中。命令如下:进入目录:cd /var/named/chroot/var/named/复制正向解析区域文件:cp -p named.localhost named.zhanghuan复制反向解析区域文件:cp -p named.loopback named.192编辑正向解析区域文件:vim named.zhanghuan,修改如图3.11,修改完成后保存并退出。图3.11 正向解析文件编辑反向解析区域文件:vim named.192,修改如图3.12,修改完成后保存并退出。图3.12 反向解析文件7.查看selinux防火墙和本地防火墙的状态,如果是开启状态,就手动关闭它们。命令如下:查看selinux防火墙的状态:gentenforce关闭selinux防火墙:setenforce 0(0表示关闭)查看本地防火墙的状态:service iptables status关闭本地防火墙:service iptables stop8.重启DNS网络服务,使用命令:service named restart做到这里,主DNS域名解析服务器就已经搭建完成了。3.3 辅助DNS服务器的实施主DNS服务器搭建完成后,我们需要再搭建一个辅助DNS服务器,辅助DNS服务器的IP地址为31。辅助DNS服务器的配置步骤和主DNS服务器的配置差不多,需要三步:第一步安装软件包(bind和bind-chroot);第二步就是编辑配置文件;第三步是需要重启主DNS服务并开启辅助DNS服务。第一步安装过程和第三步开启服务与主DNS服务器一样,这里就不再介绍。在这里我主要介绍一下怎样编辑辅助DNS的配置文件。辅助区域的文件基本和主区域的配置一样,编辑named.rfc1912.zones文件,如下图进行添加:一定要将默认的“allow-updatenone;”项,即将允许更新删除,还有就是文件的存放位置,也可以存放在其他目录中,但必须保证存放的目录的所有者和拥有组是named,否则BIND将无法将从主要区域传输的DNS信息写入文件中。 图3.13 辅助区域配置文件其他地方与主DNS服务器配置一样,完成后开启named服务。使用命令:service named restart。4 测试域名解析4.1 测试主DNS服务器本次设计选择Windows操作系统作为本次设计的客户机,我们先在客户机的本地连接TCP/IP协议上设置首选DNS服务器为主DNS服务器的IP地址30,如下图4.1所示。图4.1 设置首选DNS服务器设置好DNS服务器后在客户机的DOS命令窗口中用nslookup命令测试域名解析,如下图所示。正向和反向都能被成功解析,说明主DNS服务器已经成功搭建。测试结果如图4.2所示。图4.2 主DNS服务器测试结果4.2 测试辅助DNS服务器之后我们将客户机的首选DNS服务器设置为辅助DNS服务器的IP地址192.168.44131,如下图4.3所示。图4.3 设置辅助DNS为首选DNS同样的方法,在设置好DNS服务器后在客户机的DOS命令窗口中用nslookup命令测试域名解析,如下图所示。可以看出正向和反向都能被成功解析,说明我们的辅助DNS服务器已经成功搭建。测试结果如图4.4所示。图4.4 辅助DNS测试结果5 DNS安全问题DNS域名解析服务是Internet最基本的网络服务之一,几乎每个用户的每次访问都会使用到域名解析,所以DNS服务器的安全问题具有举足轻重的地位。历年来,因为DNS服务器的安全性、可靠性的欠缺最后导致大量的用户退网,网络建设的成本无法回收,给运营商带来了巨大的损失。DNS服务器主要面临域名劫持、域名欺骗、DDOS攻击等众多威胁。在本次设计中,简单的介绍了DNS服务器常见的威胁,并提出了DNS服务器的安全增强方案。5.1 DNS服务器的常见威胁5.1.1 域名劫持域名劫持指的是一种互联网攻击,通常是指一些非法人员通过黑客手段攻击DNS域名解析服务器,获取到DNS服务器域名管理的账号和密码,然后将该域名的NS纪录指向到黑客可以控制的DNS服务器,然后改动DNS服务器上的域名记录,当我们在浏览器输入该域名时,我们要么访问不到该网站,要么访问到假网址(即黑客改动域名记录所指向的网址)。5.1.2 域名欺骗域名欺骗就是黑客利用DNS服务器上的漏洞从而控制DNS缓存服务器,修改IP地址与网站域名的对照表,把原本准备访问某网站的用户在不知不觉中带到黑客指向的钓鱼网站或者其他的含有恶意代码网站上。5.1.3 DDOS攻击DDOS攻击通常是指黑客利用目标系统网络服务功能的漏洞和缺陷,联合多台计算机,搭建成一个攻击平台,对该目标系统的DNS服务器发动攻击,使得目标系统的DNS服务器拥塞甚至崩溃而无法提供正常的网络服务。5.2 DNS服务器的安全措施5.2.1 DNS服务器的安全配置为了搭建一个安全稳定的DNS服务器,在安装和配置DNS服务器的时候我们就应该注意一下几个细节: 1.使用最新版BIND软件。一般来说,软件的版本越新,存在的BUG越少。我们应该查询相关资料,选择一个最安全的BIND版本。2.优化资源记录TTL值。TTL值不能太小,TTL值太小会增加DNS服务器的负担。我们应该根据服务器的性能和网络情况来选择一个合适的TTL值。3.控制IP地址查询请求。方法是通过修改DNS服务器的配置文件named.conf,加入allow-query命令对请求DNS服务器的IP地址进行限制,只允许信任的IP地址来查询。如:optionsallow-query /24;如此便只允许192.168.44网段的IP地址来查询了。4.定期检查DNS日志。5.2.2 防火墙和入侵监测系统1.防火墙是保护内网的第一道关卡,它对网络服务的安全有着至关重要的作用。iptables 是与最新的 3.5 版本 Linux内核集成的 IP 信息包过滤系统。防火墙的强大之处在于它能过滤和分析网络数据包,有效组织有威胁的数据包进入。2.入侵检测系统(intrusion detection system),简称“IDS”。入侵检测系统的作用是对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。Snort是Linux操作系统中比较成熟的入侵检测系统,它能兼容不同的操作系统平台,能有效检测出入侵数据。6 总结Internet网络服务的迅速发展给人们的生活带来了极大的便利,提高了人们的工作效率,促进了经济

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论