某网站安全技术的研究与应用课程

上传人:仙*** 文档编号:107466306 上传时间:2022-06-14 格式:DOC 页数:51 大小:1.64MB
返回 下载 相关 举报
某网站安全技术的研究与应用课程_第1页
第1页 / 共51页
某网站安全技术的研究与应用课程_第2页
第2页 / 共51页
某网站安全技术的研究与应用课程_第3页
第3页 / 共51页
点击查看更多>>
资源描述
撰写人:_日 期:_Web网站安全技术的研究与应用中文摘要本课题首先对当前Web网站安全理论如SSL,数字证书,角色控制等内容进行分析。在此基础上,利用ASP.NET技术,在Windows Server 2003环境下,搭建一个示范网站。在不对网站造成危害的前提下,对公网上的Web网站及示范网站进行SQL注入攻击,DDOS攻击,漏洞扫描等攻击测试。通过对攻击测试结果的分析,结合安全理论,得出一些Web网站的安全防护措施。Web2.0一经推出,就以其平台无关性等特点,依托分布式技术所特有的优势,促使全球Web网站进入快速发展的阶段。Web网站以实现资源共享主目的,在为组织内部提供新的业务活动方法的同时,进军商业领域。随着信息资源的高速发展,使人们对网站安全性的要求也在不断增长。在畅享网络带给我们便捷生活的同时,我们的网站也面临着前所未有的安全问题。为解决Web网站面临的安全性问题,本次研究分为四个部分。首先进行理论分析。计算机网络安全理论内容繁多,重点在分析与Web网站安全相关的安全理论基础。其次,使用ASP.NET技术,在Windows Server 2003服务器上搭建一个小型的示范网站,一方面直接了相应的安全技术,另一方面用于攻击测试。再次,用黑客的眼光寻找网站安全漏洞。对示范网站及运行中的网站进行无破坏性的SQL注入攻击,DDOS攻击,漏洞扫描等攻击测试。验证Web网站安全理论,取得攻击测试的第一手数据。最后,对比、分析所得到的攻击数据,结合理论基础,提出Web网站安全的一些防护措施。最后,提出了Web服务器端的安全防护措施,在编写网站代码时可以使用的安全手段,以及对抗常见网站攻击的方法。关键词:Web服务,安全,ASP.NET,IISResearch and Application of the Web Site Security TechnologyAbstractThis project begins with the analysis of the Web site security theory, such as SSL, Digital Certificate, and RBAC. Then we make a Web site ourselves based on ASP.NET and Windows Server 2003.In the condition of doing no harm to the Web site, we attack the Web site. SQL Injection, Scan, DDOS are included. As soon as the release of Web2.0, the Web sites developing very quickly in the whole world, based on the features of dispersed technology, such as the platform independent. Web sites have been used as sharing resource. Now ,it also have been used in business services. Web sites provide the new ways for the operational action in the organization. With the developing of information resources ,we have more secure requirements. While we enjoy the advantages of Web sites, we have to face up to the web sites security.I make the research into four parts, in order to save the safe problem. First of all, we analysis the theory. There are so many issues in the network security, we found the theories are related to the Web site security. Second, I make a Web site myself based on ASP.NET and Windows Server 2003.It can armed with the security technology, on the other hand , it can also be use in attack. Third, we find the bugs in the Web site by the way of hackers. We attack the Web site, such as SQL Injection, Scan ,DDOS and so on. We can get the first-hand data by attack. The last, we contrast and analysis the data, combine with the theories ,give some advises to protect our Web sites.At last ,I give some ways to protect our Web server . While we are coding our Web site, what can we do to protection .And the methods to compete with the Web sites attacks.Key words: Web Service, Security, ASP.NET, IISII目录中文摘要IAbstractII第1章 绪论11.1 课题背景及意义11.2研究现状21.3.课题概况4第2章 理论基础62.1 Web安全基础62.2 保护Web服务器安全92.3 保护用户浏览器112.4保护网络及传输中的数据安全11本章小结13第3章 研究思路与方法143.1任务需求143.2 方案设计15本章小结15第4章 方案实施164.1 搭建服务器环境164.2 设计网站204.3 联合调试254.4攻击测试26本章小结34第5章 调试与数据分析355.1 调试站点355.2 攻击数据分析及相应的安全防护手段365.3 总结与展望38本章小结38结束语39谢辞40参考文献41II精品范文模板 可修改删除第1章 绪论1.1 课题背景及意义World Wide Web即WWW或Web,开发之初就是为了能够实现资源共享。在1990年的三月,Tim Berners-Lee提出这个构想后,同年底,基于字符界面的Web客户浏览程序就在NextStep计算机操作系统上实现了。1991年的三月正式投入运行。由此开始,不到一年的时间里,就有50多个服务器投入运营。Web技术得到了飞速的发展。2003年,Web2.0的概念被出提出,我们从过去在网络上冲浪,进入了在网络中制造波浪的时代。Web2.0从1.0时代单纯的“读”向“写”和“共同建设”方向发展。以Blog、RSS、TAG、SNS、Wiki等应用为核心,是使用Xml、Ajax等新理论和技术实现的因特网新一代模式1。随着近年光纤等通信线路的发展,信息传输的速度和质量有了明显提高。Java、JavaScript、ASP.NET、CSS等新技术的蓬勃发展,推动Web更加快速的发展。但是,任何事物都有其两面性。我们在享受网络所带来的畅快体验时,也不得不面对由此引了的一系列安全问题。随着计算机技术的不断发展,针对计算机进行的犯罪手段也不断翻新。从最原始的闯入系统、窃听、哄骗到设计病毒、蠕虫、特洛伊木马等攻击手断也是日新月异。人们在对付计算机安全攻击的时候总是慢了半拍。而Web迅猛发展是基于它分布性、开放性、交互性等特点的,而在设计HTTP协议之初,并没有考虑到它的安全性问题。Web的精华在于它的交互性,而这,也成为了它的致命弱点。目前,全球因特网用户已经达到13.5亿。Web2.0普及后,网站站点功能从原来的资源共享开始向商业领域进军。正因为如此,我们所享受的网络环境开始变得越来越危险。Gartner的统计数据表明,当前网络上75%的攻击是针对Web应用的。而CNCERT更发文称,从2007年开始,Web安全威胁已经进入到快速发展阶段。暴力破解密码、SQL注入攻击、DDOS拒绝服务攻击等攻击已经形成了专业的攻击团队,整个过程使用软件自动完成,容易上手,带来的威胁却个个不容小视。Web网站安全防护的形势日益严峻。国内一些站点针对Web网站安全做过一些调查,调查结果表明,高达63.6%的Web网站存在着较大的安全隐患,一旦遇到攻击,站点很容易瘫痪,甚至损失重要的文件信息。只有不到10%的网站做了较为完善的防护措施。当前,Web网站常见的威胁主要有占据大半个江山的SQL注入攻击,占了83.8%,接下来是权限弱口令,跨站脚本攻击和DDoS攻击。未来,针对应用程序的攻击会逐渐变成攻击的重点。面对如此严峻的安全威胁,我们采用了诸如防火墙,访问限制等方式,这在一定程序上遏制了不安全因素的传播。但是,还有不少已有的安全问题没有得到有效解决,或是因解决成本较高而没有普及。同时,新的安全问题层出不穷,对我们来说,简直是雪上加霜。况且,黑客在利益等因素的驱使下,寻找网站弱点往往比防护人员要来的快、准、狠,网站安全问题形势十分严峻。网站攻防是一个整体,想要保护好自己,就要有矛和盾。我们首先要明确自己网站的安全定位,确定安全防护等级。在配置好自己盾的基础上,多了解别人的矛是什么样的,自己能否抵挡。做到知已知彼,才能百战不殆。这次课题要研究的,就是了解自己的需求,设置好自己的盾,模拟别人的矛,用黑客的眼光和攻击方式,在设立好自己盾的基础上,使用各种攻击方法进行攻击,测试自己网站的安全性,了解自己的安全弱点,在合理的承受范围内,完善安全措施,最大限度保证Web站点安全。通过这种方法,总结出一些可以为一般的网站用户提供相对安全的网站防护经验。1.2研究现状1.2.1国内外研究现状与发展趋势虽然,网站面临着各种各样的威胁,但是我们总不能因噎废食。因为3G手机容易中毒,就用回2.5G的手机毕竟是少数。我们从一开始,就持续不断地同安全威胁做斗争,将来还要持续下去。这里,要先明确安全站点的概念。世界上不存在绝对安全的站点,只有相对安全的站点。一个站点无法做到完美无缺,毫无漏洞。那么,一个安全的站点首先要明确自己的安全定位,根据需求做好安全评估和安全策略,建立足够的安全监测系统。一旦站点出现问题,可以很快的发现被攻击点,修补受损数据,避免在同一块石头上第二次被绊倒。安全措施的配置只要能保证攻击成功所花费的成本大于攻击所得到的利益时,这个站点就可以被称为是安全的。目前国内外研究的重点在保障网站的机密性、完整性、非否认性和可用性。其中,机密性、完整性和可用性被称为“信息安全金三角”,是重点考虑的问题。机密性服务要保护信息不被未授权用户所理解,即使这个信息被他所截获。完整性在于保证数据在没有被篡改的情况下送达授权用户手中。可用性则保证授权用户所得到的信息是可用的。非否认性主要保护信息接收方能够确认信息的实际发送人是这个信息的声明发送人 2。因此,针对以上这些要求,研究人员根据ISO分层协议来建立了安全保护措施。在数据链路层,主要采用硬件加密的方式; 网络层主要采用IPSec安全协议; 传输层采用安全套接层协议SSL; 应用层主要采用了PGP,S/MIME等应用程序。针对应用层的威胁最为灵活多样,因此,安全措施也最多样3。在国外,Web安全技术发展较早,现在也有了较成熟的防护措施。在软件方面如赛门铁克、卡巴斯基等防毒软件就发展的很好。在杀毒的同时,也带有防火墙,木马查杀,扫描漏洞等功能,而且整体技术比较成熟。在硬件方面如思科等产品,获得国际的认可,防护的效果也比较好。而且,在国外如北美、欧洲等国,用户也对安全比较重视,能够自觉的采取一些安全措施,在互联网环境下,做好本机的保护就是在为全网保护做贡献了。在服务器上安全策略的制定实施等也较我国要成熟许多。服务器的访问权限,是否接受PING等一系列小细节也相对做过较细心的处理,整体安全水平相对较高。 我国的互联网技术起步晚,但是发展迅速。在快速发展的过程中,用户对安全的重视程序不够,往往在遇到问题了才会想起解决,被电脑入侵了才会去修补系统漏洞。我身边的很多同学都是裸机上网,没有任何防护措施。这样的电脑很容易被黑客抓为肉鸡,组成僵尸网络,用于非法的网络攻击。服务器的安全防护细节处理不够,比如在PING的时候,路由IP明文出现,可以通过IP直接访问站点等。这些细节没有处理好,就会增加自己被攻击的风险。在软件和硬件防护产品上也略有不足。软件方面有360,金山,江民等软件,硬件方面也有绿盟等产品。总体而言还不太成熟。现在,对出现的攻击方法,我们已经做出要相应的反应。比如针对SQL注入攻击,我们可以从网页编程上入手,加强安全性的编程,限制用户输入的内容和格式,在站点正式运营或是更新内容时都做好全方位的安全测试。做好这些工作,可以防止80%的站点攻击。对DDOS攻击,合理布置流量清洗机制,做好访问控制列表并正确执行,要求客户必须通过DNS解析后才能访问站点,不允许使用IP地址直接访问站点等方法,都可以抵挡住一部分的攻击。这些攻击的成功实施,有一部分原因是管理员没有做好细节的处理,部署的产品没能合理的利用起来。道高一尺,魔高一丈。未来的安全技术发展方向肯定是随着攻击方式的变化而变化的。以现在的情况来看,主要有几个方面。第一,在软件方面,加强病毒、木马的查杀等,完善防火墙、漏洞扫描等功能,联合网络上的各主机服务器执行云计算,增强计算能力,查杀病毒变种。Web2.0的发展,让黑客们也有了团结协作的条件。全球黑客分工合作,完成病毒的不同模块,分享完成的病毒,都因为2.0时代的到来变得越来越简单。因此,使用云计算就被列为未来的发展趋势之一。让病毒、木马等陷入“人民战争的汪洋大海”中,以及时发现,查杀。第二,在硬件方面,加强安全硬件安全产品的开发和部署。单纯靠软件进行病毒防护是不够的,成熟的硬件产品在最低层完成安全功能,更为迅速有效,用户不易察觉。但是硬件产品的价格比较高,也就是现在一些安全手段不能得到很好的推广。未来将会发展和普及硬件防护措施。第三,各站点与ISP合作,从网络流量上,就开始进行流量清洗等工作,部署安全产品,从网络源头开始,堵住攻击流量,保护站点。这种网络部署比较贵,但就现在已经投入运营的产品来看,对抗DDOS,TCP FLOOD等网络流量攻击的效果是非常明显的。第四,建立全方位的立体式防护。单纯安个杀毒软件,加个防火墙就能平安无事的年代已经过去了。全方位立体防护要求从服务器到客户端,基于中间的通信线路都要列入安全保护的范围。安全措施不在是单纯的服务提供商的事了,提高用户的安全意识和安全技能,全民参与成为未来安全的发展的新趋势。第五,针对网站底层的攻击虽然效果明显不易被发现,但要求高、难度大。它要求攻击者具有相当强大的专业技术水平,对网络协议的熟练应用,因此,以此为攻击的人越来越少。现在,针对应用层的攻击量正逐渐变大。应用层攻击操作简单,效果又好,尤其是寻找脚本漏洞比较容易,攻击效率高,成为未来攻击的新趋势。第六,加强网络编程的应用。这个方面可能涉及开发新语言,或是对已有语言的安全性补充。尤其是网页编程语言,一些小的应用程序或是窗口脚本安全性不足。针对站点安全性编程的内容将会逐步增加。1.2.2仍然存在的问题虽然我们在认识到问题后及时进行了处理,但是仍然有许多问题没有得到有效解决。Web1.0时代,主要将应用程序代码集中在了服务器端,必要的还限制用户访问、下载。Web2.0时代涌现出来的例如Ajax 、JavaScript 等编程语言将代码直接给了客户端,有的就直接嵌在了网页代码中,明文显示,这就很不安全了4。黑客可能只要反编译或是直接查找程序,就会发现安全漏洞,进而修改程序或是上传木马。即使是我们所信任的SSL 加密网站同样会在加密的同时造成威胁。SSL被广泛用于各种商业站点或是信息被要求加密的地方。SSL对数据分割后加密打包发送,在这个过程中,如果有病毒或是木马被隐藏在这里面,是很难被发现的。目前大多数Web 安全产品都还不会去检查SSL 隧道,即使想查也无法识别加密后的数据是正常的用户数据还是不正常的病毒。这样,就给了病毒或是非授权用户绕过防火墙提供了可能。一旦病毒进入可信任网络,那它带来的危害将是无法估计的。敏感信息可能被采用同样的方法送到防火墙外,整个可信任网络很可能整体被抓成僵尸网络。对于Web网站安全,不仅仅只存在上面所提到的问题,还有许多安全漏洞和系统弱点,或许已经被发现,抑或许还没有被发觉,但存在的问题不容忽视,我们与不安全因素的斗争仍然任重而道远。 1.3.课题概况1.3.1课题的指导思想本课题采用理论指导实践的方式。通过对计算机网络安全理论的学习,分析,对Web网站安全建立理论基础。在此基础上,选择网站设计语言建立示范网站。在不对Internet上的网站构成威胁的情况下,对其及示范网站进行攻击。分析、对比攻击结果,得出Web网站安全防护的一些基本方法。1.3.2课题的研究内容及技术指标本次研究的主要内容是学习了解网站安全的理论知识,学习独立建立一个网站方法。根据理论基础,及常见的Web站点攻击方式,对站点进行模拟攻击,验证网站的安全性理论。最后根据理论分析和实际攻击的结果,总结目前常见的Web网站安全的防护措施。具体技术要求如下:(1)、选择合理的Web服务器解决方案,建立站点发布系统,合理启用站点各项安全措施,正确申请安装站点的数字证书,保证站点可以执行HTTP协议,在必要情况下,启用SSL也可以正常运行。(2)、使用ASP.NET技术,建立一个网站。要求实现用户的注册、登录、注销和导航功能。用户注册数据另外存放在指定的数据库中,保证客户端没有下载该数据库的权限。为不同的注册用户分配站点浏览权限,建立基于角色的访问控制权限。(3)、对网站进行攻击测试。模拟黑客攻击方法,选择几种常见的攻击方法进行测试,获得站点攻击的前后对比数据,分析站点安全防护方法。第2章 理论基础本章简要介绍了与Web站点安全相关的理论知识。Web网站的安全防护措施涉及的方面比较广,使用到的安全技术比较多,本章从众多的理论中选择出具有代表性和基础性的理论进行简要的分析。在此基础上,挑选了目前常见的安全防护措施对它进行了理论分析,为接下来的实践部分提供理论依据。2.1 Web安全基础利用潜在的网络安全缺陷够成了对网络的威胁。目前比较常见的网络安全威胁有窃听、假冒、重放、流量分析、数据完整性破坏、拒绝服务、陷门和特洛伊木马、资源的非受权使用、病毒、诽谤。行为操作者执行任何没有授权的行为都会被认为是攻击行为。攻击行为又可以被分为被动攻击、主动攻击、物理临近攻击、内部人员攻击和分发攻击5。要保护Web站点的安全,主要的方法就是要实现站点的机密性,完整性(Integrity)和可用性。2.1.1 安全评估1993年8月,美国国防部计算机安全局发布了“可信任的计算机安全评估标准”,又称为“橘皮书”。该书制定了计算机安全的4个等级,8个级别。从高到低分别为A、B3、B2、B1、C2、C1、D。A级,即可验证保护级或验证设计。它包括所有下级特性。其功能可能与B3相似,但它可以通过数学方法,来证明系统的安全规格和安全策略的一致性与完整性。B级为强制式保护级,又分为三个等级,分别为B3级(安全域级),B2级(结构化防护级),B1级(标记安全保护级)。C级,即自定义式保护,分为两个级别,C2级(受控存取保护级)和C1级(酌情安全保护级)。D级是最低保护级,又称安全保护欠缺级。处于D级的整个计算机是不可信任的,任何人都可以使用该计算机。该标准发布后,欧洲四国(英、法、德、荷)也提出信息技术安全评价准则(ITSEC)。随后,美国,加拿大,及欧洲等国,连同国际标准化组织(OSI)共同提出了信息技术安全评价的通用准则(CC for ITSEC),现在CC已经被五大技术发达的国家承认为代替TCSEC的评价安全信息系统的标准,且将发展成为国际标准。2.1.2 安全策略安全策略是指在某个特点的安全区域内,用于所有与安全相关活动的一系列规则。我们的访问控制列表就是安全策略一个代表。安全策略在安全评估后进行。在对自己的系统做好安全评估后,知道自己的系统有哪些安全需求,根据这些需求来制定安全策略。安全策略的制定和实施对系统安全性有至关重要的作用。在策略中我们定义了对不同资源的保护方法,除了在机器上的安全配置处,还包括了系统管理员的操作规范。在策略中,我们重点要规定系统所允许的事,就像防火墙一样,默认过滤所有的数据包,只有建立了访问规则,才允许通过。正确彻底的执行安全策略,才能达到预期的保护目的。安全策略的实施,要满足三个原则:(1)、最小特权原则即主题执行操作时,按照主题所需权利的最小化原则分配给主体权利。(2)、最小泄露原则即主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权利。 (3)、多级安全策略即主体和客体间的数据流向和权限控制按照安全级别的绝密(TS)、秘密(S)、机密(C)、限制(RS)和无级别(U)5级来划分。2.1.4 加密基础为了保证传输数据安全,加密数据是最常见的手段。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。对称加密以DES(Data Encryption Standard,数据加密标准)为代表,包括了IDEA、3DES、FEAL、BLOWFISH等。它要求加密方式具有强大的加密算法,且发送和接收数据的双方必须使用相同的密钥对明文进行加密和解密运算。非对称加密又叫公开密钥加密,以RSA算法为代表,包括MD5、SHA、PIFEMD-160。对信息采用公钥加密,私钥解密。这种方法可以用于加密,身份验证,数字签名。它的优点在于密钥的安全性好。2.1.5 数字签名数字签名是以电子形式存在于数据信息之中的,或作为其附件的或逻辑上与之有联系的数据,可用于辨别数据签署人的身份,并表明签署人对数据信息中包含的信息的认可。数字签名是在电子时代代替人的手写签名,实现与手写签名一样的效果。它可以做到:(1)接收方可以验证消息确实来自发送方。(2)发送方不能否认给接收方发送过该消息。(3)接收方不能编造或是改变消息。常见的数字签名有两种,基于密钥的数字签名和基于公钥的数字签名。基于密钥的数字签名要依赖一个通信双方共同依赖的仲裁人,双方通过这个仲裁人来进行通信。由仲裁人加密签名后的信息并发送。当出现问题时,由仲裁人解密自己的签名信息即可。其通信模型如图2.1.5-1所示。图 2.1.5-1 基于密钥的数字签名模型基于公钥的数字签名使用发送方的私钥签名消息,并附在发送信息后面,使用接收方的公钥加密整体信息。一旦发送方否认发送过,可以用其发送方的公钥解密签名。如果接收方伪造发送方的消息,他将无法出示用发方私钥加密信息。其通信模式如图2.1.5-2所示。图2.1.5-2 基于公钥的数字签名模型2.1.6 数字证书数字证书应用了公钥加密体制。数字签名用来保证是本人在执行这个操作,而数字证书则保证了这个人是特定的有授权的人。它为用户提供身份证明。该技术使用私钥用来解密和签名,使用公钥来加密和验证。用户的数字证书是由可依赖的证书发放机构(CA,Certification Authority)颁发,颁发证书后,CA中心将证书放进公共目录中,便于其它用户访问。当用户数量比较多,一个CA中心无法负责所有用户证书的签署,就使用多个CA中心,通过证书发放机构间安全地交换公开密钥来建立证书链,以安全的获取所有用户的的公钥。目前,我国境内已有32个CA中心,按照不同的地区和行业划分,为用户提供服务。2.1.7报文摘要报文摘要是保障用户消息完整性的方法。这种方式由信息计算产生一个固定长度的特定的散列值,并将这个值加在信息的后面打包成为一个消息发送出去。接收方可以对收到的信息做一个相同的计算得到一个散列值,如果这两个散列值相同,说明信息是正确没有被篡改过的。这种方法基于无法找到任意两个不同输入而产生同一个散列值的理论。因此,报文摘要又被称为数字指纹。现在常用的报文摘要算法是MD5。2.1.8 病毒防护病毒,就是一段可执行程序。它通过在正常程序中放入自己的一个拷贝,正常程序运行时借机获取CPU的执行权限,从而执行它的破坏功能。典型的病毒程序要经过四个阶段,潜伏阶段,繁殖阶段,触发阶段,执行阶段。对抗病的最好的方法是防止被病毒感染。但是这是非常不容易的,除非使用裸机,并全部自己编写操作系统和应用程序,坚持不与外界交互,完全处于单机状态,否则是不容易做到彻底防护的。即使在一个局域网内,大部分主机都处于安全情况,只要有一台主机感染了病毒,整个局域网就就得非常危险。因此,我们只能尽可能做好防护工作,同时做好病毒的检测、标识和清除工作6。第一代的病毒一般具有明显的标识,只要使用简单的扫描程序就可以找到。现在的病毒都开始出现多态性,变化很快,因此主要的检测手段也随着升级为类属解密和数字免疫系统。前者可以在保持扫描速度的同时检测出多形病毒,后者则可以在病毒入侵时实现即刻识别,并隔离或删除。2.1.9 入侵检测入侵检测(Intrustion Detection System,IDS)由事件产生器,事件分析器,事件数据库和响应单元组成。它通过在网络中收集信息,建立一个数据库,然后对照每次的操作事件,检测是正常的用户行为还是入侵行为,自动做出响应。这种检测系统已经可以实现对系统安全漏洞的检测、重要文件的完整性评估、对已知攻击行为的识别、操作审计跟踪、对用户和系统行为的监视与分析、异常行为模式的分析等功能。但是由于所要做的工作太多了,导致系统运行速度非常慢,数据包通过也变得很慢,因此还没有得到广泛的应用。IDS其实也能算做一种监听设备,它部署在所关注流量必须经过的通路上。通常使用的入侵检测有两类,异常检测和滥用检测。前者假定的是所有入侵行为都是不同寻常的,通过建立系统和用户的正常行为特征库,比较当前行为是否是入侵行为,是一种间接检测的方法。后者是直接检测的方法,是对已知攻击使用攻击签名来表示,通过判断签名是否出现来判断入侵是否发生。异常检测可能导致误报率高,而滥用检测可能引起漏报率过高的问题。2.2 保护Web服务器安全保护Web服务器安全一个是要保证安装服务器的计算机系统安全,一个要保证IIS安全。重要的站点数据都存放在服务器上,因此,这是黑客攻击的重点,也是网站安全防护的重要位置。2.2.1 身份验证Windows Server 2003中默认的身份验证协议是Kerberos。在不Kerberos能使用时,系统也会自动退回到NTLM中。但很明显,Kerberos 为我们提供的是比NTLM更安全的传输环境,所有的Kerberos消息都被不同的密钥加密,口令不通过网络发送,它还可以作为加密的密钥。当它执行让客户端和服务器端相互进行身份验证这一功能时,在身份验证信息必须通过网络时,它会在每个消息中添加一个加密的时间戳,用来防止重发攻击7。此外,随着科技的进步,证书和生物技术验证也开始应用于网络身份验证。Windows Server 2003提供了对智能卡的内在支持。在Certificate Services有效的前提下,系统还可以依赖证书建立基于令牌的身份验证系统。对于生物技术验证,虽然没有提供默认的应用程序,但是配备了应用编程接口(Application Programming Interfaces,API),可以内挂实现生物技术验证。2.2.2 授权和访问控制授权,规定了用户在系统上可以执行什么操作。它是在身份认证的基础上执行的功能。只有已经通过身份验证操作的用户,才对他们分配具体的执行权限,允许或是拒绝。权限是指对某个特定对象所定义的访问控制,这个对象可能是文件、打印机等。对象权限定义了用户可以对具体对象所进行的操作。计算机常见的访问控制系统有基于规则的访问控制和基于角色的访问控制。基于规则的访问控制要管理员根据具体情况,制定具体的访问规则,访问控制列表ACL就是最常见的形式。基于角色的访问控制通过分配角色所需要的权利和权限来实现访问,它将用户与权限分开,对角色分配权限,用户通过成为扮演角色而得到执行权限8。2.2.3公钥基础PKI公钥基础结构(PKI,Public Key Infrastructure)运用了公钥的概念来提供安全服务,是普遍适用的网络安全基础设施。它是由PKI策略、软硬件系统、证书签发系统、认证中心、注册机构和PKI应用等构成的安全体系。以CA中心是PKI的核心部分,用户通过验证它CA的签名,下载它的证书链从而信任它,进而信任它所签发的证书,确认证书持有人的身份是PKI的主要应用。2.2.4 监控和评估监控和评估监测系统的进行情况,它们记录了系统的安全状况过程,可用于确定异常事件,区别故障和安全事件。监控通过性能监控工具、诊断实用程序的结果、事件日志、网络监控器及第三方监控工具来收集信息。通过分析这些数据来查看系统是否处于正常工作状态。正确的监控和评估过程包括建立正常操作的基准,监控服务、监控活动目录、使用当前的和归档的数据来检测入侵、使用事件响应过程。2.2.5 IIS保护刚完成安装的Web服务器是完全没有防御功能的平台。对IIS的保护,除了对系统环境做好保护外,其软件本身的安全防护功能也要开启。对于站点的文档根目录来说,将它放在IIS软件的同一个子目录中是最不安全的,将其放在IIS的同一个服务器但不同物理驱动或分区上,才是比较谨慎的做法,或者直接放在不同服务器上,会更为安全。另外,软件运行日志最好使用W3C Extended Log File Fromat格式,并保存的防火墙内侧的服务器上,限定这台服务器的访问权限,才是比较明智的做法。除此之外,还可以通过移走元数据库(IIS中维护包含所有设置值的数据库)、管理应用程序隔离、管理Web服务器访问权限、设置高级安全配置选项来实现服务器的安全配置9。2.3 保护用户浏览器对于用户浏览器来说,其威胁主要来源是第三方编写的代码。这些代码在通过网络分发到个人主机上后,会以管理员的权限运行。目前认为对浏览器构成威胁的编程语言从小到大的依次是Java,JavaScript、VBScript、ActiveX。它们编写的网页文件,攻击面比较大,代码直接就暴露在客户端,要修改并上传木马就很简单了。对此,我们通过给PC设置区域检测,保护Cookies来尽可能保护自己的浏览器。合理的使用和管理Cookies就可以有效防止因Cookie的滥用而造成威胁。2.4保护网络及传输中的数据安全2.4.1 防火墙防火墙是网络安全的第一道门户,它将被保护的网络从开放的网络环境中独立出来。防火墙作为一种保障网络安全的手段,是通过设置网络通信时的访问尺度,控制出入网络的通信,以此来保障网络安全10。常见的防火墙包括了包过滤防火墙,应用网关防火墙,代理服务器防火墙,状态检测防火墙和自适应代理技术这几种11。各种防火墙的特点由其工作的层次和防火墙所采用的机制决定。如果防火墙的工作层次低,那么它会具有较高的工作效率,但其安全性就会相应的降低。反之,工作层次高必然带来的是检测速度慢,和安全性的升高。如果防火墙采用的是过滤的机制,那么它的工作效率比较高,安全性较低。如果采用的是代理机制,它就能够隐藏内部信息,提高安全性,同时不得不面临它带来的效率低下问题12。因此,我们要根据自己所要保护的网络的实际情况,来选择所采取的防火墙类型。2.4.2 SSL安全套接层(Secure Socket Layer,SSL)是目前应用最广的实现Web服务器和客户端之间加密通信的安全技术。SSL对应用层而言是独立的,因此它可以实现连接的保密。对等实体间可以利用对称密钥算法相互认证,同时保证连接是可靠的13。SSL采用公钥加密体制和对称加密体制的组合进行加密。公钥加密用于保护预主密钥(用于生成会话密钥),并为客户端对服务器进行验证。客户机生成预主密钥后,使用服务器的公钥加密后传递给服务器。服务器也可以要求客户端进行身份验证。在正式的会话中使用加密速度比较快的对称密钥进行加密。2.4.3 IPSecIPSec(IP Security)协议是由IETF定义的,用于增强IP网络的安全性。它提供了包括数据完整性、认证、保密性、应用透明的安全性在内的安全服务。它可以在对数据进行加密的同时,保证数据的实际发送者就是声称发送者。IPSec的安全头放在上层协议与IP头之间,因此,可以与任何网络应用或是服务兼容。IPSec分别为认证头(AH)、封装安全负荷(ESP)和Internet密钥交换协议(IKE)三种。AH用于数据完整性和数据源认证。ESP有用于防止重放攻击的顺序号,同时可以提供数据完整性和保密性的认证。IKE则可以对远程系统进行初始化认证,生成和分发在ESP和AH中使用的密钥。2.4.4 应用层安全协议目前,实施对应用层的攻击操作简单,很多攻击都是直接针对应用层进行的。常见的应用层安全协议有S-HTTP、PGP,S/MIME、SET等。安全的超文本传输协议S-HTTP(Secure HTTP)是HTTP的扩展,是面向报文的安全通信协议。它可以与HTTP消息共存或是无缝集成,主要用于保证商业消息的安全。S-HTTP对服务器和客户端是对称的,它采用了协议指示器Secure-HTTP/1.4来与HTTP报文区分,并在同一个TCP端口80进行传输。PGP(Pretty Good Privacy)是现在应用最广泛的电子邮件加密软件同时又用于加密文件。它支持RSA、IDEA、MD5算法。PGP基于公钥加密体制,使用RSA公钥证书进行身份认证,在数据加密上使用IDEA的128位密钥进行加密,使用MD5进行数据完整性校验。S/MIME(Secure/Multipurpose Internet Mail Extensions)提供报文完整性验证、数字签名和数据加密业务。其安全功能基于加密信息语法标准X.509v3证书和PKCS#7(RFC3215)。密钥长度可以根据用户需要自行选择,因而具有很高的灵活性。安全的电子交易SET(Secure Electronic Transaction)是安全协议和报文格式的集合。它很好的集成了SSL、STT(Secure Transaction Technology),S-HTTP和PKI,现已成为电子商务中的安全基础。它为用户提供了保证信息机密性服务,使用X.509数字证书实现的安全电子交易服务,并为交易双方提供安全通道。本章小结本章从加密基础开始,选择了与Web站点防护紧密相关的安全理论,进行了简要分析。这些理论都是站点安全技术的基础性理论,了解和掌握这些理论知识可以快速的建立起对网站安全的概念。分析了这些理论后,又选取了现在常见的安全防护措施做了理论上的分析,建立实践的理论基础。第3章 研究思路与方法本章首先根据理论基础和实际情况,具体提出了课题的任务需求。将整个课题的划分成5个部分,针对每个部分提出了具体的技术要求。结合上一章的理论基础,分析这些要求后,针对不同部分我提出了相应的解决方案。3.1任务需求这次研究的任务需求,主要有以下五点。(1)对自己所要建立的站点做好需求分析及安全评估,结合理论分析,合理选择Web服务器的搭建方案,以及在这个服务器平台上选择的安全防护手段。要保证这种Web服务器解决方案在公网上有一定的用户群,具有研究其安全性的价值。在安全措施配置上不能采用简单堆砌的方法,要根据安全评估选择自己合适的安全防护手段加以应用,使用最少的资源达到既定的安全目标。服务器搭建完成后,要达到以下几个指标:1)服务器可以正常运行,用户使用HTTP可以访问站点。2)服务器必须配置有数字证书,并且在启用SSL的情况下,仍然可以正常访问。3)服务器必须支持Web2.0下的应用,支持常见编程语言编写的程序。4)服务器必须具有一定的安全防护,可以抵挡部分网络攻击。5)针对服务器搭建过程中的一些常见问题,必须留有可用的技术文档。(2)设计建立站点。合理选择当前主流的建站方式,建立一个示范站点,用于测试服务器及攻击测试。对站点的需求如下:1)设计建立站点必须依据之前所做的需求分析和安全评估结果进行。2)站点必须采用当前主流的建站开发语言及开发环境,以测试服务器是否达到要求,同时使用其安全性编程来建立站点安全防护。3)站点必须具有自己的数据库,实现用户的注册、登录、注销、导航功能。4)根据安全评估结果,合理启用站点数据的加密,访问控制等功能。(3)联合调试。这部分要求解决在服务器配置和站点建设过程中遗留下来的问题。对在服务器搭建和网站建设过程中遇到的问题给予总结。扫清二者在配置或是编程上不合理的死角,检测二者是否达到指标要求,完成最后的联合调试,确保系统在要求的范围内合理运行。(4)攻击测试。这部分要完成对站点的模拟攻击,测试其安全性,其测试需求如下:1)选择常见的有代表性的攻击进行测试。这些攻击手段应该是网络上使用频率较高,能够对站点造成一定威胁的攻击,具有研究其攻击特性和防御方法的价值。2)合理选择自建站点或是公网站点进行攻击。在攻击公网站点时,必须保证不对其站点造成实质性破坏。3)在攻击测试的整个阶段,要及时做好数据收集工作,攻击结束后,要保留有攻击的各种数据及技术文档。(5)完成上述步骤后,总结所有的技术文档,针对Web站点安全,提出自己的防护措施建议。3.2 方案设计根据任务需求,我设计了下面的实施方案。(1)服务器搭建部分。首先通过翻阅各类文献、会议记录及出版物,了解Web安全的相关理论知识,建立好理论框架。根据实际情况,分析自己站点的安全等级,做好需求分析和安全评估工作,选择合适的Web服务器搭建环境和具体解决方案。然后,通过查阅相关技术文档,具体了解服务器搭建环境及其建设方法,实施服务器搭建操作。在搭建过程中,做好问题解决方案等的数据记录工作,建立工作文档。最后,在完成搭建后,根据安全评估结果,选择合适的安全防护手段,做好相应的安全配置,并检视是否达到所要求的功能,完善技术文档。(2)站点建设部分。首先,分析站点需求,确定站点所要求的功能,选择当前主流开发环境和编程语言,进行站点初步建设。在完成站点初级功能如注册、导航等功能后,针对所选择的开发语言,尝试添加相应的安全防护的内容。(3)联合调试部分。在这部分中首先在服务器上发布站点,调试站点的正常运行,修改没有做好的配置和设计工作,解决在发布后可能遇到的问题。然后,结合调试过程遇到的问题,总结整理前面在搭建服务器和设计站点时遇到的难点,做好技术文档。(4)攻击测试。根据当前的网站安全形势,比较容易上手,能造成一定威胁的攻击主要有SQL注入攻击,端口及漏洞扫描攻击,DDOS,嗅探器抓包攻击。这四种攻击比较常见,且带来的威胁较大,初步决定网络攻击测试执行这四种攻击。攻击的整个阶段,及时做好相关数据的收集工作。(5)完成攻击后,分析总结所收集到的所有数据,针对自己的操作环境和攻击类型,提出具有针对性的Web站点安全防护建议。本章小结本章从实际出发,针对具体的应用需求,将研究工作划分成为5个部分,细化了每个部分的任务需求。对整个研究任务形成了大致的框架。在明确任务要求后,根据理论知识,针对不同模块提出了具有针对性的解决方案。第4章 方案实施根据上面的方案设计,进入正式实施阶段。本章要有给了出实现上述指标的要求的具体操作步骤。按照配置、调试、攻击的顺序,采用分块叙述的方法,详细说明了解决方案实施的环境和步骤,并且特别注明了在操作中需要注意的地方。为了模拟真实的实验环境,同时不对真实的应用环境造成破坏,本次实验采用在真实的服务器(IP地址为211.80.203.25)中,建立虚拟机作为实验的服务器的方式。在虚拟机上安装Windows Server 2003服务器,作为Web服务器。整个实验中,使用了三个虚拟机,虚拟机Win2003为Web服务器,IP地址为211.80.203.8,同时也安装有DNS服务器。用于颁发证书的CA中心单独放在虚拟机CA上,IP地址为211.80.203.81。用于测试攻击的Web服务器虚拟机即除了使用SSL外,与Win2003一样的虚拟机,为虚拟机test,IP地址为211.80.203.93。4.1 搭建服务器环境典型的Web服务解决方案有三种,分别为IIS服务器+ASP技术,Apache服务器系列+PHP技术及Tomcat服务器系列+JSP。Apache支持PHP技术开发Web数据库。二者的组合优势在于具有强大的源代码基础,不受操作系统的限制。我们可以在网上找到很多相应的免费资源,但都要自己手动配置比较麻烦。Tomcat+JSP与Apache +PHP相似,都是免费软件而且可使用范围广,安全性也比较高 14。IIS(Internet Information Server)集成了WWW服务器、FTP服务器和Gopher服务器。使用ASP开发数据库,整体应用上比较简单,对ACCESS等的集成性比较好。本次实验我采用了IIS+ASP的技术方案。这种方案使用的人较多,而且在安装配置方面比较容易上手,对数据库的集成度比较好。选定服务器的配置方案后,我先在真实的服务器中新建虚拟机,并安装Windows Server 2003.此时,服务器是没有任何配置,软件。像常见的Word,RAR软件都没有配备。服务器每次开机,都会要求输入上次关机的原因,本次开机的登录密码。Windows Server 2000在这方面就比较欠缺,没有对开机原因做记录。4.1.1 安装配置IIS要实现Web服务,首先要对服务器配置IIS,开户Web服务。4.1.1.1 安装IIS开始程序配置您的服务器向导,选择【应用程序服务器】等待系统做好环境检测进入应用程序服务器选项界面选择【FrontPage Server Extension】和【启用ASP.NET】出现选择总结界面,提示本次安装的选项包括安装Internet信息服务IIS,包括了远程事务启用COM+,为远程访问启用Microsoft分布式处理协调程序DTC,安装FrontPages Server Extension,启用ASP.NET等待系统自动安装完成。安装FrontPages Server Extension,即允许多个管理员同时通过远程链接创建Web站点及其应用程序,从而实现对站点的远程管理。而ASP.NET提供了生成和部署企业级Web应用程序所必需的服务。我准备建立的网站准备采用ASP.NET技术,就必须选择这一项。另外,要使用Windows下自带的CA中心服务,在安装服务器端的时候,这些也是必须要选择的。4.1.1.2 配置IIS开始程序管理您的服务器在界面中选择【管理此应用程序服务器】在【管理目标导航树】下选择【应用程序服务器】,打开IIS,或者采用开始程序管理工具IIS来打开。IIS上安装完成后,系统自动会生成一个默认网站,我们不用这个默认网站,重新申请新建一个网站。更改文件的路径等信息因此,首先要关闭默认网站。右击默认网站停止。然后,我们新建一个网站。右击网站新建网站输入网站描述“www”IP地址和端口设置可以使用默认设置即本机IP和80端口输入网站主目录,本次我存放在C:graduatemk中选择网站运行权限,这里选择开放所有的读写权限,之后在文件夹里分配权限具体的写或是读的权限比较方便,如果这里设置了访问权限很可能导致部分网页出现无法访问或是无法注册的问题完成新建。这时候将一个网页导入相应的文件夹就可以访问了。但此时只能用IP进行访问,如果要用域名访问,必须安DNS服务器,由于申请证书要用到域名,因此在本服务器上,也安装了DNS,设置该网站域名为。4.1.2 申请安装数字证书及SSL站点4.1.2.1 安装独立根CA由于我们是实验性网站,所以没有在公网上申请证书,而是自己新建了一个虚拟机,自己安装CA中心。下面先安装CA中心。新建虚拟机CA,同样安装Windows Server 2003系统安装IIS,同时必须选择安装ASP.NET和FrontPages Server Extension开始控制面板添加/删除程序添加/删除Windows组件在其列表中选择【证书服务】会出现提示信息界面“安装证书服务后,计算机名称和域成员身份将不可再改变”,选择“是”。因为我们要在Internet上使用,可以不安装域及活动目录,使用独立CA 在详细信息中选择安装【证书服务CA】和【证书服务Web注册支持】,以便客户机通过Web页面提交数字证书申请确定在四种CA中心中,选择【独立根CA】,【用自定义设置生成密钥对和CA证书】可以依照自己的情况选择,如果选了,表明使用自定义CA的密钥生成算法进入公钥/私钥对界面,可以进行的设置包括有加密服务提供程序(CSP),散列算法,允许此CSP与桌面交互,密钥长度,使用现有密钥的选项,按照需要配置好后进入下一步CA识别界面,要求输入此CA的公用名称,可分辨名称后缀,有效期限。在公用名称中,我输入了chen 出现证书数据库设置界面,可选用默认设置提示暂停IIS服务,选择“是”完成安装界面,完成独立根CA的安装。4.1.2.2 配置CA安装完成的CA后,查看是否正常安装成功。开始控制面板管理工具/服务,进入服务界面。数字证书服务对应的后台服务名为“Certificate Services”,找到这个服务,如果它在【状态】栏中出现“已启动”,则表示数字证书服务已经正常启动了,如果没有显示“已启动”就说明已经停止服务或是安装过程没有成功。CA服务启动后,开始程序管理工具证书颁发机构管理目标导航树下就会出现名为chen的独立根CA下面就出现了4类管理目标:吊销的证书,颁发的证书,挂起的申请,失败的申请。右击chen的独立根CA属性,就可以对CA进行设置。4.1.2.3 Web网站申请数字证书因为是服务
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!