数据库安全之公安
公安行业系统特殊性
公安行业在政府机构中承载着人口信息、罪犯追逃、出入境等相关职能;所以公安系统数据存在着非常大的敏感和特殊性,保障公安系统的数据安全是非常关键和必要的;因此在建立一个公安行业数据稳定传输的网络,以实现数据共享、信息互通的同时,如何确保敏感数据和信息的安全就成为了公安行业主要考虑的因素。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。目前公安系统内部主要以“全国人口基本信息资源库”、“全国在逃人员信息资源库”等多个资源库为核心,存放着大量相关行业机密数据,任何一个资源库中的数据被篡改、被删除、被窃取都会造成严重的后果。
公安行业数据安全现状
公安系统作为政府行政机构,90年代就已经开始了网络系统工程的建设,随着建设的不断完善,公安信息通信专网基本上形成了四通八达的信息高速网络,实现了从公安部、各省厅、各地市公安局,最终延伸至下属各派出所的数据高效、可靠的传输平台。
伴随公安信息系统广泛联通和频繁的数据传输,也带来了一定的数据安全风险,例如来自系统外部攻击的威胁、来自系统内部使用人员的威胁等等,都会对公安系统内部的重要数据造成破坏、泄露等威胁,因此,建立一个多层级、立体的安全网络已经成为公安系统的核心需求。
1)如何防范核心数据资产的破坏和泄漏
对公安业务系统来说,真正重要的核心信息资产往往存放在少数几个关键数据库服务器上,因此这几个数据库服务器所面临的威胁和风险非常大,外部黑客或不法分子虎视眈眈,内部违规或犯罪事件正呈上升趋势,如何防范来自外部和内部对关键数据库数据资产的破坏和泄漏?
2)如何实现对敏感数据的操作告警
当用户未经授权对敏感信息进行了不合理的操作时,系统管理员或相关负责人能及时获得相关的告警,以及时控制损失。
3)数据库与业务系统的关联分析
在公安业务系统现有的三层B/S架构中,终端用户通过访问业务系统到最终的数据操作请求,中间通过WEB服务器、应用中间件、数据库等多层架构,从数据库查看信息时只有一个数据库前端(中间件)的访问信息,无法查询到最原始的客户端信息,如何在发生安全事件或信息泄露时精确定位到事件发生的源头,进行追责。
4)如何弥补传统网络安全防护在数据层存在的缺陷
传统网络安全方案,依靠传统的网络防火墙及入侵保护系统IPS,在网络中检查并实施数据库访问控制策略。但是网络防火墙只能实现对IP地址、端口及协议的访问控制,无法识别特定用户的数据库活动,比如用户使用数据库客户端删除某张数据库表等。而IPS虽然可以依赖特征库有限阻止数据库软件已知漏洞的攻击,但同样无法判别具体的数据库用户活动,更谈不上细粒度的审计。因此,无论是网络防火墙,还是IPS都不能解决数据库特权滥用等问题;那以作为公安行业系统的特殊性,该如何弥补传统防护手段的缺陷?
总体方案
中安威士总结对多个公安系统进行安全加固经验,针对公安行有效的数据库安全加固解决方案,是由不同层面的安全防护功能模块所构成。模块间相互关联,防护颗粒度不断递增。中安威士提出的针对公安行业的数据安全管理方案如下:
1)数据活动的三层关联审计。详细记录敏感数据被访问的情况,包括从数据库访问SQL语句和Web应用访问细节的关联,最终实现终端用户到Web应用、Web应用到数据库的三层审计;尤其是对批量访问的审计、越权操作的审计、以及更改和删除操作所影响的原始数据的审计。
2)细粒度访问控制。阻断异常的、违规的、以及攻击性的查询和访问,防止敏感数据泄漏以及被破坏。
3)敏感内容脱敏。有针对性的对不同系统和用户,通过动态脱敏手段,实时授予对敏感数据的遮蔽、替换等不同展示方式,防止数据泄漏。同时,对例如开发、测试、数据外发等环境,提供静态脱敏手段,批量的对敏感数据脱敏,防止真实敏感数据外泄。
4)敏感内容加密。有选择性的对敏感内容加密,使敏感数据在存储、备份时以密文方式存在。通过控制加密和解密权限,提供对敏感数据访问的增强权限管理,防止超级权限被盗用和滥用导致的数据泄漏。
实施方案
中安威士数据安全解决方案基于自主研发的系列数据库安全加固产品实现。以某市公安局为例,具体的实施方案如下:
该解决方案的要点如下:
1) 在公安业务数据库前端部署数据库防火墙系统,从源头上阻止例如SQL注入、越权数据访问以及其它针对数据库攻击手段。防火墙系统通过自动学习,建立防火墙规则。
2) 用户基础数据库的敏感信息不允许外流,在数据库前部署数据库加密系统,保护敏感数据不泄露,即使泄露,由于敏感字段全部处于加密状态,也没有任何价值。
3) 在所有数据库前面加装数据库审计系统,所有访问任何数据库的操作将被记录下来,通过三层关联分析,能够精准定位真实用户访问情况,并自动发现数据库攻击和越权行为。
4) 在所有数据库前端部署数据库脱敏系统,确保从所有流径数据库的数据经过必要脱敏,防止开发、测试、外包人员不能接触真实数据。
中安威士数据安全管理解决方案基于数据库审计、数据库防火墙、数据库加密和数据脱敏产品实现。方案完整地解决了当前信息系统所广泛面临的数据泄露困境。该方案的优势体现在:
快:卓尔不群的处理性能。
智:智能化自动学习,实现数据库审计/防火墙零配置。
稳:十余年技术积累,国内新研发专利技术,上千实际部署案例,产品运行稳定。
全:功能全面、全面覆盖泄密路径。
美:美观的管理界面和报表。
细:达到字段、语句级的细粒度的数据活动审计和访问控制。
通过上述解决方案,有效满足了市公安局所面临的数据层面安全管理缺乏手段的现状,形成了以下能力:
1) 简化业务治理,提高数据安全管理能力;
2) 完善纵深防御体系,提升整体安全防护能力;
3) 减少核心数据泄漏,保障业务连续性;
4) 满足行业安全规范,形成可视、可控、合规;
除以上客户价值体现外,中安威士安全加固解决方案,带给公安行业的行业价值体现在:
1) 从事前预警、事中防护、事后追溯,三个层面对核心数据全生命周期提供安全防御机制和手段;
2) 对敏感数据的加密、脱敏,从数据维度确保敏感数据在非法获取后的不可用;
3) 有效弥补了网络安全层面的安全局限性,形成多层次,全方位的数据保护;
中安威士为北京中安比特科技有限公司专有品牌,以科学严谨的作风,为各行业用户带来高可靠的数据安全管理产品和服务。
大数据系统的技术庞大而复杂。基础技术包括数据采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等技术类别和不同的技术层次。首先,本文给出了一个通用的大数据处理框架,主要分为以下几个方面:数据采集与预处理、数据存储、数据清洗、数据查询分析和数据可视化。
一、数据采集和预处理
对于来自不同来源的数据,包括移动互联网数据、社交网络数据等,这些结构化和非结构化的海量数据是分散的,即所谓的数据孤岛,这些数据在此时是没有意义的。数据采集是将这些数据写入数据仓库,将分散的数据集成在一起,并对数据进行分析。数据采集包括文件日志采集、数据库日志采集、关系数据库访问和应用程序访问。当数据量较小时,可以编写常规脚本将日志写入存储系统,但随着数据量的增长,这些方法不能提供数据安全性,且操作维护困难,需要较强的解决方案。
作为实时日志收集系统,Flume NG支持日志系统中的各种类型的数据发送器来收集数据。同时,数据被简单地处理并写入各种数据接收器(例如文本,HDFS,Hbase等)。 。 Flume NG使用三层架构:代理层,收集器层和存储层,每个层都可以水平扩展。代理包含Source,Channel和Sink。源用于将数据源消费(收集)到通道组件。该通道用作中间临时存储器以保存所有源组件信息。接收器从通道读取数据并在成功读取后删除它。频道中的信息。
NDC(NeteaseDataCanal)被翻译成NetEase Data Canal System,它是NetEase的实时数据迁移、同步和结构化数据库订阅的平台解决方案。它集成了NetEase过去在数据传输领域的工具和经验,通过数据链接连接独立数据库、分布式数据库、OLAP系统和下游应用程序。NDC的设计除了保证数据的高效传输外,还遵循单元化和平台化的设计思想。
logflash是一个开源的服务器端数据处理管道,可以同时从多个源收集数据,转换数据,并将数据发送到您最喜爱的“存储库”。常用的储存库是弹性研究。Logflash支持多种输入选项,可以同时从许多常用的数据源中捕获事件,并可以方便地以连续流方式从日志、度量、Web应用程序、数据存储和各种aws服务中收集数据。
Sqoop使用的一种工具,用于在关系数据库和Hadoop中的数据之间传输数据。可以将数据从关系数据库(如MySQL、Oracle)导入Hadoop(如HDFS、Hive、HBase)。还可以将Hadoop(如HDFS、Hive、HBase)中的数据导入到关系数据库(如MySQL、Oracle)中。Sqoop允许MapReduce作业(非常容错的分布式并行计算)执行任务。Sqoop的另一个优点是它传输大量结构化或半结构化数据的过程是完全自动化的。
流计算是业界的一个热门话题。流式计算能够实时清理、聚合和分析多个高通量数据源,能够快速处理和反馈社交网站、新闻等中存在的数据流。目前,有很多大型数据流分析工具,如开源Strom、火花流等。
Strom集群结构是由一个主节点(Nimbus)和多个工作节点(Supervisor)组成的主从结构。主节点是在运行时静态指定或动态选择的。Nimbus和Supervisor都是Storm提供的后台守护程序。动物园管理员之间的通信与状态更改通知和监视通知结合使用。Nimbus流程的主要职责是管理、协调和监控集群上运行的拓扑(包括拓扑发布、任务分配、在处理事件时重新分配任务等)。主管进程等待Nimbus分配任务以生成并监视工作者(JVM进程)以执行任务。主管和工作人员在不同的JVM上运行,如果由主管启动的工作进程退出(或由于错误而退出),则主管尝试重新生成新的工作进程。
当上游模块的数据用于计算、统计和分析时,可以使用消息系统,特别是分布式消息系统。Kafka是用Scala编写的,是一个基于发布/订阅的分布式消息传递系统。Kafka的设计思想之一是提供离线处理和实时处理,以及将数据实时备份到另一个数据中心。卡夫卡可以让许多生产者和消费者共享多个主题,并在主题单元中总结消息。卡夫卡发布消息的程序称为生产者,也称为生产者,订阅主题和消费消息的程序称为消费者,也称为消费者。当Kafka作为一个集群运行时,它可以由一个或多个服务组成,每个服务都称为代理,在此期间,生产者通过网络向Kafka集群发送消息,该集群向消费者提供消息。Kafka通过ZooKeeper管理集群配置,选举领导者,并在消费者组发生变化时重新平衡。生产者使用推送模式将消息发布到代理,消费者使用拉模式订阅和使用来自代理的消息。大数据技术学习交换口裙,数字515数字269数字485。卡夫卡可以和水槽一起工作。如果需要将流数据从Kafka传输到Hadoop,可以使用Flume Agent,以使用Kafka作为源。这允许您将数据从Kafka读取到Hadoop。
动物园管理员是提供数据同步服务的分布式、开源分布式应用程序协调服务。其功能包括配置管理、名称服务、分布式锁定和集群管理。配置管理是指在一个地方修改配置,这样所有对这个地方的配置感兴趣的人都可以改变,消除了繁琐的手动复制配置,同时也确保了数据的可靠性和一致性。同时可以通过名称获得资源或服务的地址等信息,并可以监视集群中机器的变化,实现类似于心跳机制的功能。
二、数据存储
Hadoop作为一个开源框架,专为离线和大规模数据分析而设计。HDFS作为其核心存储引擎,在数据存储中得到了广泛的应用。
HBase是一个分布式的、面向列的开源数据库,可以看作是HDFS的封装,HDFS本质上是一个数据存储和NoSQL数据库。HBase是一个关键/值系统,部署在HDFS上,以克服HDFS在随机读写方面的缺点。与Hadoop一样,HBase的目标主要依靠横向扩展,通过不断增加廉价的商用服务器来增加计算和存储容量。
Phoenix,相当于Java中间件,可以帮助开发工程师访问NoSQL数据库HBase,就像他们使用JDBC访问关系数据库一样。
SILE是一种Hadoop资源管理器,可以为上层应用提供统一的资源管理和调度。它的引入为集群的利用、资源的统一管理和数据共享带来了极大的好处。SILE由以下主要组件组成:全局资源管理器ResourceManager、ResourceManager的每个节点代理NodeManager、代表每个应用程序的应用程序,以及每个ApplicationMaster在NodeManager上运行的多个容器。
Mesos是一款开源集群管理软件,支持Hadoop、ElasticSearch、Spark、Storm和Kafka等应用程序架构。
REDIS是一种非常快速的非关系数据库,它可以存储键和五种不同类型的值之间的映射,将存储在内存中的键值对数据持久化到硬盘,并使用复制功能来扩展性能。您还可以使用客户端碎片来扩展写入性能。
Atlas是介于应用程序和MySQL之间的中间件。在后端数据库中,Atlas相当于与其连接的客户端,而前端应用程序则等同于DB。作为服务器,Atlas与应用程序进行通信。实现了MySQL的客户端和服务器协议,同时作为客户端与MySQL进行通信。它保护应用程序不受数据库细节的影响,并维护连接池以减少MySQL负担。启动Atlas时,将创建多个线程,其中一个线程是主线程,其余线程是辅助线程。主线程负责侦听所有客户端连接请求,辅助线程仅侦听主线程发出的命令请求。
kudu是一个围绕Hadoop生态系统构建的存储引擎。kudu与Hadoop生态系统有一个共同的设计概念。它运行在普通服务器上,可以在分布式规模上部署,并且满足业界的高可用性要求。它的设计思想是对快速数据进行快速分析。作为一个开源的存储引擎,它可以提供低延迟的随机读写和高效的数据分析功能。kudu不仅提供行级插入、更新和删除API,还提供接近实木地板性能的批扫描操作。使用相同的存储空间,不仅可以实现随机读写,而且可以满足数据分析的要求。kudu有广泛的应用场景,如实时数据分析、数据可能发生变化的时间序列数据应用程序等等。
在数据存储过程中,涉及的表有数千列,包括各种复杂的查询。建议使用列存储方法,如parquent、orc等对数据进行压缩。拼花地板可以支持灵活的压缩选项,大大减少了磁盘上的存储空间。
三、数据清洗
maprect作为hadoop的查询引擎,用于大规模数据集的并行计算。“地图”和“减少”是其主要思想。它极大地便利了程序员在不进行分布式并行编程的分布式系统中运行自己的程序。
随着业务数据量的增加,需要进行培训和清理的数据将变得越来越复杂。此时,需要任务调度系统(如Oozie或Azkaban)来调度和监视关键任务。
Oozie是面向Hadoop平台的工作流调度引擎,它提供了RESTfulAPI接口来接受用户提交请求(提交工作流作业)。当提交工作流时,工作流引擎负责工作流执行和状态转换。用户在HDFS上部署作业(MR作业),然后提交工作流,Oozie以异步方式将作业(MR作业)提交给Hadoop。这就是为什么在调用Oozie的RESTful界面提交作业后立即返回JobId,并且用户程序不必等待作业完成(因为一些大型作业可能需要很长时间(几个小时甚至几天)。Oozie在后台以异步方式将与工作流相对应的Action提交给Hadoop执行。
Azkaban也是一个工作流控制引擎,可用于解决离线计算任务(如多个hadoop或spark)之间的依赖关系。 Azkaban主要由三部分组成:关系数据库,Azkaban Web服务器和Azkaban Executor服务器。 Azkaban将大部分状态信息保存在MySQL中。 Azkaban Web Server提供Web UI,它是azkaban的主要管理者,包括项目管理,身份验证,调度和工作流执行期间的监控; Azkaban Executor Server用于计划工作流和任务,以及记录工作流或任务的日志。
作为流量计算任务的处理平台,SLOTH是NetEase第一个自主研发的流量计算平台,旨在解决公司各种产品对流量计算日益增长的需求。作为一种计算服务平台,它具有易用性、实时性、可靠性等特点,为用户节省技术投入(开发、操作和维护),帮助用户专注于解决产品本身的流程计算需求。
四、数据查询分析
蜂巢的核心工作是将sql语句转化为mr程序,将结构化数据映射到数据库表中,并提供hql(hellsql)查询功能。蜂巢本身不存储和计算数据。它完全依赖于hdfs和maprect。您可以将蜂巢理解为一个客户端工具,将sql操作转换为相应的映射减少任务,然后在hadoop上运行。蜂巢支持标准的sql语法,消除了用户编写地图程序的过程。它的出现使精通sql技能但不熟悉maprect、编程能力弱、不擅长java语言的用户可以轻松地使用sql语言查询、聚合和分析hdfs大型数据集上的数据。
蜂巢是为大数据批量处理而诞生的。Hive的出现解决了传统关系数据库(MySQL、Oracle)在大数据处理方面的瓶颈。Hive将执行计划划分为MAP->Shuffle->Reduce->MAP->Shuffle->Reduce。一个模型。如果一个查询被编译成多轮MapReduce,将会有更多的中间结果。由于MapReduce执行框架本身的特点,太多的中间进程会增加整个查询的执行时间。在运行Hive的过程中,用户只需要创建表、导入数据和编写SQL分析语句。该过程的其余部分由Hive框架自动完成。
Impala是Hive的一个补充,用于实现高效的SQL查询。利用Impala在Hadoop上实现SQL,实现对大数据的实时查询和分析。大数据是通过熟悉的传统关系数据库的SQL风格进行操作的,数据也可以存储在HDFS和HBase中。Impala不使用Slow Hive+MapReduce批处理,而是使用分布式查询引擎(由查询规划器、查询协调器和查询执行引擎组成),类似于商业并行关系数据库中的查询引擎。您可以通过SELECT、JOIN和STATISTICS函数直接从HDFS或HBASE查询数据,从而大大减少了延迟。Impala将整个查询划分为执行计划树,而不是一系列MapReduce任务,而Hive没有MapReduce启动时间。
Hive适用于长时间的批量查询分析,而Impala适用于实时交互式SQL查询。 Impala为数据工作者提供了快速实验和验证想法的重要想法。您可以使用Hive进行数据转换,然后使用Impala。对Hive的已处理数据集执行快速数据分析。总结:Impala将执行计划呈现为一个完整的执行计划树,可以更自然地将执行计划分发到每个Impalad执行查询,而无需将其组合到管道类型map-> reduce模式(如Hive)。这可确保Impala具有更好的并发性,并避免不必要的中间排序和混洗。但是,Impala不支持UDF,并且对可以处理的问题存在某些限制。
SPARK具有HadoopMapReduce的特点,它将Job中间输出保存在内存中,因此不需要读取HDFS。SPARK使内存分布数据集除了提供交互式查询外,还可以优化迭代工作负载。SPARK是用Scala语言实现的,并使用Scala作为其应用框架。与Hadoop不同,Spark和Scala可以紧密集成,Scala可以像处理本地集合对象一样轻松地操作分布式数据集。
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。
Solr是一个全文搜索服务器,用于用Java编写并运行在ApacheTomcat或Jetty等servlet容器中的独立企业搜索应用程序。它提供了一个类似于Web服务的API接口。用户可以向搜索引擎服务器提交特定格式的XML文件,并通过http请求生成索引。您还可以通过http GET操作发出搜索请求,并以XML格式获取返回的结果。
ElasticSearch是一个基于Lucene搜索服务器的开源全文搜索引擎,能够快速存储、搜索和分析海量数据。专为云计算而设计,可实现实时搜索,稳定可靠,速度快,安装使用方便。
它还涉及一些机器学习语言。例如,Mahout的主要目标是为开发人员创建一些可扩展的机器学习算法,以便在Apache的许可下自由使用;深度学习框架Caffe和开源软件库,用于使用数据流图进行数值计算。 TensorFlow等常用的机器学习算法,如贝叶斯,Logistic回归,决策树,神经网络,协同过滤等。
五、数据可视化
通过与一些BI平台的对接,可以可视化分析得到的数据,指导决策服务。主流的商务智能助推器,如国外的敏捷商务智能平台、Qlikview、Powrerbi、国内的smallbi和新兴的网易等。
在上述各个阶段,数据的安全是一个不容忽视的问题。
基于网络身份认证的Kerberos协议用于在非安全网络中通过安全手段对个人通信进行身份认证。它允许实体在不安全的网络环境中通信。以安全的方式向其他实体证明您的身份。
Ranger控制权限,是Hadoop群集权限框架,它为操作、监视和管理提供复杂的数据权限。它提供了一种集中管理机制来管理基于纱线的Hadoop生态系统中的所有数据权限。细粒度的数据访问控制可以在Hadoop生态系统的组件(如Hive、HBase)上执行。通过运行Ranger控制台,管理员可以轻松地配置策略,以控制用户对HDFS文件夹、HDFS文件、数据库、表和字段权限的访问。可以为不同的用户和组设置这些策略,并且可以与Hadoop无缝连接权限。
简单地说,有三种核心技术:获取数据、计算数据和销售数据。
首先,由于大数据,不能得到大量的数据都是徒劳的。现在由于机器学习的兴起,以及金油算法的兴起,导致算法的地位下降,数据的状态得到了改善。例如,由于教育的发展,个人智力的重要性降低了,教育背景变得更重要了,因为一般人都能按照标准的程序阅读一本书,这比牛顿好得多。Google说:在许多情况下,将强大的数据提供给通用算法比将愚蠢的数据提供给强大的算法要好。你知道要得到一个好的算法有多难吗?大多数人甚至不知道有什么困难。拿数据来说是很重要的,大数据技术学习交换口裙,199427210,熟练的女人没有饭就很难做饭啊!那么为什么很多公司都想烧钱抢入口,抢用户,是为了争夺数据源啊!但是操作,和产品更注重这一点,我是一个程序员,我不在乎。
二是计算数据。如果数据是直接有价值的,那么公司就没有必要。政府应该直接获利。苹果可以看到秋天,人们牛顿可以所有的重力,我只能拿起吃,差距啊…所以有数据,可以自己找出来的。计算数据需要一个计算平台。如何存储数据(hdfs,s3,hbase,卡珊德拉),如何计数(hadoop,spark)取决于程旭远……
三是,只有出售才能实现,否则就是为了公共利益,如李思和大锤中的“疑犯追踪”。预测未来,避免不利因素,是智能的最终目标和意义,对吗?每个人都应该一起考虑这件事。
事实上,我认为最后一个是“核心技术”,“星火、风暴、深度学习”是第二梯队。当然,如果没有强大的计算能力的支持,智能就不应该能够谈论它。
中安威士:保护核心数据,捍卫网络安全
来源:网络收集
