内网应用安全以及服务器的安全一直是众多中小企业网络管理员所关心的话题,大多数企业服务器上都会运行企业网站,不管是ASP类站点还是PHP类站点,不管是Windows 2000 server还是windows 2003,也不管是基于MYSQL的数据库还是access又或是SQL server数据库,我们都可能遇到最为头疼的利用数据库及动态页面语言漏洞而采取的注入攻击。每当出现注入攻击后我们都无法快速定位到底是哪个语句哪条指令出现了问题,注入是不可避免的但是如何才能够做到在第一时间发现漏洞弥补漏洞呢?下面笔者就从个人实际应用出发为各位IT168安全频道的读者介绍如何在服务器上搭建一套防注入系统。
一 注入入侵采取的手段:
所谓注入入侵实际上就是通过动态页面编程语言对数据库的操作来实现入侵的目的,大多数入侵是建立在动态页面编程语言不完善而在对数据库执行查询,写入,读取等操作时存在问题的基础上产生的。要知道通过查询数据库返回的错误信息可以分析出目的站点对应数据库中表的具体信息来,通过穷举法完成数据库,数据表以及字段等信息的暴力破解。
二 防注入系统建立思路:
不管怎样注入入侵都必须建立在对数据库执行查询等操作的基础上完成的,所以我们可以通过分析和记录数据库操作来完成对注入入侵的监控,从而知道到底是什么时候什么操作造成的漏洞。
防注入系统正是基于上述思路完成的,我们通过建立一套监控系统针对服务器上站点各个页面的访问,特别是修改操作进行记录;再针对数据库关键数据表关键字段的读取和访问进行记录,从而快速定位出问题的页面(被访问和修改的页面)和被攻击的时间(数据库字段读取访问时间),从而最大限度的防范注入攻击的入侵,而另一方面也大大减少了被攻击站点存活的时间,在第一时间恢复原有系统。
三 用防注入系统统筹管理服务器群:
笔者使用的防注入系统正是通过上述思路建立起来的,通过一台专门的WEBGUARD服务器对企业所有服务器进行监控,建立时由于这台服务器只负责防注入以及监控,所以一定要把这台WEBGUARD服务器放置到企业内网中,不要裸露在外网,从而避免该服务器被恶意攻击。(如图1)
图1
通过WEBGUARD服务器上的监控系统实现对多台服务器上网页文件,数据库程序的读写与查询进行监控和记录,从而对入侵者的攻击一目了然。再针对漏洞进行相应的弥补操作即可。
在系统应用时我们可以根据服务器的安全级别选择不同的监控方式,每个站点可以分别设置安全级别,并且结合网站监测时间间隔达到“准实时”监控的目的,同时可以指定上载文件时的用户名和密码。另外我们还要指定要监测的文件类型,例如ASP,PHP,DB等格式的文件都在被监控范围内,当然为了保证服务器上站点的快速恢复,我们可以指定不同站点的页面备份路径以及自动备份的周期,这样可以实现出问题后的自动快速恢复。
由于这里涉及到相关产品的使用,所以不适合在这里放过多的文字内容,感兴趣的读者可以自行搜索相关产品和相关防注入系统资料。
四,总结:
本文主要是从防注入系统的建立角度来讨论如何有效的保护服务器上网站和数据库的安全,通过建立一套防注入监控体系来保证页面文件和数据库文件的安全,确保我们企业网络和注入漏洞,向注入攻击说再见。
……