⑴ 从浏览器,web服务器和传输信道的角度分析web安全威胁有哪些
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,
也可以放置网站文件,让网络用户浏览;可以放置数据文件,提供下载。
Web的特点:
一、Web是图形化的和易于导航的(navigate)
Web非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。
二、Web与平台无关
无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、NCSA的Mosaic、Microsoft的Explorer等。
三、Web是分布式的
大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。
⑵ Web浏览器存在哪些安全隐患如何保证Web浏览器的安全
1、IE的自动登录
拨号上网用户使用IE时,连接对话框有个“保存密码”选项,在Web页面直接登录邮箱时也有“保存密码”选项。看“*”号工具软件可以轻易将密码翻译出来。建议你尽量不要使用该选项。
2、IE的颜色足迹
IE以及Web页面设计者一般都将页面上未访问的和已访问过的链接设置成不同的颜色,虽说方便了用户浏览,但不经意间会泄露了你的浏览足迹。在IE的菜单栏点击[工具]→[Internet选项]→[常规]→[辅助功能],在随后的对话框内勾选格式区域的“不使用Web页中指定的颜色”项,确定之后,点击[颜色]按钮,在“颜色”区域勾选“使用Windows颜色”,在“链接”区域通过色板将未访问的和访问过的链接的颜色设置成相同,别人就看不到你的浏览足迹了。
3、IE的Cookie
Cookie,我们已经介绍过多次了,它可不仅仅是小甜饼哦!可以通过设置不同的安全级别来限制Cookie的使用。如果要彻底删除Cookie,可将目录“Windowscookies”下的所有文件全部删除,这样就可有效保护你的个人隐私了。当然使用个人防火墙也可以对Cookie的允许、提示、禁止等功能的进行使用限制。
4、IE的自动完成
IE的自动完成功能给用户填写表单和输入Web地址带来一定的便利,但同时也给用户带来了潜在的危险,尤其是对于在网吧或公共场所上网的网民。若需禁止该功能,只需点击[工具] →[Internet选项]→[内容],在“个人信息”区域单击[自动完成]按钮,在随后的对话框内清除Web地址、表单及表单的用户名和密码项的选择。
5、IE的历史记录以及临时文件夹
我们在上网浏览信息时,浏览器会把我们在上网过程中浏览的信息保存在历史记录以及临时文件夹(WindowsTemporary Internet Files)中,这样下次再访问同样信息时可以很快地达到目的地,从而提高了我们的浏览效率,但是通过IE的脱机浏览,其他用户能够轻松地翻阅你浏览的内容。如何保护个人信息资料的安全呢?方法如下:点击[工具]→[Internet选项]→[常规]→[删除文件],在“删除文件”对话框中勾选“删除所有脱机内容”,[确定]即可。另外,也可以设置成自动删除临时文件,切换至“高级”选项卡,在安全区域勾选“关闭浏览器时清空Internet临时文件夹”。这样在关闭IE时就会自动删除临时文件夹中的内容了;然后在同样的对话框中单击[清除历史记录]按钮来删除浏览器中的历史记录中的内容。
6、屏蔽ActiveX控件
由于ActiveX控件可以被嵌入到HTML页面中,并下载到浏览器端执行,因此会给浏览器端造成一定程度的安全威胁。同时,其他一些技术,如内嵌于IE的VB Script语言,还有一些新技术,如ASP(Active server Pages)技术同样也都存在着一定的安全隐患。所以我们要屏蔽掉这些可能对计算机安全构成威胁的ActiveX控件,方法如下:点击[工具]→[Internet选项]→[安全]→ [自定义级别],在打开的“安全设置”对话框中找到关于ActiveX控件的设置,就选择“禁用”好了。
7、IE的安全区域设置
IE的安全区设置可以让你对被访问的网站设置信任程度。我们在上网浏览信息时,应经常通过一些报刊杂志来搜集一些黑客站点或其他一些破坏站点的相关信息,并时时注意哪些站点会恶意窃取别人的个人信息,通过一些相关设置来拒绝这些站点对你的信息的访问,从而使浏览器能够自动拒绝这些网站发出的某些对自己有安全威胁的指令。方法是:点击[工具]→[Internet选项]→[安全],单击“受限站点”右边的[站点]按钮,将需要限制的站点的地址添加进去,完成站点地址的添加工作以后,单击[确定]按钮,浏览器将对上述的受限站点起作用。
转自电脑之家网
⑶ Web安全问题解答
很多新手都觉得自己的电脑web经常被木马侵袭,所以下面我为大家带来电脑基础知识学习之Web安全问题,让你了解下如何安全的保护好自己的电脑。
1、什么叫Web应用系统?
答:Web应用系统就是利用各种动态Web技术开发的,基于B/S(浏览器/服务器)模式的事务处理系统。用户直接面对的是客户端浏览器,使用Web应用系统时,用户通过浏览器发出的请求,其之后的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成,对用户而言是完全透明的。运算后得到的结果再通过网络传输给浏览器,返回给用户。比如:ERP系统、CRM系统以及常见的网站系统(如电子政务网站、企业网站等)都是Web应用系统。
2、为什么Google把我的网站列为恶意网站
答:Google在对网站内容进行搜索时,同时也会检查是否含有恶意软件或代码(这些恶意软件或代码可能威胁该网站的访问者)。如果该网站存在这样的恶意软件或代码,就会在用户搜索到该网站时,加上一个标记:“该网站可能含有恶意软件,有可能会危害您的电脑”。这将会使网站信誉受损,并导致潜在的用户流失。
3、Web威胁为什么难以防范
答:针对Web的攻击已经成为全球安全领域最大的挑战,主要原因有如下两点:
1. 企业业务迅速更新,需要大量的Web应用快速上线。而由于资金、进度、意识等方面的影响,这些应用没有进行充分安全评估。
2. 针对Web的攻击会隐藏在大量正常的业务行为中,而且使用各种变形伪装手段,会导致传统的防火墙和基于特征的入侵防御系统无法发现和阻止这种攻击。
4、黑客为什么要篡改网站页面
答:当黑客获取网站的控制权限后,往往会更改网站页面,可能的动机有:
1. 宣称政治主张;
2. 炫耀技术,建立“声望”;
3. 宣泄情绪;
4. 经济利益,通过网站释放木马,从而获取经济利益。
5、黑客实施网站挂马的目的是什么
答:网站挂马的主要目的是控制访问该网站的用户的计算机,从而可以进一步获取用户的计算机隐私信息而获利,或者将这些用户的计算机作为“肉鸡”,对 其它 服务器或网络进行DDos攻击。
6、为什么我网站的数据库表内容被大量替换?
答:如果排除了管理员误操作的可能性,则可能是网站服务器被自动化攻击工具(如SQL注入工具等)攻击的结果。目前已经有自动化的工具对网站进行攻击,如果网站存在漏洞的话,攻击工具能够获得对网站数据库访问的权限。如果发现这种情况,应该仔细核查网站服务器和数据库服务器日志,找出更改记录。
7、在Web威胁防御中防火墙的优点和不足
答:防火墙可以过滤掉非业务端口的数据,防止非Web服务出现的漏洞,目前市场上可选择的防火墙品牌也较多。但对于目前大量出现在应用层面上的SQL注入和XSS漏洞,防火墙无法过滤,因而无法保护Web服务器所面临的应用层威胁。
8、常见发布系统之IIS
答:IIS 是Internet Information Server的缩写,是由微软开发的一种Web服务器(Web server)产品,用以支持HTTP、FTP和SMTP服务发布。 它主要运行在微软的 操作系统 之上,是最流行的Web服务器软件之一。
9、常见Web服务器之Apache
答:Apache是Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,已成为世界上最流行的Web服务器软件之一。
10、Apache是不是比IIS要安全
答:早期的IIS在安全性方面存在着很大的问题,如果使用默认设置,黑客可以轻松趁虚而入。不过在IIS6中,微软公司对其安全方面进行了大幅改进。只要保证操作系统补丁更新及时,就可以将网站安全系数尽可能地提高。
Apache在安全方面一直做得比较好,更主要的原因是很多用户都是在linux系统下使用Apache。相对于微软的操作系统,Linux系统被发布的安全按漏洞更少一些。
从技术角度讲,两个Web服务器的安全性没有本质区别,一个完整的Web系统的安全性更取决于Web程序的安全性以及Web服务器配置的正确性。
11、什么叫应用防火墙
答:应用防火墙的概念在上个世纪九十年代就已经被提出,但在最近几年才真正走向成熟和应用。应用防火墙的概念与网络防火墙相对,网络防火墙关注网络层的访问控制,应用防火墙则关注应用层数据的过滤与控制。
12、什么叫网站防篡改系统
答:网站防篡改系统通过实时监控来保证Web系统的完整性,当监控到Web页面被异常修改后能够自动恢复页面。网站放篡改系统由于其设计理念的限制,对静态页面的防护能力比较好,对动态页面的防护则先天不足。
13、我的Web服务器被访问速度变慢,经常出现连接失败的现象,可能是什么原因造成的呢?
答:这可能有两个方面的情况,一种是网络方面的原因,如运营商的线路故障,或带宽消耗型的DDOS攻击;另外一种情况是服务器方面的原因,如感染病毒,或资源消耗型的拒绝服务攻击。
14、我的Web服务器部署了木马查杀软件,为什么还被挂了木马?
答:所谓的网页被挂马,很多情况下并不是有木马程序或代码被放到了Web服务器上,而是有一段跳转代码(本身不包含攻击信息)被放在了Web服务器上网页中。当远程用户访问带有跳转代码的页面时,将会执行这段代码,从另外一个地址下载并执行木马。所以,即使在Web服务器上部署了木马查杀软件,也会由于木马本身并不存在于服务器上,而无法避免网站被挂马。
15、我的Web服务器前端部署了入侵防御产品设备,入侵防御产品设备中包含了几百条的SQL注入攻击防御特征库,为什么我的Web系统还是被SQL注入攻击成功了呢?
答:SQL注入是一种没有固定特征的攻击行为,对安全设备来说,就是属于变种极多的攻击行为。所以,基于数据特征的SQL注入检测 方法 是没有办法穷尽所有组合的,会存在大量的误报、漏报可能。如果采用的入侵防御产品设备采用的是基于数据特征的检测方法,即使包含了数百条SQL注入特征库,也会有漏报出现。
16、黑客为什么喜欢攻击网站?
答:Web业务已经成为当前互联网最为流行的业务,大量的在线应用业务都依托于Web服务进行。并且一些大型网站的日访问量可达百万之巨,不论是直接攻击网站(如网络银行,在线游戏服务器)还是通过网站挂马窃取访问者信息,都可以使黑客获得直接的经济利益。另外一方面,网站是机构的网络形象,通过攻击篡改网站页面,也可以得到最大范围的名声传播。对于那些企图出名的黑客,攻击网站是一项不错的选择。
17、如何判断自己的Web服务器是否已经成为肉鸡?
答:如果发现自己的Web服务器上开启了一些奇怪的进程,发现Web服务器总是有大量从内往外的连接,发现Web服务器不定时系统缓慢,诸如此类的现象,可使用木马清除软件进行检查和查杀。
细分攻击形式:
18、目前国内Web应用系统存在哪些最突出的安全问题?
答:Web应用程序的漏洞是很难避免的,系统的安全隐患主要在三方面:
首先是网络运维人员或安全管理人员对Web系统的安全状况不清楚。哪些页面存在漏洞,哪些页面已经被挂马,他们不能够清晰的掌握,从而及时采取改正 措施 ;
其次,在安全设备的部署方面,没有选用专业的、针对Web业务攻击的防御产品对网站进行保护,而是寄托于防火墙这种访问控制类的网关安全设备;
另外,从安全响应来看,Web安全事件发生后的应急与处理也存在欠缺。没有相应的页面恢复系统,也没有处理Web安全事件的专业安全服务团队。很多单位没有制定实时监控的网站安全管理制度。
19、什么叫SQL注入
答:SQL注入就是利用现有应用程序,将恶意的SQL命令注入到网站后台数据库引擎执行的能力。SQL注入利用的是正常的HTTP服务端口,表面上看来和正常的Web访问没有区别,隐蔽性极强,不易被发现。
20、SQL注入有哪些危害
答:SQL注入的主要危害包括:
未经授权状况下操作数据库中的数据;
恶意篡改网页内容;
私自添加系统帐号或者是数据库使用者帐号;
网页挂木马;
21、什么叫XSS
答:跨站脚本攻击(XSS)是攻击者将恶意脚本提交到网站的网页中,使得原本安全的网页存在恶意脚本;或者是直接添加有恶意脚本的网页并诱使用户打开,用户访问网页后,恶意脚本就会将用户与网站的会话COOKIE及其它会话信息全部截留发送给攻击者,攻击者就可以利用用户的COOKIE正常访问网站。攻击者有时还会将这些恶意脚本以话题的方式提交到论坛中,诱使网站管理员打开这个话题,从而获得管理员权限,控制整个网站。跨站脚本漏洞主要是由于没有对所有用户的输入进行有效的验证所造成的,它影响所有的Web应用程序框架。
22、XSS有哪些危害
答:XSS攻击的危害包括:
盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号;
控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;
盗窃企业重要的具有商业价值的资料;
非法转账;
强制发送电子邮件;
网站挂马;
控制受害者机器向其它网站发起攻击。
23、什么叫Shellcode
答:Shellcode实际是一段代码(也可以是填充数据),可以用来发送到服务器,利用已存在的特定漏洞造成溢出,通称“缓冲区溢出攻击”中植入进程的代码。这段代码可以是导致常见的恶作剧目的的弹出一个消息框弹出,也可以用来删改重要文件、窃取数据、上传木马病毒并运行,甚至是出于破坏目的的格式化硬盘等等。
24、什么叫网站漏洞
答:随着B/S模式被广泛的应用,用这种模式编写Web应用程序的程序员也越来越多。但由于开发人员的水平和 经验 参差不齐,相当一部分的开发人员在编写代码的时候,没有对用户的输入数据或者是页面中所携带的信息(如Cookie)进行必要的合法性判断,导致了攻击者可以利用这个编程漏洞来入侵数据库或者攻击Web应用程序的使用者,由此获得一些重要的数据和利益。
25、什么叫木马
答:木马(Trojan)这个名字来源于古希腊 传说 ,在互联网时代它通常是指通过一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。
26、什么叫网站挂马
答:“挂马” 就是黑客入侵了一些网站后,将自己编写的网页木马嵌入被黑网站的主页中。当访问者浏览被挂马页面时,自己的计算机将会被植入木马,黑客便可通过远程控制他们的计算机来实现不可告人的目的。网页木马就是将木马和网页结合在一起,打开网页的同时也会运行木马。最初的网页木马原理是利用IE浏览器的ActiveX控件,运行网页木马后会弹出一个控件下载提示,只有点击确认后才会运行其中的木马。这种网页木马在当时网络安全意识普遍不高的情况下还是有一点威胁的,但是其缺点显而易见,就是会出现ActiveX控件下载提示。现在很少会有人去点击那莫名其妙的ActiveX控件下载确认窗口了。在这种情况下,新的网页木马诞生了。这类网页木马通常利用IE浏览器的漏洞,在运行的时候没有丝毫提示,因此隐蔽性极高。
27、什么叫DOS./DDOS攻击?
答:DoS即Denial Of Service,拒绝服务的缩写。DoS是指利用网络协议实现的缺陷来耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃。在此攻击中并不包括侵入目标服务器或目标网络设备。这些被大量消耗的服务资源包括网络带宽、文件系统空间容量、开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽有多高,都无法避免这种攻击带来的后果。
DDoS(Distributed Denial Of Service)又把DoS又向前发展了一大步,这种分布式拒绝服务攻击是黑客利用在已经被侵入并已被控制的、不同的高带宽主机(可能是数百,甚至成千上万台)上安装大量的DoS服务程序,它们等待来自中央攻击控制中心的命令。中央攻击控制中心再适时启动全体受控主机的DoS服务进程,让它们对一个特定目标发送尽可能多的网络访问请求,形成一股DoS洪流冲击目标系统,猛烈地DoS攻击同一个网站。被攻击的目标网站会很快失去反应而不能及时处理正常的访问甚至系统瘫痪崩溃。
28、什么叫网络钓鱼
答:网络钓鱼(Phishing,又名钓鱼法或钓鱼式攻击)是通过传播“声称来自于银行或其他知名机构”的欺骗信息,意图引诱受害者泄漏出敏感信息(如用户名、口令、帐号 ID 、 ATM PIN 码或信用卡详细信息)的一种攻击方式。最典型的网络钓鱼攻击将受害者引诱到一个与其目标网站非常相似的钓鱼网站上,并获取受害者在此网站上输入的个人敏感信息。通常这个攻击过程不会让受害者警觉。它是“社会工程攻击”的一种形式。
29、什么叫网络蠕虫
答:一般认为:蠕虫病毒是一种通过网络传播的恶性病毒,它除具有病毒的一些共性外,同时具有自己的一些特征。如:不利用文件寄生(有的只存在于内存中)、对网络造成拒绝服务,以及与黑客技术相结合,等等。蠕虫病毒主要的破坏方式是大量的复制自身,然后在网络中传播,严重占用有限的网络资源,最终引起整个网络的瘫痪,使用户不能通过网络进行正常的工作。每一次蠕虫病毒的爆发都会给全球经济造成巨大损失,因此它的危害性是十分巨大的。有一些蠕虫病毒还具有更改用户文件、将用户文件自动当附件转发的功能,更是严重的地危害到用户的 系统安全 。
30、什么叫僵尸网络
答:僵尸网络(英文名称叫BotNet),是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击。如:分布式拒绝服务攻击(DDoS)、海量垃圾邮件等。同时,黑客控制的这些计算机所保存的信息也都可以被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护,僵尸网络都是极具威胁的隐患。然而,发现一个僵尸网络是非常困难的,因为黑客通常远程、隐蔽地控制分散在网络上的“僵尸主机”,这些主机的用户往往并不知情。因此,僵尸网络是目前互联网上最受黑客青睐的作案工具。
31、什么是ARP攻击
答:ARP是地址解析协议,是一种将IP地址转化为MAC地址的协议。在网络中,当A主机需要向B主机发送报文时,会先查询本地的ARP缓存表,找到与B主机IP地址对应的MAC地址后,进行数据传输。如果未找到,则会发送一个广播ARP请求报文,请求对应B主机IP的B回应MAC地址。这个广播包会被整个广播域中所有主机收到,但只有B主机会发现IP地址对应自己,才会将MAC地址回应给A。此时A收到这个回应并更新自己的ARP缓存,进行下一步的数据传输。ARP攻击应当叫做ARP欺骗,就是冒充网关地址对网络中主机给出ARP查询回应,使得本来是A->网关的数据走向,变成A->攻击者->网关。
32、ARP攻击的危害有哪些?
答:ARP攻击的危害主要有两个方面。从ARP攻击的原理来看,这种攻击使得受害主机的所有网络数据都将通过攻击者进行转发。这样一来,要窃取信息或控制流量就变得轻而易举。另一方面,由于ARP缓存会不断刷新,有的时候,真正的网关会偶尔“清醒”。当真正的网关参与到数据包转发中来时,由于做了一个切换动作,可能会有频繁的短暂掉线现象。所以,如果Web服务器所在网络中发生了ARP攻击,将导致Web服务器不可访问。
细分攻击介质:
33、WEB应用系统(网站)会面临来自哪些方面的安全问题
答:网站面临的安全问题是方方面面的,主要可概括为以下四个方面:
1)操作系统、后台数据库的安全问题
这里指操作系统和后台数据库的漏洞,配置不当,如弱口令等等,导致黑客、病毒可以利用这些缺陷对网站进行攻击。
2)Web发布系统的漏洞
Web业务常用的发布系统(即Web服务器),如IIS、Apache等,这些系统存在的安全漏洞,会给入侵者可乘之机。
3)Web应用程序的漏洞
主要指Web应用程序的编写人员,在编程的过程中没有考虑到安全的因素,使得黑客能够利用这些漏洞发起对网站的攻击,比如SQL注入、跨站脚本攻击等等。
4)自身网络的安全状况
网站服务器所处的网络安全状况也影响着网站的安全,比如网络中存在的DoS攻击等,也会影响到网站的正常运营。
34、Web程序漏洞是怎么形成的
答:Web站点之所以存在如此众多的安全漏洞,是由下列所示的这些原因造成的:
1、 大部分的中小型网站都是使用某个建站模块建设的,而这些通用的建站模块不仅本身存在各种安全漏洞,同时一些使用它们的建站人员根本没有在建站完成后对站点进行安全加固。
2、 Web站点开发人员对安全不够重视,在编写网页时,没有对用户的输入进行验证,没有对数据的大小、类型和字符串进行规范,没有限制API函数对系统资源的使用,以及对Web服务器没有进行相应的资源限制,引起拒绝服务攻击。
3、 管理员对Web服务器主机系统及Web应用程序本身配置不当,一些中小企业自己管理的Web站点根本没有足够的技术人员来管理它们的安全。
4、 当Web站点是托管在某个电信机房时,对它们进行的远程管理存在安全风险。
5、 Web站点管理员本身技术水平的限制,对各种针对Web站点的安全攻击不了解,也没有端正工作态度,没能对站点进行认真的安全加固,以及进行日常的安全检查。
6、 Web站点所处网络大环境的安全设计不合理,以及没有将安全防范工作融入到站点整个生命周期的各个阶段。
7、 企业领导不够重视,在Web站点的安全防范方面投入的资金太少或不合理,没有制定一个有效的Web站点安全防范策略,明确Web站点日常管理流程,也没有对Web站点的管理人员和工作人员进行不断的安全培训。
35、黑客主要利用哪些方法对网站进行数据窃取和修改
答:黑客需要使用拥有一定权限的用户帐户才能对网站进行数据窃取和修改,所以可能造成用户权限泄漏或提升的漏洞,都可以被黑客利用来进行攻击,如SQL注入,溢出漏洞、暴力猜解等。
36、目前对Web服务器威胁较大的SQL注入工具有哪些?
答:网上常见的SQL注入工具有“啊D SQL注入工具”、pangolin、NBSI、HDSI、“管中窥豹注入工具”等。
37、目前对Web服务器威胁较大的XSS攻击工具有哪些?
答:网上常见的XSS攻击工具有sessionIE、Webscan、XSS Inject Scanner 等。
38、怎样应对Web业务安全事件
答:应对Web业务安全事件,从根本上的解决办法就是对Web应用程序源代码进行代码检查和漏洞修复,但是这会影响正常Web业务运行,而且费用较高。比较有效的解决方案是通过专业的Web业务安全检查工具或服务来检查网站安全状况,部署专业的Web安全产品。比如基于行为检测的入侵防御产品。同时在管理上,要求网管人员实时对网站进行监测,一旦发现网页被篡改等问题立刻进行页面恢复、删除恶意脚本等工作。
39、如何防御SQL注入
答:要想从根本上解决XSS攻击,就要对Web应用程序源代码进行检查,发现安全漏洞进行修改。但是这种方法在实际中给用户带来了不便,如:需要花费大量的人力财力、可能无法找到当时的网站开发人员、需要网站下线等。对代码进行修改后,由于增加了过滤条件和功能,同时也给服务器带来了计算压力。通常的解决方法是在数据库服务器前端部署入侵防御产品。SQL注入攻击具有变种多、隐蔽性强等特点,传统的特征匹配检测方式不能有效地进行防御,需要采用“基于攻击手法的行为监测”的入侵防御产品才能够精确地检测到SQL注入攻击。
40、如何防御XSS
答:要想从根本上解决XSS攻击,就要对Web应用程序源代码进行检查,发现安全漏洞进行修改。但是这种方法在实际中给用户带来了不便,如:需要花费大量的人力财力;可能无法找到当时的网站开发人员、需要网站下线等。对代码进行修改后,由于增加了过滤条件和功能,同时也给服务器带来了计算压力。通常的解决方法是在数据库服务器前端部署入侵防御产品。XSS攻击具有变种多、隐蔽性强等特点,传统的特征匹配检测方式不能有效地进行防御,需要采用基于攻击手法的行为监测的入侵防御产品产品才能够精确地检测到XSS攻击。
41、如何发现网站挂马
答:服务器被挂马,通常情况下,若出现诸如“弹出页面”,则可以比较容易发现,发现防病毒软件告警之类,则可以发现服务器被挂马;由于漏洞不断更新,挂马种类时刻都在变换,通过客户端的反映来发现服务器是否被挂马往往疏漏较大;正确的做法是经常性的检查服务器日志,发现异常信息;经常检查网站代码,借助于专业的检测工具来发现网页木马会大大提高工作效率和准确度。
⑷ Web应用常见的安全漏洞有哪些
Web应用常见的安全漏洞:
1、SQL注入
注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端SQL语句。当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且允许访问未授权的数据时,发生注入。
2、跨站脚本攻击 (XSS)
XSS漏洞针对嵌入在客户端(即用户浏览器而不是服务器端)的页面中嵌入的脚本。当应用程序获取不受信任的数据并将其发送到Web浏览器而未经适当验证时,可能会出现这些缺陷。
3、跨站点请求伪造
CSRF攻击是指恶意网站,电子邮件或程序导致用户的浏览器在用户当前已对其进行身份验证的受信任站点上执行不需要的操作时发生的攻击。
4、无法限制URL访问
Web应用程序在呈现受保护的链接和按钮之前检查URL访问权限 每次访问这些页面时,应用程序都需要执行类似的访问控制检查。通过智能猜测,攻击者可以访问权限页面。攻击者可以访问敏感页面,调用函数和查看机密信息。
5、不安全的加密存储
不安全的加密存储是一种常见的漏洞,在敏感数据未安全存储时存在。用户凭据,配置文件信息,健康详细信息,信用卡信息等属于网站上的敏感数据信息。
(4)web存在的主要的安全威胁扩展阅读
web应用漏洞发生的市场背景:
由于Web服务器提供了几种不同的方式将请求转发给应用服务器,并将修改过的或新的网页发回给最终用户,这使得非法闯入网络变得更加容易。
许多程序员不知道如何开发安全的应用程序。他们的经验也许是开发独立应用程序或Intranet Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。
许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接通过了周边防火墙安全措施,因为端口80或443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。
⑸ web服务面临的安全威胁不包括什么
web服务面临的安全威胁:
1、安全信息被破译:WEB服务器的安全信息如口令、密钥等被破译,旦茄导致攻击者进入WEB服务器。
2、非法访问:未授权者非法访问了WEB上的文件。
3、交易信运唯息被截获:当用户向服务器传输交易信息时被截获。
4、软件漏洞被攻击者利用:系统中的软件错误被攻击者利用,使系统被破坏和损坏,甚至引起系统崩溃。
5、用CGI脚本编写的程序或其他涉及远程用户从浏览器中输入表格并进行像检索之类模悄察在主机直接操作命令时,给WEB主机系统造成危险。
⑹ Web应用常见的安全漏洞有哪些
OWASP总结了现有Web应用程序在安全方面常见的十大漏洞分别是:非法输入、失效的访问控制、失效的账户和线程管理、跨站脚本攻击、缓存溢出问题、注入式攻击、异常错误处理、不安全的存储、程序拒绝服务攻击、不安全的配置管理等。
非法输入
Unvalidated Input
在数据被输入程序前忽略对数据合法性的检验是一个常见的编程漏洞。随着OWASP对Web应用程序脆弱性的调查,非法输入的问题已成为大多数Web应用程序安全漏洞方面的一个普遍现象。
失效的访问控制
Broken Access Control
大部分企业都非常关注对已经建立的连接进行控制,但是,允许一个特定的字符串输入可以让攻击行为绕过企业的控制。
失效的账户和线程管理
Broken Authentication and Session Management
有良好的访问控制并不意味着万事大吉,企业还应该保护用户的密码、会话令牌、账户列表及其它任何可为攻击者提供有利信息、能帮助他们攻击企业网络的内容。
跨站点脚本攻击
Cross Site Scripting Flaws
这是一种常见的攻击,当攻击脚本被嵌入企业的Web页面或其它可以访问的Web资源中,没有保护能力的台式机访问这个页面或资源时,脚本就会被启动,这种攻击可以影响企业内成百上千员工的终端电脑。
缓存溢出问题
Buffer Overflows
这个问题一般出现在用较早的编程语言、如C语言编写的程序中,这种编程错误其实也是由于没有很好地确定输入内容在内存中的位置所致。
注入式攻击
Injection Flaws
如果没有成功地阻止带有语法含义的输入内容,有可能导致对数据库信息的非法访问,在Web表单中输入的内容应该保持简单,并且不应包含可被执行的代码。
异常错误处理
Improper Error Handling
当错误发生时,向用户提交错误提示是很正常的事情,但是如果提交的错误提示中包含了太多的内容,就有可能会被攻击者分析出网络环境的结构或配置。
不安全的存储
Insecure Storage
对于Web应用程序来说,妥善保存密码、用户名及其他与身份验证有关的信息是非常重要的工作,对这些信息进行加密则是非常有效的方式,但是一些企业会采用那些未经实践验证的加密解决方案,其中就可能存在安全漏洞。
程序拒绝服务攻击
Application Denial of Service
与拒绝服务攻击 (DoS)类似,应用程序的DoS攻击会利用大量非法用户抢占应用程序资源,导致合法用户无法使用该Web应用程序。
不安全的配置管理
Insecure Configuration Management
有效的配置管理过程可以为Web应用程序和企业的网络架构提供良好的保护。
以上十个漏洞并不能涵盖如今企业Web应用程序中的全部脆弱点,它只是OWASP成员最常遇到的问题,也是所有企业在开发和改进Web应用程序时应着重检查的内容。
⑺ web服务器可能存在的安全问题有哪些
很高兴回答你的问题。
这里简伏段单汇总下常见的web问题有:
DoS攻击;SQL注入;
CSRF;
XSS等;
常规应对措施:
开启防此绝火缺扒誉墙将输入输出数据进行转义处理,包括特殊符号;
不使用拼接SQL字符串
数据有效性检测;
数据流量监控;
及时更新安全或高危漏洞补丁;
Token机制或验证码设置;
细化文件目录权限等;
上线文件类型、内容校验;
水平权限管理等
⑻ web服务器可能会存在那些问题应如何防范
(1)服务器向公众提供了不应该提供的服务。
(2)服务器把本应私有的数据放到了可公开访问的区域。用户Web应用需要保存一些私有的、不能从Web访问的数据,则根本无法找到满足要求的位置。
(3)服务器信赖了来自不可信赖数据源的数据。常见的安全问题是CGI程序或PHP脚本的质量低下,它们信任了来源不可靠的参数,未经严格的检查就立即使用CGI参数。
防范措施:
(1)提供不应该提供的服务的防范措施:只开放必需的端口,关闭其余的端口,关闭在自己的系统上运行那么多的服务,而这些服务原本无需在正式提供Web服务的机器上运行,或者这些服务原本无需面向公众开放。对于所有向公众开放的服务,应该密切关注其程序的最新版本和安全信息,应该做好一旦发现与这些程序有关的安全问题就立即升级软件的准备。
(2)服务器公用目录下的私有数据安全性的防范措施:设置Web服务器,使它既提供私有数据存储又提供公用页面目录。
(3)数据源的可靠性防范措施:通常,来自外面的数据(比如表单变量的数据)应该先传入检验其合法性的函数。只有当检验函数表示表单提供的数据是安全的,才可以把表单数据复制到会话变量。Web应用应该把这种检查集中到一起进行,应用的所有其余部分永远不应该直接接触表单变量,而是应该使用经过检查且确认安全的会话数据。
⑼ web漏洞攻击有哪些
一、SQL注入漏洞
SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。
通常情况下,SQL注入的位置包括:
(1)表单提交,主要是POST请求,也包括GET请求;
(2)URL参数提交,主要为GET请求参数;
(3)Cookie参数提交;
(4)HTTP请求头部的一些可修改的值,比如Referer、User_Agent等;
(5)一些边缘的输入点,比如.mp3文件的一些文件信息等。
常见的防范方法
(1)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。
(2)对进入数据库的特殊字符(’”<>&*;等)进行转义处理,或编码转换。
(3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。
(4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。
(5)网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。
(6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
(7)避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
(8)在网站发布之前建议使用一些专业的SQL注入检测工具进行检测,及时修补这些SQL注入漏洞。
二、跨站脚本漏洞
跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。
XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。
XSS类型包括:
(1)非持久型跨站:即反射型跨站脚本漏洞,是目前最普遍的跨站类型。跨站代码一般存在于链接中,请求这样的链接时,跨站代码经过服务端反射回来,这类跨站的代码不存储到服务端(比如数据库中)。上面章节所举的例子就是这类情况。
(2)持久型跨站:这是危害最直接的跨站类型,跨站代码存储于服务端(比如数据库中)。常见情况是某用户在论坛发贴,如果论坛没有过滤用户输入的Javascript代码数据,就会导致其他浏览此贴的用户的浏览器会执行发贴人所嵌入的Javascript代码。
(3)DOM跨站(DOM XSS):是一种发生在客户端DOM(Document Object Model文档对象模型)中的跨站漏洞,很大原因是因为客户端脚本处理逻辑导致的安全问题。
常用的防止XSS技术包括:
(1)与SQL注入防护的建议一样,假定所有输入都是可疑的,必须对所有输入中的script、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。
(2)不仅要验证数据的类型,还要验证其格式、长度、范围和内容。
(3)不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。
(4)对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。
(5)在发布应用程序之前测试所有已知的威胁。
三、弱口令漏洞
弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。设置密码通常遵循以下原则:
(1)不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。
(2)口令长度不小于8个字符。
(3)口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzf.tzf.)。
(4)口令应该为以下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。
(5)口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail地址等等与本人有关的信息,以及字典中的单词。
(6)口令不应该为用数字或符号代替某些字母的单词。
(7)口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。
(8)至少90天内更换一次口令,防止未被发现的入侵者继续使用该口令。
四、HTTP报头追踪漏洞
HTTP/1.1(RFC2616)规范定义了HTTP TRACE方法,主要是用于客户端通过向Web服务器提交TRACE请求来进行测试或获得诊断信息。当Web服务器启用TRACE时,提交的请求头会在服务器响应的内容(Body)中完整的返回,其中HTTP头很可能包括Session Token、Cookies或其它认证信息。攻击者可以利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来进行有效攻击,由于HTTP TRACE请求可以通过客户浏览器脚本发起(如XMLHttpRequest),并可以通过DOM接口来访问,因此很容易被攻击者利用。
防御HTTP报头追踪漏洞的方法通常禁用HTTP TRACE方法。
五、Struts2远程命令执行漏洞
ApacheStruts是一款建立Java web应用程序的开放源代码架构。Apache Struts存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任意Java代码。
网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache Struts Xwork作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站面临安全风险。CNVD处置过诸多此类漏洞,例如:“GPS车载卫星定位系统”网站存在远程命令执行漏洞(CNVD-2012-13934);Aspcms留言本远程代码执行漏洞(CNVD-2012-11590)等。
修复此类漏洞,只需到Apache官网升级Apache Struts到最新版本:http://struts.apache.org
六、文件上传漏洞
文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。
因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。
七、私有IP地址泄露漏洞
IP地址是网络用户的重要标示,是攻击者进行攻击前需要了解的。获取的方法较多,攻击者也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping指令,Ping对方在网络中的名称而获得IP;在Internet上使用IP版的QQ直接显示。最有效的办法是截获并分析对方的网络数据包。攻击者可以找到并直接通过软件解析截获后的数据包的IP包头信息,再根据这些信息了解具体的IP。
针对最有效的“数据包分析方法”而言,就可以安装能够自动去掉发送数据包包头IP信息的一些软件。不过使用这些软件有些缺点,譬如:耗费资源严重,降低计算机性能;访问一些论坛或者网站时会受影响;不适合网吧用户使用等等。现在的个人用户采用最普及隐藏IP的方法应该是使用代理,由于使用代理服务器后,“转址服务”会对发送出去的数据包有所修改,致使“数据包分析”的方法失效。一些容易泄漏用户IP的网络软件(QQ、MSN、IE等)都支持使用代理方式连接Internet,特别是QQ使用“ezProxy”等代理软件连接后,IP版的QQ都无法显示该IP地址。虽然代理可以有效地隐藏用户IP,但攻击者亦可以绕过代理,查找到对方的真实IP地址,用户在何种情况下使用何种方法隐藏IP,也要因情况而论。
八、未加密登录请求
由于Web配置不安全,登陆请求把诸如用户名和密码等敏感字段未加密进行传输,攻击者可以窃听网络以劫获这些敏感信息。建议进行例如SSH等的加密后再传输。
九、敏感信息泄露漏洞
SQL注入、XSS、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可以通过漏洞获得敏感信息。针对不同成因,防御方式不同
十、CSRF
http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
Web应用是指采用B/S架构、通过HTTP/HTTPS协议提供服务的统称。随着互联网的广泛使用,Web应用已经融入到日常生活中的各个方面:网上购物、网络银行应用、证券股票交易、政府行政审批等等。在这些Web访问中,大多数应用不是静态的网页浏览,而是涉及到服务器侧的动态处理。此时,如果Java、PHP、ASP等程序语言的编程人员的安全意识不足,对程序参数输入等检查不严格等,会导致Web应用安全问题层出不穷。
本文根据当前Web应用的安全情况,列举了Web应用程序常见的攻击原理及危害,并给出如何避免遭受Web攻击的建议。
Web应用漏洞原理
Web应用攻击是攻击者通过浏览器或攻击工具,在URL或者其它输入区域(如表单等),向Web服务器发送特殊请求,从中发现Web应用程序存在的漏洞,从而进一步操纵和控制网站,查看、修改未授权的信息。
1.1 Web应用的漏洞分类
1、信息泄露漏洞
信息泄露漏洞是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。
造成信息泄露主要有以下三种原因:
–Web服务器配置存在问题,导致一些系统文件或者配置文件暴露在互联网中;
–Web服务器本身存在漏洞,在浏览器中输入一些特殊的字符,可以访问未授权的文件或者动态脚本文件源码;
–Web网站的程序编写存在问题,对用户提交请求没有进行适当的过滤,直接使用用户提交上来的数据。
2、目录遍历漏洞
目录遍历漏洞是攻击者向Web服务器发送请求,通过在URL中或在有特殊意义的目录中附加“../”、或者附加“../”的一些变形(如“..\”或“..//”甚至其编码),导致攻击者能够访问未授权的目录,以及在Web服务器的根目录以外执行命令。
3、命令执行漏洞
命令执行漏洞是通过URL发起请求,在Web服务器端执行未授权的命令,获取系统信息,篡改系统配置,控制整个系统,使系统瘫痪等。
命令执行漏洞主要有两种情况:
–通过目录遍历漏洞,访问系统文件夹,执行指定的系统命令;
–攻击者提交特殊的字符或者命令,Web程序没有进行检测或者绕过Web应用程序过滤,把用户提交的请求作为指令进行解析,导致执行任意命令。
4、文件包含漏洞
文件包含漏洞是由攻击者向Web服务器发送请求时,在URL添加非法参数,Web服务器端程序变量过滤不严,把非法的文件名作为参数处理。这些非法的文件名可以是服务器本地的某个文件,也可以是远端的某个恶意文件。由于这种漏洞是由PHP变量过滤不严导致的,所以只有基于PHP开发的Web应用程序才有可能存在文件包含漏洞。
5、SQL注入漏洞
SQL注入漏洞是由于Web应用程序没有对用户输入数据的合法性进行判断,攻击者通过Web页面的输入区域(如URL、表单等) ,用精心构造的SQL语句插入特殊字符和指令,通过和数据库交互获得私密信息或者篡改数据库信息。SQL注入攻击在Web攻击中非常流行,攻击者可以利用SQL注入漏洞获得管理员权限,在网页上加挂木马和各种恶意程序,盗取企业和用户敏感信息。
6、跨站脚本漏洞
跨站脚本漏洞是因为Web应用程序时没有对用户提交的语句和变量进行过滤或限制,攻击者通过Web页面的输入区域向数据库或HTML页面中提交恶意代码,当用户打开有恶意代码的链接或页面时,恶意代码通过浏览器自动执行,从而达到攻击的目的。跨站脚本漏洞危害很大,尤其是目前被广泛使用的网络银行,通过跨站脚本漏洞攻击者可以冒充受害者访问用户重要账户,盗窃企业重要信息。
根据前期各个漏洞研究机构的调查显示,SQL注入漏洞和跨站脚本漏洞的普遍程度排名前两位,造成的危害也更加巨大。
1.2 SQL注入攻击原理
SQL注入攻击是通过构造巧妙的SQL语句,同网页提交的内容结合起来进行注入攻击。比较常用的手段有使用注释符号、恒等式(如1=1)、使用union语句进行联合查询、使用insert或update语句插入或修改数据等,此外还可以利用一些内置函数辅助攻击。
通过SQL注入漏洞攻击网站的步骤一般如下:
第一步:探测网站是否存在SQL注入漏洞。
第二步:探测后台数据库的类型。
第三步:根据后台数据库的类型,探测系统表的信息。
第四步:探测存在的表信息。
第五步:探测表中存在的列信息。
第六步:探测表中的数据信息。
1.3 跨站脚本攻击原理
跨站脚本攻击的目的是盗走客户端敏感信息,冒充受害者访问用户的重要账户。跨站脚本攻击主要有以下三种形式:
1、本地跨站脚本攻击
B给A发送一个恶意构造的Web URL,A点击查看了这个URL,并将该页面保存到本地硬盘(或B构造的网页中存在这样的功能)。A在本地运行该网页,网页中嵌入的恶意脚本可以A电脑上执行A持有的权限下的所有命令。
2、反射跨站脚本攻击
A经常浏览某个网站,此网站为B所拥有。A使用用户名/密码登录B网站,B网站存储下A的敏感信息(如银行帐户信息等)。C发现B的站点包含反射跨站脚本漏洞,编写一个利用漏洞的URL,域名为B网站,在URL后面嵌入了恶意脚本(如获取A的cookie文件),并通过邮件或社会工程学等方式欺骗A访问存在恶意的URL。当A使用C提供的URL访问B网站时,由于B网站存在反射跨站脚本漏洞,嵌入到URL中的恶意脚本通过Web服务器返回给A,并在A浏览器中执行,A的敏感信息在完全不知情的情况下将发送给了C。
3、持久跨站脚本攻击
B拥有一个Web站点,该站点允许用户发布和浏览已发布的信息。C注意到B的站点具有持久跨站脚本漏洞,C发布一个热点信息,吸引用户阅读。A一旦浏览该信息,其会话cookies或者其它信息将被C盗走。持久性跨站脚本攻击一般出现在论坛、留言簿等网页,攻击者通过留言,将攻击数据写入服务器数据库中,浏览该留言的用户的信息都会被泄漏。
Web应用漏洞的防御实现
对于以上常见的Web应用漏洞漏洞,可以从如下几个方面入手进行防御:
1)对 Web应用开发者而言
大部分Web应用常见漏洞,都是在Web应用开发中,开发者没有对用户输入的参数进行检测或者检测不严格造成的。所以,Web应用开发者应该树立很强的安全意识,开发中编写安全代码;对用户提交的URL、查询关键字、HTTP头、POST数据等进行严格的检测和限制,只接受一定长度范围内、采用适当格式及编码的字符,阻塞、过滤或者忽略其它的任何字符。通过编写安全的Web应用代码,可以消除绝大部分的Web应用安全问题。
2) 对Web网站管理员而言
作为负责网站日常维护管理工作Web管理员,应该及时跟踪并安装最新的、支撑Web网站运行的各种软件的安全补丁,确保攻击者无法通过软件漏洞对网站进行攻击。
除了软件本身的漏洞外,Web服务器、数据库等不正确的配置也可能导致Web应用安全问题。Web网站管理员应该对网站各种软件配置进行仔细检测,降低安全问题的出现可能。
此外,Web管理员还应该定期审计Web服务器日志,检测是否存在异常访问,及早发现潜在的安全问题。
3)使用网络防攻击设备
前两种为事前预防方式,是比较理想化的情况。然而在现实中,Web应用系统的漏洞还是不可避免的存在:部分Web网站已经存在大量的安全漏洞,而Web开发者和网站管理员并没有意识到或发现这些安全漏洞。由于Web应用是采用HTTP协议,普通的防火墙设备无法对Web类攻击进行防御,因此可以使用IPS入侵防御设备来实现安全防护。
H3C IPS Web攻击防御
H3C IPS入侵防御设备有一套完整的Web攻击防御框架,能够及时发现各种已经暴露的和潜在的Web攻击。下图为对于Web攻击的总体防御框架。
图1:Web攻击防御框架,参见:http://blog.csdn.net/moshenglv/article/details/53439579
H3C IPS采用基于特征识别的方式识别并阻断各种攻击。IPS设备有一个完整的特征库,并可定期以手工与自动的方式对特征库进行升级。当网络流量进入IPS后,IPS首先对报文进行预处理,检测报文是否正确,即满足协议定义要求,没有错误字段;如果报文正确,则进入深度检测引擎。该引擎是IPS检测的核心模块,对通过IPS设备的Web流量进行深层次的分析,并与IPS攻击库中的特征进行匹配,检测Web流量是否存在异常;如果发现流量匹配了攻击特征,IPS则阻断网络流量并上报日志;否则,网络流量顺利通过。
此Web攻击防御框架有如下几个特点:
1) 构造完整的Web攻击检测模型,准确识别各种Web攻击
针对Web攻击的特点,考虑到各种Web攻击的原理和形态,在不同漏洞模型之上开发出通用的、层次化的Web攻击检测模型,并融合到特征库中。这些模型抽象出Web攻击的一般形态,对主流的攻击能够准确识别,使得模型通用化。
2) 检测方式灵活,可以准确识别变形的Web攻击
在实际攻击中,攻击者为了逃避防攻击设备的检测,经常对Web攻击进行变形,如采用URL编码技术、修改参数等。H3C根据Web应用漏洞发生的原理、攻击方式和攻击目标,对攻击特征进行了扩展。即使攻击者修改攻击参数、格式、语句等内容,相同漏洞原理下各种变形的攻击同样能够被有效阻断。这使得IPS的防御范围扩大,防御的灵活性也显着增强,极大的减少了漏报情况的出现。
3) 确保对最新漏洞及技术的跟踪,有效阻止最新的攻击
随着Web攻击出现的频率日益增高,其危害有逐步扩展的趋势。这对IPS设备在防御的深度和广度上提出了更高的要求,不仅要能够防御已有的Web攻击,更要有效的阻止最新出现的、未公布的攻击。目前,H3C已经建立起一套完整的攻防试验环境,可以及时发现潜在Web安全漏洞。同时还在继续跟踪最新的Web攻击技术和工具,及时更新Web攻击的特征库,第一时间发布最新的Web漏洞应对措施,确保用户的网络不受到攻击。
4) 保证正常业务的高效运行
检测引擎是IPS整个设备运行的关键,该引擎使用了高效、准确的检测算法,对通过设备的流量进行深层次的分析,并通过和攻击特征进行匹配,检测流量是否存在异常。如果流量没有匹配到攻击特征,则允许流量通过,不会妨碍正常的网络业务,在准确防御的同时保证了正常业务的高效运行。
结束语
互联网和Web技术广泛使用,使Web应用安全所面临的挑战日益严峻,Web系统时时刻刻都在遭受各种攻击的威胁,在这种情况下,需要制定一个完整的Web攻击防御解决方案,通过安全的Web应用程序、Web服务器软件、Web防攻击设备共同配合,确保整个网站的安全。任何一个简单的漏洞、疏忽都会造成整个网站受到攻击,造成巨大损失。此外 ,Web攻击防御是一个长期持续的工作,随着Web技术的发展和更新,Web攻击手段也不断发展,针对这些最新的安全威胁,需要及时调整Web安全防护策略,确保Web攻击防御的主动性,使Web网站在一个安全的环境中为企业和客户服务。
原文链接:
⑽ 针对web应用存在哪些安全威胁提出相应的安全防护措施
应用安全防护解决思路:应用安全问题本质上源于软件质量问题。但应用相较传统的软件,具有其独特性。应用往往是某个机构所独有的应用,对其存在的漏洞,已知的通用漏洞签名缺乏有效性;需要频繁地变更以满足业务目标,从而使得很难维持有序的开发周期;需要全面考虑客户端与服务端的复杂交互场景,而往往很多开发者没有很好地理解业务流程;人们通常认为开发比较简单,缺乏经验的开发者也可以胜任。针对应用安全,理想情况下应该在软件开发生命周期遵循安全编码原则,并在各阶段采取相应的安全措施。然而,多数网站的实际情况是:大量早期开发的应用,由于历史原因,都存在不同程度的安全问题。对于这些已上线、正提供生产的应用,由于其定制化特点决定了没有通用补丁可用,而整改代码因代价过大变得较难施行或者需要较长的整改周期。针对这种现状,专业的安全防护工具是一种合理的选择。应用防火墙(以下简称)正是这类专业工具,提供了一种安全运维控制手段:基于对流量的双向分析,为应用提供实时的防护。与传统防火墙设备相比较,最显着的技术差异性体现在:对有本质的理解:能完整地解析,包括报文头部、参数及载荷。支持各种编码(如、压缩);提供严格的协议验证;提供限制;支持各类字符集编码;具备过滤能力。提供应用层规则:应用通常是定制化的,传统的针对已知漏洞的规则往往不够有效。提供专用的应用层规则,且具备检测变形攻击的能力,如检测加密流量中混杂的攻击。提供正向安全模型(白名单):仅允许已知有效的输入通过,为应用提供了一个外部的输入验证机制,安全性更为可靠。提供会话防护机制:协议最大的弊端在于缺乏一个可靠的会话管理机制。为此进行有效补充,防护基于会话的攻击类型,如篡改及会话劫持攻击。如何正确选择并非对服务器提供保护的“盒子”都是。事实上,一个真正满足需求的应该具有二维的防护体系:纵向提供纵深防御:通过建立协议层次、信息流向等纵向结构层次,构筑多种有效防御措施阻止攻击并发出告警。横向:满足合规要求;缓解各类安全威胁(包括网络层面、基础架构及应用层面);降低服务响应时间、显着改善终端用户体验,优化业务资源和提高应用系统敏捷性。在选择产品时,建议参考以下步骤:结合业务需求明确安全策略目标,从而定义清楚产品必须具备的控制能力评估每一家厂商产品可以覆盖的风险类型测试产品功能、性能及可伸缩性评估厂商的技术支持能力评估内部维护团队是否具备维护、管理产品的必需技能权衡安全、产出以及总成本。“成本”不仅仅意味着购买安全产品服务产生的直接支出,还需要考虑是否影响组织的正常业务、是否给维护人员带来较大的管理开销