三、脚本安全管理
根据以往经验,其实很多Web服务器因为被攻击而瘫痪,都是由于不良的脚本所造成的。特别是,攻击者非常喜欢利用CGI程序或者PHP脚本,利用他们的脚本或者程序漏洞,进行攻击。
如我们的网站就遇到个几次攻击,他们利用CGI程序的漏洞,让外部攻击者向Web服务器传递了一些不可靠的参数。一般来说,WEB应用需要传递一些必要的参数,才能够正常访问。而这个参数又可以分为两类,一个是可值得信任的参数,另外一类是不值得信任的参数。如企业可能是自己管理Web服务器,而不是托管。他们就把服务器放置在企业的防火墙内部,以提高Web服务器的安全性。所以一般来说,来自于企业防火墙内部的参数都是可靠的,值得信任的;而来自于企业外部的参数,都是不值得信任的。但是,也不是说不值得信任的参数或者说,来自于防火墙外部的参数Web服务器都不采用。而是说,在Web服务器设计的时候,需要注意,采用这些不值得信任的参数的时候,需要进行检查,看其是否合法;而不能向来自于企业内部的参数那样,不管三七二十一,都照收不误。这明显会对Web服务器的安全带来威胁。如有时会,攻击者利用TELNET连接到80端口,就可以向CGL脚本传递不安全的参数。
所以,在CGI程序编写或者PHP脚本编辑的时候,我们要注意,一定不能让其随便接受陌生人的参数,不要随便跟陌生人打交道。在接受参数之前,一定要先检验提供参数的人或者参数本身的合法性。在程序或者脚本编写的时候,可以预先加入一些判断条件。当服务期认为若提供的参数不合法的时候,及时通知管理员。这也可以帮助我们,尽早的发现可能存在的攻击者,并采取相应的措施。