所以,在CGI程序编写或者PHP脚本编辑的时候,我们要注意,一定不能让其随便接受陌生人的参数,不要随便跟陌生人打交道。在接受参数之前,一定要先检验提供参数的人或者参数本身的合法性。在程序或者脚本编写的时候,可以预先加入一些判断条件。当服务期认为若提供的参数不合法的时候,及时通知管理员。这也可以帮助我们,尽早的发现可能存在的攻击者,并采取相应的措施。
对于脚本的安全性来说,要注意以下问题:
1、在脚本或者程序编写的时候,不应该把任何不信任的参数直接保存为会话变量。因为根据WEB应用的设计原理,会话变量只保存信任变量。也就是说,会话变量中的值,WEB服务都认为其是值得信任的,会不加思索的采用。一般的设计思路是,先设置一个临时变量进行存储,然后编写一个检验其合法性的过程或者函数,来验证其合法性。只有通过验证的时候,这个值才能够被传给会话变量。根据笔者的经验,要是没有亲身经历过惨痛教训的WEB管理员,可能对此不屑一顾。但是,那些有过这方面教训的人,则会非常看重这个合法性的检验过程。毕竟是吃一堑长一智,所以新手还是需要多听听过来人的建议,不会吃亏的。
2、在没有充分必要的时候,不要采用脚本,尽量使得网页的简单化。其实,企业的网站跟个人网站有个很大的不同,企业的网站只要朴素就好,不需要过多的渲染。一方面,过度渲染的网站会降低用户网站访问的速度;另一方面,这也会降低网络的安全性能。故,在没有充分必要的情况下,不要共脚本或者程序在渲染网站的华而不实的功能。
3、对脚本或者程序的执行情况要进行持续的跟踪。在万不得已网站采用了程序或者脚本的时候,则需要定时不定时的对这些脚本或者程序的运行情况进行稽核,看看其有没有被非法利用的嫌疑。
三、转换角色,把自己当作可能的攻击者
大部分时候,我们若只是站在WEB管理员的角度上考虑问题,可能就发现不了Web服务器的漏洞。相反,我们此时若能够换个角度,把自己当作可能的攻击者,从他们的角色出发,想想他们可能会利用那些手段、哪些Web服务器的漏洞进行攻击,或许,我们就可以发现Web服务器可能存在的安全漏洞,从而早先一步,修补安全漏洞,防止被木马或者病毒攻击。
从公司外面访问自己的Web服务器,进行完正的检测,然后模拟攻击自己的网站,看看,会有什么样的结果。这对于WEB的安全性来说,可能是一种很好的方法。如我们可以假当攻击者,利用扫描工具,对Web服务器进行扫描,看看有否存在可以被攻击的服务。有些东西我们平时可能不会引起我们重视,但是,利用黑客常用的工具进行扫描,就会发现一些可能会被他们利用的服务或者漏洞。如在服务器安装的时候,操作系统会默认的安装并启动一些不需要的服务;或者在服务器配置的时候,需要启动一些服务,但是事后没有及时的关闭,从而给了不法攻击者一个攻击的机会。最常见的如SNMP服务,又称简单网络管理协议。这个服务在系统安装完毕后,默认情况下是开启的。但是,这个服务可以为攻击者提供服务器系统的详细信息,如Web服务器是采用了什么操作系统,在服务器上开启了什么服务与对应的端口等等宝贵的信息。攻击者只有了解这些最基本的信息之后,才能够开展攻击。
我们安全管理人员,在平时的时候可能不会发现这个问题,但是,若能够利用黑客的扫描工具一扫描,就能够发现问题的所在。故笔者认为在必要的时候,需要换个角度,从攻击的角色出发,考虑他们会采用什么样的攻击方法。如此的话,我们才可以避免“当局者迷”的错误,保障Web服务器的安全。
转截请注明:文章来自 pc捍卫者 http://www.pchwz.com
本站发布此文为传递更多信息之目的,不表明pc捍卫者赞同其观点