
| 出版日期:2005-05-23 总期号:619 本年期号:19 |
|
全力打造安全主机
保护企业网站安全 我们已经基本了解对于主机和应用服务的加固方式,其实不管你是从微软或者其它的站点得到一个“安全检查列表”,还是按照《全力打造安全主机保护企业网站安全》系列文章中提及的内容解决了每一个漏洞可能出现的地方,我们还有一个问题要解决:在编写Web应用程序的时候如何把信息安全放到首位?如果这个问题解决不好,对于几十万、上百万资金构建起来的安全屏障就如同虚设。 你的网站是否存在注入点 检查代码中的安全性缺陷,是网站创建过程中的一个关键要素,它与计划、设计和测试同等重要。SQL 注入的症结在于使用字符串连接来构建 SQL 语句,我们可以扫描代码实现。一般而言,检查的重点应放到搜索诸如“update”、“select”、“insert”、“exec”以及列举表名或数据库名之类的单词。 提交单引号法:http://127.0.0.1/ showdetail.asp?id=558 服务器会发返回错误信息,透过返回的信息可以判断服务器数据库的类型,出错的行号等。 经典的1=1、1=2测试法: 1. http://127.0.0.1/showdetail.asp?id=558 (正常显示) 2. http://127.0.0.1/showdetail.asp?id=558 and 1=1 (正常显示,内容基本与1相同) 3. http://127.0.0.1/showdetail.asp?id=558 and 1=2 (提示BOF或EOF或提示找不到记录) 最经典的一条语句:http://127.0.0.1/showdetail.asp?id=558 and user>0服务器返回访问当前库的用户账号。 如果你在自己管理的Web网站上发现上述内容,就有存在脚本注入的可能。 防范对策 1. 改写服务器错误影射 SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果我们把IIS设置成不管出什么样的错误,都只返回http 500错误,就可以很大程度上避免了被入侵的可能性,如图所示。 2. 将单引号替换 把单引号替换为两个单引号的方法非常简单,<% 3. 限制输入的大小和类型 在入口(前端应用程序)防止无效输入。通过限制输入的大小和类型,可大大降低破坏的可能性。例如,如果数据库查找字段长度为 11 个字符并且全部由数字字符组成,则强制执行该规则。 4. 免费获得一些防注入代码 网上有“好事者”制造注入攻击的工具,不过也有一些友善的朋友们制作出了非常实用的防止代码注入的程序。我们可以下载后将这些代码保存为一个ASP的网页,把这个页面include到每个需要带参数查询SQL数据库ASP页面中,这可能会牺牲访问速度,不过作为系统管理员还是要“安全第一”。 5. 对程序员的一点建议 保护您针对SQL Server 开发的代码要从安全防护基础开始,这样有助于确保您开发安全的代码,还可以帮助您定义应用程序正常运行所需的最低权限;对于允许 T-SQL 执行任意外部代码的存储过程,要非常注意,如 sp_OACreate 和 xp_cmdshell,如果必须使用这些扩展,则一定要考虑它们独特的安全隐患。 SQL Server安全工具集 由于数据安全涉及的方面非常广泛,为数据库系统安全保护的工具也非常多,这里介绍一个微软提供的安全工具包。微软将SQL 扫描程序、SQL 检查程序和 SQL 关键更新三个程序统一起来,成为SQL 2000安全工具包。下载和使用方法很简单,参见下面的连接:http://www.microsoft.com/downloads/details.aspx?displaylang= zh-cn&&FamilyID=9552D43B-04EB-4AF9- 9E24-6CDE4D933600。 数据库服务器可能是攻击者的首选目标,必须保证数据库服务器的安全,防止其遭受内部、外部、网络级和应用程序级的攻击。安全的数据库服务器除了强化的 Windows 2000 安装外,还须有强化的 SQL Server 2000 安全性优化,并与由路由器及防火墙等提供的安全网络防御措施相结合。 全文总结 信息安全工作是一个发展迅速的领域,也许你看到本文的时候,有许多内容就已经有些过时了。整个安全的领域覆盖面也非常广,不是几篇文章和几本书籍就能说清楚的。《全力打造安全主机保护企业网站安全》系列只是对于Windows系列产品的一种安全加固的范本,涉及的范围只能算沧海一粟,希望他能给您带来一点启发。 在整个网络应用服务安全模型里面的构建入侵检测系统,以及监控主机服务资源,还有强大可靠的备份体系等都是我们需要重视的。除了做到“从我做起!”,如何更加安全可靠的为客户服务还要借助许多产品来实现。根据我这几年的管理经验向各位推荐几款专业化较强的安全管理平台,分别如下: 系统更新与资产管理(Microsoft Systems Management Server 2003) SMS 2003中安全修补程序管理特性非常便于我们管理,我们将已发布重要更新的Microsoft在线数据库对所有受控系统上的已安装软件进行检验,并就每台受控计算机所需安全修补程序做出报告。管理人员可借助一个向导程序自动下载最新修补程序,并将其部署至需要它们的目标系统,从而,实现根据实际需要安排部署计划、定位部署对象。 网站监测 你可能管理着数以百计的服务器和上千个虚拟主机,这个时候就不可能用人工的方法去检查每台主机的性能状态。对于托管的虚拟主机用户我们还要提供的详细指标监控,包括检测每个虚拟主机所耗费的CPU、内存、流量、访问量、虚拟内存、CPU占用时间、文件传输量、方式请求量等等全面的参数。并在第一时间发现导致服务器不稳定的虚拟主机用户,保护整个群集的安全运行。根据以上考虑我推荐您了解微软的监测管理软件:Microsoft Operations Manager(MOM)。 核心防护 大都数的安全解决方案提供的方法都是被动的监测方式,而这些方法对于您来说只能是暂时的,我们如果要想对一个比较敏感的请求时,这些免费的防护软件是无法做到的。如果你的资金允许你购置高性能的主机防护系统,我建议您可以向CA公司的技术支持人员了解(eTrustTM Access Control),这种主动防御的机制必定会让你感到惊喜。 入侵检测系统 关于入侵检测系统现在市场上的产品非常多,这里也没法权衡褒贬哪个,不过“绿盟科技”的“冰之眼NIDS”给我的感觉不错。 备份管理平台 功能强大的备份软件以及性能稳定的智能磁带机可能是您在建立备份管理平台时主要考虑的组件。我在以前进行系统集成和安全加固工程的时候,经常向用户推荐Veritas公司开发的Backup Exec和HP磁带机配套使用,可能你有更好的选择,不妨向我介绍一下。 在暂时告别Windows安全加固内容的时候,本人也开始对Linux/Unix平台下安全防护方面进行学习和总结,也希望各位将你在安全管理方面的经验拿出来和大家共享。(Mike) |
|||||||||||||||||||||