Web服务器维护和安全管理技巧之脚本安全管理
根据以往经验,其实很多Web服务器因为被攻击而瘫痪,都是由于不良的脚本所造成的。特别是,攻击者非常喜欢利用CGI程序或者PHP脚本,利用他们的脚本或者程序漏洞,进行攻击。
一般来说,WEB应用需要传递一些必要的参数,才能够正常访问。而这个参数又可以分为两类,一个是可值得信任的参数,另外一类是不值得信任的参数。如企业可能是自己管理Web服务器,而不是托管。他们就把服务器放置在企业的防火墙内部,以提高Web服务器的安全性。
所以一般来说,来自于企业防火墙内部的参数都是可靠的,值得信任的;而来自于企业外部的参数,都是不值得信任的。但是,也不是说不值得信任的参数或者说,来自于防火墙外部的参数Web服务器都不采用。而是说,在Web服务器设计的时候,需要注意,采用这些不值得信任的参数的时候,需要进行检查,看其是否合法;而不能向来自于企业内部的参数那样,不管三七二十一,都照收不误。这明显会对Web服务器的安全带来威胁。如有时会,攻击者利用TELNET连接到80端口,就可以向CGL脚本传递不安全的参数。
所以,在CGI程序编写或者PHP脚本编辑的时候,我们要注意,一定不能让其随便接受陌生人的参数,不要随便跟陌生人打交道。在接受参数之前,一定要先检验提供参数的人或者参数本身的合法性。在程序或者脚本编写的时候,可以预先加入一些判断条件。当服务期认为若提供的参数不合法的时候,及时通知管理员。这也可以帮助我们,尽早的发现可能存在的攻击者,并采取相应的措施。
对于脚本的安全性的注意问题
1、在脚本或者程序编写的时候,不应该把任何不信任的参数直接保存为会话变量。因为根据WEB应用的设计原理,会话变量只保存信任变量。也就是说,会话变量中的值,WEB服务都认为其是值得信任的,会不加思索的采用。一般的设计思路是,先设置一个临时变量进行存储,然后编写一个检验其合法性的过程或者函数,来验证其合法性。
只有通过验证的时候,这个值才能够被传给会话变量。根据经验,要是没有亲身经历过惨痛教训的WEB管理员,可能对此不屑一顾。但是,那些有过这方面教训的人,则会非常看重这个合法性的检验过程。毕竟是吃一堑长一智,所以新手还是需要多听听过来人的建议,不会吃亏的。
2、在没有充分必要的时候,不要采用脚本,尽量使得网页的简单化。其实,企业的网站跟个人网站有个很大的不同,企业的网站只要朴素就好,不需要过多的渲染。一方面,过度渲染的网站会降低用户网站访问的速度;另一方面,这也会降低网络的安全性能。故,在没有充分必要的情况下,不要共脚本或者程序在渲染网站的华而不实的功能。
Web服务器维护和安全管理技巧就全部向大家介绍完了。希望大家已经掌握。
【编辑推荐】