以数据为中心的数据安全基础能力建设研究
发布时间:2022-08-01 11:50:14 所属栏目:安全 来源:互联网
导读:企业数据安全治理,除了熟悉法律法规条文,信息采集最小化,服务入口明确隐私协议外,更多的是需要建设内部基础能力,如数据识别、分类分级、数据加密、权限管控等数据安全的基础能力。 本文数据为中心的理念,围绕数据识别、分类分级、基础防护几个方面,结
企业数据安全治理,除了熟悉法律法规条文,信息采集最小化,服务入口明确隐私协议外,更多的是需要建设内部基础能力,如数据识别、分类分级、数据加密、权限管控等数据安全的基础能力。 本文数据为中心的理念,围绕数据识别、分类分级、基础防护几个方面,结合开源软件做一次梳理和功能演示,希望能帮助有需要的人员对数据安全有个直观的了解。 在数据识别基础上,建立数据资产大盘,实现数据资产风险识别、监测、运营的资产全生命周期管理; 在数据分类分级的基础上,对不同数据资产进行分类、分级,将优势资源投入到关键资产的安全防护上; 在数据安全基础防护方面,除了应具有基础设施和架构的安全稳固外,基于数据识别和分类分级,对存储、传输的敏感数据进行加密防护、账号权限管控、数据脱敏和分发管控,结合内外部风险变化,最终走向数据安全风控之路。 1、数据识别、分类 在大数据时代的今天,如何做好数据识别、分类,在这个基础上建立数据资产全生命周期管理是很多企业面临的挑战。比如企业内部有多少数据库表明文存储手机号字段、有多少接口对外暴露且有手机号字段,这些数据库表、接口等资产又面临哪些风险,如何做到全生命周期的风险管控。针对结构化数据,如数据库表中字段识别、半结构化数据,如日志中的数据识别、非结构化如图片、音视频文件的数据识别,在识别能力的覆盖范围、识别准确率、对性能的影响等方面,这对很多企业还是有不小的挑战。 1.1. 内容识别示例 数据识别可以通过关键字、正则、算法等实现,网上文章很多,以及一些大厂也有成熟的识别技术和方案,从落地实现上主要还是基于业务场景,从数据类型上看主要分为结构化、半结构化、非结构化的数据识别。 结构化:关系型数据库 半结构化:日志数据、JSON数据、XML文档等 非结构化:HTML网页、办公文档、图片、音视频文件等 1.2. 分类分级管理展示 2、利用ShardingSphere-Proxy实现敏感数据加密 ShardingSphere是apache顶级开源项目,旨在构建异构数据库上层的标准和生态。它关 注如何充分合理地利用数据库的计算和存储能力,而并非实现一个全新的数据库。ShardingSphere 站在 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 连接:通过对数据库协议、SQL方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构数据库; 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 务质量分析、可观察性)等透明化增量功能; 可插拔:项目采用微内核+三层可插拔模型,使内核、功能组件以及生态对接完全能够灵活的方式 进行插拔式扩展,开发者能够像使用积木一样定制属于自己的独特系统。 ShardingSphere-Proxy定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支 持。目前提供 MySQL 和 PostgreSQL 安装 下载ShardingSphere㏄roxy 的最新发行版。解压缩后修改conf/server.yaml和以config-前缀开头的文件,如:conf/config-encrypt.yaml 文件,进行字段加密配置,其他配置如分片规则、读写分离规则配置暂不讨论。Linux 操作系统运行 bin/start.sh,可以指定proxy端口,bin/start.sh 3308. 敏感字段配置 (base) gengdeMacBook-Pro:conf js2thon$ mysql -h127.0.0.1 -uroot -P3308 Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 13 Server version: 8.0.20-Sharding-Proxy 4.1.0 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show tables; +----------------------+------------+ | Tables_in_encrypt_db | Table_type | +----------------------+------------+ | t_encrypt | BASE TABLE | +----------------------+------------+ 1 row in set (0.03 sec) mysql> select * from t_encrypt; +----------+---------+-------------+ | order_id | user_id | phone | +----------+---------+-------------+ | 10 | 0 | 18516014911 | | 11 | 1 | 18516014922 | | 12 | 2 | 18516014933 | | 13 | 3 | 18516014944 | | 14 | 4 | 18516014955 | +----------+---------+-------------+ 5 rows in set (0.09 sec) mysql> select * from t_encrypt; +----------+---------+--------------------------+-------------+ | order_id | user_id | phone_cipher | phone | +----------+---------+--------------------------+-------------+ | 10 | 0 | uFZ1RGQfxsUM+GUJqI5rlQ== | 18516014911 | | 11 | 1 | SGxnMaUHY/HR50hJcYp6Vg== | 18516014922 | | 12 | 2 | Z5NBefdS9WN3Bl6p45R1Dw== | 18516014933 | | 13 | 3 | SKqYOUF4dxloUH5M9t/wEg== | NULL | | 14 | 4 | 4q+dOa+bxUTFSzX6AOjvUg== | NULL | +----------+---------+--------------------------+-------------+ 3、利用Vault实现数据库动态凭证和数据加解密的接口调用 Hashicorp Vault解决了管理敏感信息的问题,如数据库凭证和API密钥就是需要以安全的方式存储和提供给应用程序的敏感数据,Vault支持许多secret引擎,部分如下: Key-Value: 简单的静态键值对 动态生成的凭据:由Vault根据客户端请求生成 加密密钥:用于使用客户端数据执行加密功能 ![]() (编辑:我爱故事小小网_铜陵站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |