SQL Server On Linux(14)—— SQL Server On Linux安全性(7)——小结

本人新书上市,请多多关照:《SQL Server On Linux运维实战 2017版从入门到精通》

在这里插入图片描述

关于SQL Server On Linux的安全性问题,暂时先到这里为止,因为要介绍的东西实在太多。本文以一个小结来归纳一下关于数据加密的内容。后面会继续介绍一些安全性相关的信息,但是由于这些信息不仅仅属于安全性范畴,所以不纳入在这里。

前言

  数据库安全的本质是限制非授权用户进行非法操作,并做完整的操作记录。但是随着系统数量、规模的不断增长,加之越来越多的公司把系统和数据迁移到公有云,如何保证数据的安全,就更加有难度了。不过核心问题主要有两个:

  1. 如何保证数据在静态存储和传输过程是安全的?
  2. 现有的系统是否已经足够应付所有的数据安全需求?

  当然,作为数据库管理系统,是最主要和最必须对数据安全性进行保证支持的地方。幸运的是SQL Server已经支持了对静态存储数据和传输数据的安全功能,这主要是加密形式实现。

  • TDE用于对静态存储的数据(实际上是文件)进行加密。
  • 常规数据加密用于保证单元级别的数据。
  • DDM用于对非特权用户进行数据屏蔽。(能访问到数据的哪部分)
  • 账号角色的权限控制用于限制数据访问的接入。(能不能访问)
  • AE可以对存储数据和传输数据进行加密。

运用建议

  功能虽然分开来介绍,但是真要用起来却还会有点晕,这里我给点小建议,但是切记“具体问题具体分析”,需要综合运用的另外一个原因就是每个功能都有限制,所以不可能单纯靠一个功能就能完全覆盖所以需要。
  首先要坚持最小所需权限原则,别动不动给sa。并且要注意粒度,理论上粒度越小越安全,不过越麻烦,因为控制需要非常精细。
  其次要加大应用程序方面的安全性,除了过去已有的建议,对于应用程序,还可以使用RLS搭配DDM,因为这两个技术本质上并不保护数据库里面的数据。更多地是保护离开数据库以后的数据。
  还有一种搭配是RLS+(AE或DDM),AE和DDM不能共存在相同的列。如果不使用DDM,那么可能需要在应用层进行DDM,反正按照需求选择,考虑的因素主要是使用的“成本”。包括学习、程序实现、维护的成本。
  最后考虑的是物理层面的安全性,也就是TDE,那么在综合运用时,常见的是TDE+AE。

总结

  所有数据库的安全体系都非常庞大和复杂,光看懂就很有难度,别说运用,但是坚持一些核心原则其实就足够应付绝大部分的情况,另外时刻注意最终的安全性时全局的,网络、服务器、操作系统、应用程序都需要配合好。
  最后想说一句工作中感悟,不要过于极端,现在DBA都很少只负责一个库,所以不要因为项目所谓的安全需要就死脑筋地研究如何严密地保护数据库的安全性从而导致比如权限链非常长或者交叉的情况,最后难以维护,或者各种问题。我建议到适当层面即可,有些东西是可以在程序端做的。

发布了192 篇原创文章 · 获赞 1268 · 访问量 250万+

猜你喜欢

转载自blog.csdn.net/DBA_Huangzj/article/details/87088490
今日推荐