攻击者利用服务器系统的漏洞来攻击网站是所有攻击方式中最常见的一种,而计算机系统的安全是确保网站安全最基本的要素,一个小小的系统漏洞就可以使整个系统瘫痪,更别说是依赖于该系统的网站了,所以在制度上必须保证服务器的系统安全性,以此来提高网站的安全。
此外,开发人员在设计网站的时候更注重的是网站业务功能的实现和网站在正常状态下的稳定情况以及如何使得该网站满足用户的需求,而对存在于网站应用开发过程中的漏洞很少考虑,并且大多数网站开发者以及网站维护人员对攻防网站的技术不是很了解,这样的网站安全系数肯定不会很高。目前由于代码编写的不严谨而引发的漏洞有很多,最为流行攻击方法有:注入漏洞攻击、上传漏洞攻击、CGI漏洞攻击、XSS攻击、构造入侵等。因此,在制度上必须严格要求网站源程序的代码的安全性,尽量避免代码漏洞带来的危害。
最后也是至关重要的是人们的安全意识不强。这主要是因为很多人认为,在系统中部署了防火墙、IIS、杀毒软件等基于网络的安全产品后,并且经过SSL加密后,服务器和网站都是安全的。而事实并不是这样,像SQL注入和跨站脚本这种特征多变的基于应用层的攻击网站攻击,是通过端口80进行攻击的,并且攻击者是通过正常的GET和POST等正常提交的方式来攻击网站的,而这种攻击防火墙是无法拦截的。且SSL加密只能说明网站发送和接受的信息是都经过加密处理的,但对于存储在网站里面的信息的安全是无法保障的。因此,必需提高人们的安全意识,不能仅仅只关注于网站表面的安全措施。
2.3 技术上的要求
首先,了解最新的常用Web应用软件,尽可能熟悉流行的Web应用软件。到www.sourceforge.net或者www.freshmeat.net查看最流行的50个免费Web应用,它们用于许多应用,了解他它们的工作原理和观感,这将有助于我们在评估网站时很快发现它们的存在,以此来找到网站存在的漏洞。源^自·751·文.论,文'网]www.751com.cn
其次,开发人员应选择自己已熟练掌握的开发语言语法和结构,这样开发者才能建立良好的代码,有助于在发现漏洞时及时进行修复,使系统恢复到正常状态。
最后,开发者要严格按照良好的编码准则编写源代码,对于源代码本身可能出现的被攻击的地方加以防范,确保源代码的安全性。在登录界面,对账号的用户名和密码要进行验证,此外密码不能以可逆加密方式存储,如果用户忘记了密码,密码提醒功能将为其生成一个伪随机密码。若曾发生对账号的无效登录尝试,应用程序将会提醒用户。对于敏感的用户行为系统应该进行重复验证或者需要用户具备耳机验证机制,敏感信息若有修改应用程序审核事件应记录该用户的ID以及源IP地址。数据库与Web的连接也应以一种安全方式,以此确保Web后台数据的安全。此外,对于出现的错误应进行适当处理,对用户提供的数据进行严格的输入验证,谨防恶意数据的输入,同时应用程序应将数据写入一个可以提供应用程序调试和恶意行为识别的自定义错误日志。
3 核心相关的安全性研究
3.1 操作系统的安全
3.1.1 Windows操作系统
Windows系列的操作系统因其易学易用的特点目前在个人计算机以及办公自动化操作系统中占有很大比例。操作系统作为主机底层的软件平台,主要是分配和调度主机的资源,因为操作系统是网络主机安全最后的一道有效防线,所以操作系统的安全已经成为网络安全最关键的部分。目前随着网络技术的发展,美国微软公司推出的Windows系列的操作系统也层出不穷,Windows 95/98、Windows 2000、Windows7、Windows8以及现在已被停用的Windows XP等。但无论是哪一种操作系统,它都不是完美的,都会存在一些这样那样无法避免的漏洞。