网站安全
网站安全
网站安全是指为了避免网站遭到外部计算机入侵者的攻击,而采取的一系列防御措施。网站的设计者通常注重用户体验,较少考虑安全漏洞。然而,黑客能够敏锐地发现并利用这些漏洞,将其转化为获取利益的机会。网站防御措施常常滞后,传统的基于特征识别的入侵防御技术效果不佳。此外,网站管理者往往低估网站的价值,不愿投入过多的成本进行安全防护。黑客入侵后,有时难以及时发现,因为他们可能会利用网站进行隐蔽活动,如网页挂马。网站安全问题的解决方案并不总是彻底有效,因为多数网站开发与设计公司在安全代码设计方面的知识有限。
常见问题
- 大多数网站设计,只考虑正常用户稳定使用
- 但在黑客对漏洞敏锐的发觉和充分利用的动力下,网站存在的这些漏洞就被挖掘出来,且成为黑客们直接或间接获取利益的机会。对于Web应用程序的SQL注入漏洞,有试验表明,通过搜寻1000个网站抽样测试,检测到有15%的网站存在SQL注入漏洞。
- 网站防御措施过于落后,甚至没有真正的防御
- 大多数防御传统的基于特征识别的入侵防御技术或内容过滤技术,对保护网站抵御黑客攻击的效果不佳。比如对SQL注入、跨站脚本这种特征不唯一的网站攻击,基于特征匹配技术防御攻击,不能精确阻断攻击。因为黑客们可以通过构建任意表达式来绕过防御设备固化的特征库,比如:and 1=1 和 and 2=2是一类数据库语句,但可以人为任意构造数字构成同类语句的不同特征。而and、=等这些标识在WEB提交数据库应用中又是普遍存在的表达符号,不能作为攻击的唯一特征。因此,这就很难基于特征标识来构建一个精确阻断SQL注入攻击的防御系统。导致目前有很多黑客将SQL注入成为入侵网站的首选攻击技术之一。基于应用层构建的攻击,防火墙更是束手无策。
- 网站防御不佳还有另一个原因,有很多网站管理员对网站的价值认识仅仅是一台服务器或者是网站的建设成本,为了这个服务器而增加超出其成本的安全防护措施认为得不偿失。而实际网站遭受攻击之后,带来的间接损失往往不能用一个服务器或者是网站建设成本来衡量,很多信息资产在遭受攻击之后造成无形价值的流失。不幸的是,很多网站负责的单位、人员,只有在网站遭受攻击后,造成的损失远超过网站本身造价之后才意识到这一点。
- 黑客入侵后,未被及时发现
- 有些黑客通过篡改网页来传播一些非法信息或炫耀自己的水平,但篡改网页之前,黑客肯定基于对漏洞的利用,获得了网站控制权限。这不是最可怕的,因为黑客在获取权限后没有想要隐蔽自己,反而是通过篡改网页暴露自己,这虽然对网站造成很多负面影响,但黑客本身未获得直接利益。更可怕的是,黑客在获取网站的控制权限之后,并不暴露自己,而是利用所控制网站产生直接利益;网页挂马就是一种利用网站,将浏览网站的人种植其木马的一种非常隐蔽且直接获取利益的主要方式之一。访问网站而被种植木马的人通常也不知情,导致一些用户的机密信被窃取。网站成了黑客散布木马的一个渠道。网站本身虽然能够提供正常服务,但访问网站的人却遭受着木马程序的危害。这种方式下,黑客们通常不会暴露自己,反而会尽量隐蔽,正好比暗箭难防,所以很多网站被挂木马数月仍然未被察觉。由于挂马原理是木马本身并非在网站本地,而是通过网页中加载一个能够让浏览者自动建立另外的下载连接完成木马下载,而这一切动作是可以很隐蔽的完成,各个用户不可见,因此这种情况下网站本地的病毒软件也无法发现这个挂马实体。
- 发现安全问题不能彻底解决
- 网站技术发展较快、安全问题日益突出,但由于关注重点不同,绝大多数的网站开发与设计公司,网站安全代码设计方面了解甚少,发现网站安全存在问题和漏洞,其修补方式只能停留在页面修复,很难针对网站具体的漏洞原理对源代码进行改造。这些也是为什么有些网站安装网页防止篡改、网站恢复软件后仍然遭受攻击。我们在一次网站安全检查过程中,曾经戏剧化的发现,网站的网页防篡改系统将早期植入的恶意代码也保护了起来。这说明很少有人能够准确的了解网站安全漏洞解决的问题是否彻底。
主要手段
攻击分类
1. 利用Web服务器的漏洞进行攻击。如CGI缓冲区溢出,目录遍历漏洞利用等攻击;
2. 利用网页自身的安全漏洞进行攻击。如SQL注入,跨站脚本攻击等。
应用攻击
1. 缓冲区溢出——攻击者利用超出缓冲区大小的请求和构造的二进制代码让服务器执行溢出堆栈中的恶意指令。
2. Cookie假冒——精心修改cookie数据进行用户假冒。
3. 认证逃避——攻击者利用不安全的证书和身份管理。
4. 非法输入——在动态网页的输入中使用各种非法数据,获取服务器敏感数据。
5. 强制访问——访问未授权的网页。
6. 隐藏变量篡改——对网页中的隐藏变量进行修改,欺骗服务器程序。
7. 拒绝服务攻击——构造大量的非法请求,使Web服务器不能响应正常用户的访问。
8. 跨站脚本攻击——提交非法脚本,其他用户浏览时盗取用户帐号等信息。
9. SQL注入——构造SQL代码让服务器执行,获取敏感数据。
10. URL 访问限制失效——黑客可以访问非授权的资源连接强行访问一些登陆网页、历史网页。
11. 被破坏的认证和 Session 管理——Session token 没有被很好的保护 在用户退出系统后,黑客能够盗窃 session。
12. DNS攻击——黑客利用DNS漏洞进行欺骗DNS服务器,从而达到使DNS解析不正常,IP地址被转向导致网站服务器无法正常打开。
攻击手段
SQL注入
对于和后台数据库产生交互的网页,如果没有对用户输入数据的合法性进行全面的判断,就会使应用程序存在安全隐患。用户可以在可以提交正常数据的URL或者表单输入框中提交一段精心构造的数据库查询代码,使后台应用执行攻击者的SQL代码,攻击者根据程序返回的结果,获得某些他想得知的敏感数据,如管理员密码,保密商业资料等。
跨站脚本攻击
由于网页可以包含由服务器生成的、并且由客户机浏览器解释的文本和HTML标记。如果不可信的内容被引入到动态页面中,则无论是网站还是客户机都没有足够的信息识别这种情况并采取保护措施。攻击者如果知道某一网站上的应用程序接收跨站点脚本的提交,他就可以在网上上提交可以完成攻击的脚本,如ECMAScriptVBScript、ActiveX、HTML 或 Flash 等内容,普通用户一旦点击了网页上这些攻击者提交的脚本,那么就会在用户客户机上执行,完成从截获帐户、更改用户设置、窃取和篡改cookie到虚假广告在内的种种攻击行为。
DNS攻击
黑客使用常见的洪水攻击,阻击DNS服务器,导致DNS服务器无法正常工作,从而达到域名解析失败,造成网站无法访问。
安全检测
网站漏洞扫描
网站安全检测的第一步是对网站的漏洞进行扫描,这是因为现在很多网站都存在SQL注入漏洞、上传漏洞等问题。黑客可以通过这些漏洞攻击网站。有一些在线的网站漏洞检测工具可供免费使用。
网站木马检测
网站被挂马的情况十分常见,这对网站的声誉影响很大。因此,网站安全检测中,网站是否被挂马是一项重要的指标。可以通过一些杀毒软件提供的在线安全中心进行木马检测。
网站环境检测
网站环境包括网站所在的服务器安全环境和维护网站的工作人员的工作环境。选择可靠的服务器服务商,稳定的服务器对网站的优化和SEO很有帮助。同时,站长或维护人员的工作环境中也要保持系统的安全,建议安装必要的杀毒软件,并设置复杂的账号和密码。
其他检测
黑链检测是另一项重要的检测项目,因为黑链的存在会影响网站的SEO优化。可以通过一些工具检测是否存在PR较低且陌生的链接,这些链接可能是黑链,应及时删除。
远程连接检测
打开宽带连接,进行宽带的检测和IP地址的检测,以防恶意窃取用户资料。
结构设计
网站结构设计是网站设计的重要组成部分。在内容设计完成后,网站的目标及内容主题已确定。结构设计的任务是将内容划分为清晰合理的层次体系,如栏目的划分及其关系、网页的层次及其关系、链接的路径设置、功能在网页上的分配等。前台结构设计的实现需要后台的支持。网站的结构设计体现了内容设计与创意设计的关键环节,应理清网页内容及栏目结构的脉络,使链接结构、导航线路层次清晰;内容与结构要突出主题。
安全措施
1. 登录页面加密
登录后实施加密可能有所帮助,但如果不加密登录会话,就相当于把大门关上却把钥匙留在锁里。许多情况下,即使登录会话被传输到加密资源,也可能被恶意黑客攻克,他们会伪造登录表单,访问相同的资源并访问敏感数据。通常的加密方式包括MD5加密、数据库加密等。
2. 专业工具辅助
市场上有许多针对网站安全漏洞的检测监测系统,其中大部分是付费的,但也有一些免费的网站安全检测平台,可以帮助快速查找网站的安全隐患,并提供相应的防范措施。
3. 加密连接管理站点
使用不加密的连接(或仅使用轻度加密的连接)访问安全资源,如使用不加密的断点续传或HTTP管理Web站点或Web服务器,会使自己暴露在“中间人”攻击和登录/口令嗅探等风险之下。因此,请务必使用加密协议,如SSH,访问安全资源,以确保您使用的安全工具经过验证,不会限制您的用户基础。
4. 兼容性加密
考虑到当前的发展状况,SSL不再是最先进的Web网站加密技术。可以考虑使用TLS(传输层安全),这是安全套接字层加密的继任者。确保您选择的任何加密方案不会限制您的用户基础。
5. 连接到安全网络
避免连接安全特性未知或不确定的网络,也不要连接安全性较差的网络,如未知的开放无线访问点。任何时候,如果您必须登录到服务器或Web站点进行管理,或访问其他安全资源,请务必使用安全代理,这样您到安全资源的连接就会来自一个有安全保障的网络代理。
6. 不共享登录信息
共享登录机要信息会导致多种安全问题。这不仅适用于网站管理员或Web服务器管理员,也适用于在网站上有登录凭证的人员,客户也不应共享其登录凭证。登录凭证共享得越多,越容易公开共享,甚至对不应访问系统的人员也是如此;登录机要信息共享得越多,建立跟踪索引来追踪、追查问题来源就越困难,如果安全性受损或受到威胁,需要更改登录信息时,受影响的人就越多。
7. 采用基于密钥的认证而非口令认证
口令认证比基于密钥的认证更容易被攻破。设置口令是为了在需要访问安全资源时更容易记住登录信息。但是,如果使用基于密钥的认证,并仅将密钥复制到预先定义的、授权的系统(或将密钥复制到与授权系统分开的独立介质中,在需要时取回),您将获得一个更强健的难以破解的认证凭证。
8. 维护安全的工作站
如果您从客户端系统连接到安全资源站点,而您不能完全保证其安全性,就不能保证某人没有在监视您所做的每一件事。因此,键盘记录器、受到恶意损害的网络加密客户以及其他黑客的破坏安全性的技巧都会允许未经授权的个人访问敏感数据,而不管网络是否有安全措施,是否使用加密通信,也不管您是否部署了其他网络保护。因此,保障工作站的安全至关重要。
9. 运用冗余性保护网站
备份和服务器的故障转移有助于保持最长的正常运行时间。尽管故障转移可以大大缩短服务器停机时间,但这不是冗余性的唯一价值。用于故障转移计划的备份服务器可以保持服务器配置的最新状态,这样在发生灾难时,您不必从头开始重建服务器。备份可以确保客户端数据不会丢失,如果您担心受损系统上的数据落入坏人之手,您可以毫不犹豫地删除此类数据。当然,您还必须确保故障转移和备份方案的安全,并定期检查以确保在需要这些方案时不会让您措手不及。
10. 确保对所有系统实施强健的安全措施,而不只是特定的Web安全措施
在这方面的通用手段包括使用强密码、强健的外围防御系统、及时更新软件和打补丁、关闭不使用的服务、使用数据加密等,以确保系统的安全。
11. 利用防火墙防护网站安全
例如使用操作系统自带的Internet连接防火墙(ICF),检查进出防火墙的所有数据包,决定拦截或放行哪些数据包。防火墙可以是硬件、固件或软件,如专用防火墙设备、带有防火墙固件的路由器、代理服务器等软件。
12. 运用网站监控措施
随着互联网的快速发展,个人网站、企业网站、社区网站等数量不断增加,网站之间的竞争也越来越激烈,由此产生了对网站的监控需求,以确保网站的连续性和数据分析。
目录
概述
常见问题
主要手段
攻击分类
应用攻击
攻击手段
SQL注入
跨站脚本攻击
DNS攻击
安全检测
网站漏洞扫描
网站木马检测
网站环境检测
其他检测
远程连接检测
结构设计
安全措施
参考资料