本文主要以Web应用和服务的大众化平台——网站系统的安全为研究对象包括服务器、操作系统、数据库、编程语言和客户端,分析Web应用中存在的各种安全问题、Web网络的安全性设置问题、如何保护Web站点上的机密数据问题、各种Web服务器的安全设置问题和各种程序语言的安全问题。在研究方法上,根据系统论的观点,将Web安全的各个问题分类,按照系统平台安全、程序安全、数据安全和通信安全的结构来组织全文。并采用理论分析与实践结合的方法来书写文章的内容。通过以上分析,得出了一些加强Web安全的可操作性经验和对策。这些对策体现了现在通用的最佳实践原则。
关键词: 网站; Web安全 ;系统安全
Web安全对策研究
摘 要
本文主要以Web应用和服务的大众化平台——网站系统的安全为研究对象包括服务器、操作系统、数据库、编程语言和客户端,分析Web应用中存在的各种安全问题、Web网络的安全性设置问题、如何保护Web站点上的机密数据问题、各种Web服务器的安全设置问题和各种程序语言的安全问题。在研究方法上,根据系统论的观点,将Web安全的各个问题分类,按照系统平台安全、程序安全、数据安全和通信安全的结构来组织全文。并采用理论分析与实践结合的方法来书写文章的内容。通过以上分析,得出了一些加强Web安全的可操作性经验和对策。这些对策体现了现在通用的最佳实践原则。
关键词: 网站; Web安全 ;系统安全
Research on Web Security’s Countermeasures
Abstract
This thesis researched the security of the website system ,which is the popular Web applications and services platform. This system is include servers, operating system, database, web procedure and the client. The thesis analysis the various security issues of Web applications, how to set up a security configuration, how to protect the confidential data on the website, all kinds of Web server's security settings and various programming language’s security. In the research methods, according to the theory of system, this thesis sort out Web security issues as system Platform security, process security, communication security and security of the data. And the thesis' structure was organized by the classification. The contents of the thesis were written not only by theoretical analysis but also by practice approach. After the research, we got some strengthening of the security Web operational experience and countermeasures. Those countermeasures are in the rule of best practice.
keyword:Website;Web Security;System Security
目 录
摘 要 I
Abstract II
目 录 III
1 绪论 1
1.1 课题背景及目的 1
1.2 国内外研究状况 1
1.3 论文构成及研究内容 2
2 WEB安全概述 3
2.1 WEB安全的定义 3
2.2 WEB安全面临的
问题 3
2.2.1 WEB服务器的安全 3
2.2.2 WEB客户端的安全 3
2.2.3 WEB通信的安全 4
2.3 WEB安全的对策 4
2.3.1 物理安全策略 4
2.3.2 访问控制策略 4
2.3.3 信息加密策略 5
2.3.4 安全管理策略 5
3 系统平台安全 6
3.1 操作系统 6
3.1.1 UNIX操作系统 6
3.1.2 LINUX安全设置 6
3.1.3 WINDOWS系统 7
3.2 WEB服务器平台 8
3.2.1 IIS平台 8
3.2.1.1 删除不必要的虚拟目录 8
3.2.1.2删除危险的IIS组件 8
3.2.1.3为IIS中的文件分类设置权限 9
3.2.1.4删除不必要的应用程序映射 9
3.2.2 APACHE平台 10
3.2.2.1 APACHE服务器的安全特性 10
3.2.2.2 APACHE主要的安全缺陷 10
3.2.2.3 APACHE的安全配置 11
4 程序安全 12
4.1 ASP程序 12
4.1.1 源代码泄露 12
4.1.2 SQL注入 12
4.2 PHP程序 13
4.2.1 关闭错误显示 13
4.2.2 开启安全模式 13
4.3 ASP.NET和JSP 程序 14
5 数据安全 14
5.1 常用数据库 14
5.1.1 ACCESS数据库 14
5.1.1.1 ACCESS数据库的存储隐患 14
5.1.1.2 ACCESS数据库的解密隐患 15
5.1.1.3 防止ACCESS数据库被下载 15
5.1.2 MSSQL数据库 15
5.1.2.1使用加密协议 15
5.1.2.2 修改所使用的TCP/IP端口 16
5.1.3 MYSQL数据库 16
大众网站5.1.3.1 帐户安全 16
5.1.3.2 访问安全 16
5.2 防盗链和采集 16
5.2.1 防盗链 17
5.4.2 防采集 17
6 网络安全 17
6.1 客户端安全性 18
6.1.1 ACTIVEX 18
6.1.2 JAVASCRIPT 18
6.1.3 COOKIES 18
6.2 黑客攻击 18
6.2.1 获得系统权限 19
6.2.2 中止WEB服务 19
6.3 防火墙 19
6.3.1 包过滤防火墙 19
6.3.2 代理防火墙 19
6.3.3 双穴主机防火墙 20
总  结 21
致 谢 21
参考文献 23
1 绪论
1.1 课题背景及目的
中国的互联网发展已进入了第二个十年,随着互联网的基础设施的建设,人们观念意识的变革,互联网越来越成为人们生活中不可分割的一部分。基于互联网的Web应用如火如荼,迅速发展,各类网站数量也呈井喷式增长,随之而来的,是日益突出的安全问题。不断被发现的漏洞,黑客的恶意攻击,在网络上疯狂爬行的蠕虫,迅速扩散的病毒,盗取虚拟财物的木马,所有这一切都令人惶惶不可终日。
人们一方面享受着 Web带来的好处,另一方面却要忍受着不可预料的安全威胁。本课题就是针对这种尴尬的现状,全面地介绍和分析Web服务和应用中存在的各种漏洞和所面临的各种威胁,探讨Web安全问题的对策。
1.2 国内外研究状况
目前和相当一段时间内,国内外关于Web安全的研究主要从安全协议的制定、系统平台的安全、网站程序的安全编程、安全产品的研发、Web服务器的安全控制等方面着手。安全协议的制定方面,已经提出了大量实用的安全协议,具有代表性的有:电子商务协议SET,IPSec协议,SSL/TLS协议,简单网络管理协议SNMP, PGP协议,PEM协议,S-HTTP协议,S/MIME
协议等。这些协议的安全性分析特别是电子商务协议,IPSec协议,TLS协议是当前协议研究中的热点。系统平台的安全方面主要研究安全操作系统、安全数据库等,以及现有常用系统(如WINDOWS,UNIX,LINUX)的安全配置;还有就是针对黑客常用的攻击手段制定安全策略。网站程序的安全编程方面,主要研究规范化编程以及现有编程语言(ASP,ASP.NET,PHP,CGI,JSP等)的安全配置和发布增加功能与安全性的新版本。安全产品的研发方面,目前在市场上比较流行,而又能够代表未来发展方向的安全产品大致有以下几类:防火墙、安全路由器、虚拟专用网VPN、安全服务器、电子签证机构CA和PKI产品、用户认证产品、安全管理中心、入侵检测系统IDS、入侵防御系统IPS等;在
上述所有主要的发展方向和产品种类上,都包含了密码技术的应用,并且是非常基础性的应用。 Web服务器的安全控制方面,主要研究时下流行的Apache、IIS的安全缺陷分析与安全配置,如Apache的访问控制机制、安全模块,IIS的安全锁定等。
1.3 论文构成及研究内容
本文根据对Web安全概念做出的定义,分系统安全、程序安全、数据安全和通信安全对Web安全问题所涉及的四个主要方面分章节做出相应的论述。系统安全方面,介绍和分析两大类操作系统类UNIX和Windows,并对Apache和IIS平台的安全设置进行了一定分析。程序安全方面,主要介绍了ASP和PHP这两种个人常有的编程语言,并对企业级开发语言ASP.Net和JSP做了粗略的介绍。通信安全方面,通过对客户端脚本ActiveX和JavaScript,以及Cookies的研究,大致地对Web客户端安全做出了分析。数据安全方面,一是论述了常见数据库的安全,二是介绍了时下最新的数据安全威胁——盗链和采集,并给出了相应的解决办法。
2 WEB安全概述
2.1 WEB安全的定义
Web作为建立在Internet基础上的应用,Web安全的定义不可避免地与网络安全和信息安全概念相重叠,
其内涵和外延可看作网络安全和信息安全的一个子集。网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的因素或者恶意的攻击而遭到破坏、更改、泄露,确保系统能连续、可靠、正常地运行,网络服务不中断。[1]国家信息安全重点实验室对信息安全给出的定义是:“信息安全涉及到信息的机密性、完整性、可用性、可控性。综合起来说,就是要保障电子信息的有效性。”据此我们给Web安全做出如下定义:Web安全是指信息在网络传输过程中不丢失、不被篡改和只被授权用户使用,包括系统安全、程序安全、数据安全和通信安全。本文即根据此定义分章论述。
2.2 WEB安全面临的问题
2.2.1 WEB服务器
的安全
在Web安全中,服务器的安全是最基础也是最困难的,因为服务器的源代码庞杂,如FreeBSD6.0的汇编行数达到1,271,723,OpenBSD则有1,260,707[2],Windows Vista更是达到惊人的5000万行。针对Web服务器具体的安全威胁主要体现在:服务器程序编写不当导致的远程代码执行;应用程序编写不当、过滤不严格造成的代码注入,可能引起信息泄漏、文件越权下载、验证绕过、远程代码执行等;乐观相信用户输入、过滤不严格导致跨站脚本攻击,在欺骗管理员的前提下,通过精心设计的脚本获得服务端Shell;针对服务器系统的拒绝服务攻击。
2.2.2 WEB客户端的安全
当用户使用浏览器查看、编辑网络内容时,采用了ActiveX、Java Applet、Cookie等技术的应用程序会自动下载并在客户机上运行,如果这些程序被恶意使用,可以窃取、改变或删除客户机上的信息。对于恶意程序的侵害,用户很难实时的判断程序性质,因此,在获得高度交互的Web服务时,如何抵御这些安全威胁绝非简单的客户端设置就可以解决的。同时,跨站脚本攻击对于客户端的安全威胁同样无法忽视,跨站脚本攻击属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。与之相对的是,利用跨站脚本攻击的蠕虫已经在网络中肆虐过。
2.2.3 WEB通信的安全
和其他的Internet应用一样,Web信道同样面临着网络嗅探和以拥塞信道、耗费资源为目的的拒绝服务攻击的威胁。需要注意的是,很多针对Web应用的攻击并非只针对服务端、客户端或信道,综合利用各方面的安全漏洞进行攻击的案例数不胜数。
2.3 WEB安全的对策
2.3.1 物理安全策略
物理安全策略的目的是保护计算机系统、网络服务器、打印机等硬件实体和通信链路免受自然灾害、
人为破坏和搭线攻击;验证用户的身份和使用权限、防止用户越权操作;确保计算机系统有一个良好的电磁兼容工作环境;建立完备的安全管理制度,防止非法进入计算机控制室和各种偷窃、破坏活动的发生。抑制和防止电磁泄漏是物理安全策略的一个主要问题。目前主要防护措施有两类:一类是对传导发射的防护,主要采取对电源线和信号线加装性能良好的滤波器,减小传输阻抗和导线间的交叉耦合。另一类是对辐射的防护,这类防护措施又可分为以下两种:一是采用各种电磁屏蔽措施,如对设备的金属屏蔽和各种接插件的屏蔽,同时对机房的下水管、暖气管和金属门窗进行屏蔽和隔离;二是干扰的防护措施,即在计算机系统工作的同时,利用干扰装置产生一种与计算机系统辐射相关的伪噪声向空间辐射来掩盖计算机系统的工作频率和信息
特征。
2.3.2 访问控制策略
访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和非法访问。它也是维护网络系统安全、保护网络资源的重要手段。各种安全策略必须相互配合才能真正起到保护作用,但访问控制可以说是保证网络安全最重要的核心策略之一。访问控制策略主要包括入网访问控制、网络的权限控制、目录级安全控制、属性安全控制、网络服务器安全控制、网络监测和锁定控制、网络端口和节点的安全控制和防火墙控制。
2.3.3 信息加密策略
信息加密的目的是保护Web服务的数据、文件、密码和控制信息,保护网上传输的数据。网络加密常用的方法有链路加密、端点加密和节点加密三种。链路加密的目的是保护网络节点之间的链路信息安全;端点加密的目的是对源端用户到目的端用户的数据提供保护;节点加密的目的是对源节点到目的节点之间的传输链路提供保护。用户可根据网络情况酌情选择上述加密方式。
2.3.4 安全管理策略
在网络安全中,除了采用上述技术措施之外,加强网络的安全管理,制定有关规章制度,对于确保网络的安全、可靠地运行,将起到十分有效的作用。网络的安全管理策略包括:确定安全管理等级和安全管理范围;制订有关网络操作使用规程和人员出入机房管理制度;制定网络系统的维护制度和应急措施等。
3 系统平台安全
作为Web应用的基础,操作系统以及提供Web服务的应用软件的安全直接关系到整个Web服务和应用的安全。Internet发展到现在,用于实现Web服务的操作系统主要是类UNIX系统(包括AIX,HP-UX,SCO, FreeBSD, NetBSD, OpenBSD,Solaris,Linux发行版等)和windows系统,搭建Web服务的平台则主要使用Apache和IIS。本章将对他们的安全性和设置进行大致的分析和说明。
3.1 操作系统
3.1.1 UNIX操作系统
UNIX于1969年产生于AT&T贝尔实验室,并同时诞生了划时代的编程语言C。在三十多年的发展过程中,产生了众多分支。比较著名的有:SUN公司的SunOS,后来发展为跨平台的工作站操作系统Solaris;同样基于加州大学伯克利分校BSD的NetBSD、FreeBSD和OpenBSD,其中FreeBSD因易于在PC上安装而影响巨大,NetBSD注重于不同的CPU 结构和网络服务,OpenBSD注重安全性;还有就是由芬兰赫尔辛基大学Linus Torvalds开创的Linux和众多的发行版,如RedHat,Suse,Novell,Debian,Turbolinux。随着中国计算机网络的发展,国人也开发出了众多的类UNIX系统,如国防科大的麒麟,中科院的红旗,为中国的信息化建设提供了安全的基础平台。
3.1.2 LINUX安全设置
一般来说,对Linux系统的安全设置包括取消不必要的服务、限制系统的