保证Web服务器安全的六个步骤网管
维护Web服务器安全是信息安全中最不讨好的差事之一。你须要在相冲突的角色中找到平衡,允许对网络资源的正当访问,同时阻止恶意破坏。
你甚至会考虑双重认证,例如RSA SecurID,来确保认证系统的高信任度,但是这对所有站点用户来说也许不实用,或者不划算。尽管存在这样相冲突的目标,仍有六个有助Web服务器安全的步骤。
对内部和外部使用分别运用单独的服务器
假设组织有两类独立的网络使用,面向外部用户的服务和面向内部用户的服务,要谨慎地将这些使用部署在不同的服务器上。这样做可以减少恶意用户突破外部服务器来获得对敏感的内部信息地访问。如果你没有可用的部署工具,你至少应该考虑运用技能控制(例如处理隔离),使内部和外部使用不会互相牵涉。
运用单独的开发服务器测试和调试使用软件
在单独的Web服务器上测试使用软件听起来像是常识——的确是。不幸的是,许多组织没有遵循这个基本准则,相反允许开发者在生产服务器上调试代码甚至开发新软件。这对安全和可靠性来说都很可怕。在生产服务器上测试代码会运用户遇到故障,当开发者提交未经测试易受攻击的代码时,引入安全漏洞。大多数当代版本控制系统(例如微软的Visual SourceSafe)有助于编码/测试/调试流程自动化。
审查站点活动,安全存储日志
每一个安全专业人员都知道维护服务器活动日志的主要性。由于大多数Web服务器是公开的,对所有互联网服务执行 审核是很主要的。审核有助你检测和打击攻击,并且使你可以检修服务器性能故障。在高级安全环境中,确保你的日志存储在物理安全的地点——最安全的(但是最不方便的)技巧是日志一产生就打印出来,建立不能被入侵者修改的纸记录,前提是入侵者没有物理访问权限。你也许想要运用电子备份,例如登录进安全主机,用数字签名执行 加密,来阻止日志被窃取和修改。
培训开发者执行 可靠的安全编码
软件开发者致力于建立满足商业需求的使用软件,却常常忽略了信息安全也是主要的商业需求。作为安全专业人员,你有责任对开发者执行 影响到Web服务器的安全疑问的培训。你应该让开发者了解网络中的安全机制,确保他们开发的软件不会违背这些机制;还要执行 概念的培训,例如内存泄漏攻击和处理隔离——这些对编码和生成安全的使用软件大有帮助。
给操作系统和Web服务器打补丁
这是另一个常识,但是当管理员因为其他任务而不堪重荷时常常忽略这一点。安全公告,像是CERT或者微软揭晓的公告,提醒人们软件厂商多频繁地揭晓某些安全漏洞的修补程序。一些工具像是微软的软件升级服务(SUS)和RedHat的升级服务有助于使这项任务自动化。总之,一旦漏洞公布,如果你不修补它,迟早会被人发觉并运用 。
运用使用软件扫描
如果负担地起,你也许会考虑运用使用软件扫描器来验证内部编码。像是Watchfire公司的AppScan这样的工具有助于确保编码在生产环境里不会存在漏洞。记得,要有安全意识。设计良好的Web服务器结构应该基于健全的安全政策。贯彻执行这六个要领会帮助你建立坚固的基础。