科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道应用安全两位一体:安恒信息专家论应用安全和数据库安全

两位一体:安恒信息专家论应用安全和数据库安全

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

应用安全和数据库的安全就像是拼图中的拼图块,它们虽然不同,却彼此之间需要对方,缺少任何一个,都不能形成一个安全整体。如果其中一方出现安全隐患就会令整个安全防御彻底失效,如WEB应用程序存在SQL注入的时候,就会对整个系统和数据库产生更大的影响。

来源:ZDNET安全频道 2012年2月15日

关键字: 应用安全 数据库安全 安恒信息

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  我们需要共同协作

  

两位一体:安恒信息专家论应用安全和数据库安全

  安全问题不是某个个人的职责,关键需要团队的协作。这对于应用程序的安全问题来说更是如此,信息安全人员、开发人员、系统和数据库管理员都包括在内,这就是团队协作。除非你所在的单位已经拥有了一个成熟的安全环境,而且已经使用安全类库来处理数据库调用和数据验证,在数据库和应用程序之间有一层数据访问层,并确保所有的数据库权限都受到了严格的限制,在这种情况下应当让所有团队成员参与并且了解高层次的应用程序。通过共同协作,所有人都可以了解到这些安全威胁,随后可以共同想出更好的解决方案来应对。所有参与网络应用和数据库开发维护管理的人员都应该对目前存在的安全威胁有一个充分的认识和理解,这是非常重要的。我们必须要确保所有人员都理解应用程序的所有技术通信原理和数据流,了解数据从哪里来,如何到那里去的,以及数据是否和多个应用程序进行通信。这就是关于数据库保护的第一层措施。

  数据库保护的第二层措施是安全架构。安全设计的基础有时候也被称作为安全架构,也就是说当我们以安全的方式设计数据库环境时,应减少安全威胁。如果攻击者无法直接访问数据库,这样就降低了他们攻击的灵活性。我们为攻击者提供的活动空间越大,他们就越容易得手。同样的,从相反的角度来看,我们就需要在后续做更多的工作,也就是说你必须确保对数据库的访问仅限于在需要的情况下进行系统访问,而且所有的访问都经过认证和加密的,而且不能影响到会话池。保证网络和系统设计的安全将会对保护数据库大有帮助,添加了数据库访问路径的限制能够大大地降低风险。

  数据库保护的第三层措施是威胁建模。确定威胁的过程被称为是威胁建模,过去威胁建模是用在应用程序安全方面,用于确定应用程序的最高风险,这样安全人员就可以重点关注在这一领域。这个概念开始延用到安全的其它领域中。应注意的是这不是一个新的理念,实际上保险行业已经采用此理念有数百年的历史了,我们互联网行业只是最近几年才吸纳这一理念,并开始就此主题发表了许多文章。

  威胁建模包括将那些了解此应用程序的人以及相关领域的专家召集在一起,大家共同理解应用程序的不同部分、功能性和固有的威胁。花一定的时间来全面理解此应用程序以及相关的威胁,可以定制出相对应的保护和测试方案,可以节省时间或者在有限的时间和预算范围内最大程度地降低威胁。威胁建模对于安全人员来说可以提供一种很好的手段来掌握全局、分解风险区域并与各小组单独协作,确保保护措施落到实处。

  在对多个应用程序或开发项目进行威胁建模时,应作好记录,找到应用程序的共通性。这些共通性可以用于审查内部数据库访问标准、授权访问以及优化访问过程。

  在编写策略时应当涵盖常见情况,并且明确地为开发人员和数据库管理人员提供指导,确保人人手中都有一份参考资料。一旦这些步骤执行到位后,可以开始从基础做起向数据库环境添加安全措施。

  虽然各个系统环境都不相同,但是数据库配置对于保护数据是最为重要的部分之一,应当实现的常见配置有:

1.应当有恰当的人员维护和更新用户名单,其中这些用户可以访问受管理的应用服务环境中数据库。

2.系统管理员和其他相关的IT人员应该有充分的知识、技能并理解所有的关键的数据库安全要求。

3. 当部署数据库到受管服务环境中时,应该采用行业领先的配置标准和配套的内部文档。

4. 对于数据库功能不需要的默认用户帐户,应该锁定或是做过期处理。

5. 对于所有仍在使用中的默认用户帐户,应该主动地变更密码以采用强密码措施。

6. 应该给数据库内的管理员帐户分配不同的密码,这些帐户不应使用共享密码或组密码。

7. 措施要到位,用于保护数据字典以及描述数据库中所有对象的支持性元数据。

8. 对于任何访问数据库的基于主机的认证措施,应当有足够的适当的过程来确保这种访问类型的整体安全。

9. 数据库监控应到位,由能够根据需要对相关的人员进行告警的工具组成。

10. 保证数据库应用了所有相关的和关键的安全补丁。

  我们需要保护重要的数据

  “一定要保护好数据库的重要数据”,因为数据库对于IT行业来说就好像是保管金银珠宝的保险库。如果保险库不安全,财宝就很容易失窃,那主人就不会开心。

  保护数据库服务器的方式有网络分段、系统分离,并将数据库服务器放置在一层或多层保护网的后面。

  有许多新的技术,包括数据库活动监控软件、数据丢失防护(DLP)、将数据库分割,放到依据数据分类或风险模型的系统中,还有确保低安全性的应用程序无法访问到高安全程度的数据库等。

  根据访问权限和账号,如果有多个部门的用户因同一事件需要登陆进入同一应用程序,应该采取保护措施,以确保一个部门的人员无法访问另一个部门的数据。这可以在数据库层面上完成,方法是让各个部门分别创建各自的数据库或桌面;这样的话可以实现数据分离,而且可以使用不同的数据库账号来加以保护。应用程序可以使用单一账号用于非认证请求服务,比如说用户登录;一旦发生此类情况,应用程序可以将数据库账号切换至同用户部门相关联的另一个账号。在设定许可权限时要防止通用账户访问任何公司数据。

  除此之外,部门A的数据库账号不能访问部门B的数据。这样就阻止了攻击者越过公司的安全防线并扩大其接触范围。在进行应用程序数据库账号转换时必须非常小心,因为攻击者可能通过SQL注入攻击来迫使应用程序改变其连接。在某些单位,开发人员会写下他们自己的SQL查询命令,而对于其它一些单位,查询命令是由数据库管理员来编写和优化,然后再提供给开发者。

  在最安全的环境下,这些查询命令由数据库管理员编写和执行,作为存储过程。存储过程是由应用程序执行的预定义语句。这样就使得SQL注入攻击更加难于得到利用。在这种特殊情况下,如果没有存储过程的话,攻击者可能已经作为管理员登录进入此应用程序并且取得此数据库完全控制权,而且只需要得到管理员用户名称即可实现。

  同时还需要建立敏感数据的安全边界。通过采取相应的技术措施,为用户的各种数据库建立一个关于数据的安全边界。我们可以将数据库服务器置于标准的网络防火墙后面,并限制访问,以确保我们了解什么系统能够访问你的数据库,从而降低风险。但是千万不要以为简单的配备一些防火墙就可以防范这些安全威胁,可能还会有其他我们未发现的未知风险存在!

  安全人员在开发新的安全数据安全模型时,安全人员应该进行测试,以确保他们提供了需要的保护级别,并且没有引入新风险。最后关于实现数据基于策略的自动管理问题,它包括数据的分类、备份、迁移、删除等,实现全面的数据存储管理自动化,这样不但减少了人为出错的可能性,也提高了数据库的安全性和可用性。使用一套优质的解决方案按照标准的规范进行设计和部署,提供充分的灵活性、扩展性和安全性,满足数据库安全保管方面当前和今后的法规要求。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章