数据库审计系统基本原理与部署方式

数据库审计系统基本原理

什么是数据库

数据库是一个组织和存储相关数据的集合。它是一个可访问的、结构化的、持久的数据存储解决方案。数据库可用于存储和管理不同类型的数据,例如文本、数字、图像、音频和视频等。

数据库提供了一种结构化的方法来组织和存储数据,以便轻松地访问、管理和维护数据。它是一个可用于多个应用程序和用户的共享数据存储库,允许多个用户同时访问和操作数据。

数据库使用特定的数据模型来定义数据结构和关系。常见的数据库模型包括层次模型、网状模型和关系模型。关系模型是最常用的数据库模型,它使用表格(称为关系)来组织和存储数据,每个关系由行和列组成。

数据库管理系统(DBMS)是用于管理和操作数据库的软件。它提供了一系列功能,例如数据定义、数据查询、数据操纵、数据安全和数据备份等。常见的数据库管理系统包括Oracle、MySQL、Microsoft SQL Server和PostgreSQL等。

数据库的优势包括数据集中存储、数据共享、数据一致性、数据安全和数据完整性等。它们被广泛应用于各种领域,例如企业管理、电子商务、金融、医疗保健、物流和科学研究等。

数据库的基本原理:

数据库的基本原理包括数据的组织和存储数据的访问和操作数据的一致性和完整性以及并发控制数据安全等。

  1. 数据的组织和存储:数据库使用特定的数据模型(如关系模型)来组织和存储数据。数据以表格的形式存储,每个表格包含多个行和列,行表示记录,列表示属性。数据被存储在物理媒介上,如硬盘或固态硬盘。

  2. 数据的访问和操作:数据库提供了数据访问和操作的功能,通过使用数据库查询语言(如SQL)或编程接口(如API)来执行操作。用户可以通过查询语言来检索、插入、更新或删除数据。数据库管理系统(DBMS)负责执行这些操作。

  3. 数据的一致性和完整性:数据库维护数据的一致性和完整性。一致性确保数据在数据库中的各个表格之间保持一致,并遵循事务的ACID特性(原子性、一致性、隔离性和持久性)。完整性确保数据的有效性和正确性,通过定义约束(如主键、外键和唯一性约束)来限制数据的值域和关系。

  4. 并发控制:数据库需要处理多个用户同时访问和操作数据的情况。并发控制机制用于协调和管理并发访问,以确保数据的一致性和正确性。常见的并发控制技术包括锁定机制、多版本并发控制(MVCC)、时间戳和快照隔离等。

  5. 数据安全:数据库需要保护数据的安全性和隐私。安全措施包括身份验证和授权机制,以确保只有经过授权的用户可以访问和操作数据。数据库也提供了数据加密、备份和恢复等功能,用于保护数据的机密性和可用性。

什么是数据库审计系统?

数据库审计系统是一种用于监控记录数据库操作系统。它跟踪和审计数据库中的各种活动和事件,例如用户登录、数据访问、数据更改、权限变更和系统配置等。数据库审计系统通过收集分析审计日志生成报告,以便进行安全审计合规性检查

数据库审计系统的主要目的确保数据库的安全、合规性。它可以帮助组织检测预防潜在的安全漏洞和风险,以及满足监管机构对数据安全和隐私的要求。通过记录和审计数据库操作,可以追踪和监控用户行为,发现异常活动和潜在的安全威胁。

数据库审计系统通常具有以下功能

  1. 数据收集和记录:系统能够记录用户登录、数据访问、数据修改和系统配置等操作,并将其存储在审计日志中。日志记录包括操作的时间、用户信息、执行的SQL语句、访问的数据对象等详细信息。

  2. 实时监控和警报:系统能够实时监控数据库操作,并基于预定义的规则或策略生成警报。当发现异常活动或违反安全策略的行为时,系统可以发送警报通知管理员进行响应。

  3. 审计报告和分析:系统能够生成审计报告,提供关于数据库操作和事件的详细信息和统计数据。管理员可以通过分析报告来评估数据库的安全性和合规性,并发现潜在的风险和问题。

  4. 合规性和法规支持:系统提供了符合各种合规性和法规要求的功能。例如,PCI DSS(支付卡行业数据安全标准)要求对数据库进行审计,以确保信用卡数据的安全和隐私。

  5. 审计日志的保护:系统能够保护审计日志的完整性和机密性,防止未经授权的访问和篡改。它可以使用加密、访问控制和备份等措施来保护审计数据。

数据库审计系统的基本原理:

数据库审计系统的基本原理包括数据收集记录分析和报告

  1. 数据收集:数据库审计系统通过监控数据库操作,收集相关的审计数据。这些数据可以包括用户登录信息、SQL语句、数据访问和更改记录以及系统配置变更等。

  2. 数据记录:收集到的审计数据被记录在审计日志中。审计日志通常是一个专门的数据库表格或文件,用于存储和维护审计数据。每个记录包含时间戳、用户信息、操作类型、执行的SQL语句、访问的数据对象等详细信息。

  3. 数据分析:数据库审计系统通过对审计日志进行分析,发现异常活动和潜在的安全威胁。分析可以基于事先定义的规则、策略或模型来进行,例如检测未经授权的访问、异常的数据修改或未经授权的权限变更等。

  4. 报告生成:审计系统能够生成各种类型的报告,以提供对数据库操作和事件的详细信息和统计数据。报告可以包括用户活动摘要、安全事件日志、敏感数据访问情况、权限变更历史等。这些报告可以帮助管理员评估数据库的安全性和合规性,并发现潜在的风险和问题。

 数据库审计系统

什么是数据库审计?

数据库审计是记录数据库被访问行为的日志系统。

访问数据库的一般有两种行为,一种是应用服务区的访问,一种是数据库运维人员的访问

数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。

数据库审计是数据库安全技术之一,数据库安全技术主要包括数据库漏扫数据库加密数据库防火墙数据脱敏数据库安全审计系统

黑客的SQL注入攻击行为,可以通过数据库审计发现。

数据库审计系统能干什么?

  • 性能监控

    SQL吞吐、会话监控、性能瓶颈

  • 攻击预警

    对漏洞攻击、SQL注入、敏感语句、风险操作等进行预警。

  • 事后追溯

    具有基本行为审计、应用关联分析、记录全、准、可读性高。

  • 告警通知

    一般可通过短信、邮件、SNMP、Syslog进行告警通知。

数据库审计主要功能

数据审计经历的技术: 第一阶段:流量行为审计

实现了对OSI七层模型中的网络层到会话层的覆盖,主要对数据库访问行为进行分析和统计

第二阶段:内容审计阶段

实现了OSI七层模型中的表示层到应用层的覆盖,利用关键字进行模糊匹配,对数据库访问行为实现内容记录,如登陆账户、SQL语句等

第三阶段:语法解析阶段

主要集中应用层实现对SQL语句的语义分析,尽可能的将操作数据库的SQL语句进行细颗粒解析,比如账户名、数据名等等

第四阶段:大数据审计阶段

解决面向对象的M语言安全设计问题全面支持大数据审计,Hive、HBASE、MogoDB等

数据审计系统可审计的风险项:

登录风险 对IP、MAC、客户端、用户名、登录密码、时间等进行风险告警 影响行风险 对超过指定行数的更新、删除、查询和导出行为进行告警 权限风险 对用户、操作(DML、DDL、DCL)和对象进行访问控制风险定义。 增加Update Nowhere和Delete Nowhere等高危操作的风险告警 漏洞攻击 对符合CVE上公开的数据库漏洞攻击特征的访问进行告警 SQL注入 对符合SQL注入特征的访问行为进行告警 SQL黑名单 精确地描述,出现了哪些语句就要进行告警(比如是一个要求授权很高的语句) 登录许可 通过IP、MAC、客户端、用户名、时间等因素描述信任的,不需要告警的登录 SQL白名单 大量的应用SQL语句属于来自于应用的正常访问,可以不需要告警 白名单规则 通过用户、操作、对象、时间等因素描述许可以信任不需要告警的访问

双向审计:

通过对双向数据包的解析、识别及还原,不仅对数据库操作请求进行实时审计,而且还可对数据库系统返回结果进行完整的还原和审计,包括数据库命令执行时长、执行的结果集等内容; 用户行为 数据库用户的登录、注销 数据定义语言(DDL)操作 Create、Alter、Drop等创建、修改或者删除数据库对象(表、索引、视图、存储过程、触发器、域等等)的SQL指令 数据操作语言(DML)操作 Select、Delete、Updata、Insert等用户检索或者修改数据的SQL指令 数据控制语言(DCL)操作 Grant、Revoke定义数据库用户的权限的SQL指令 其他操作 包括Execute、Commit、Rollback等事务操作指令

数据库审计系统的主要功能架构:

5W1H的行为审计:

Who(谁干的) 数据库用户名、操作系统用户名、应用用户名 Where(在什么地方) 数据库客户端IP+MAC、应用客户端IP When(什么时间) 发生时间、耗时时长 What(干了些什么) 操作对象是谁、操作是什么 How(怎么干的) SQL语句、参数 **结果怎么样 ** 是否成功、影响行数、性能情况

数据库审计系统部署方式:

流镜像部署: 数据库审计系统主要原理是,将所有访问数据库的流量镜像给审计系统,然后进行分析数据包,从而进行记录。

1)审计系统采用旁路部署,不需要再数据库服务器上安装插件,不影响网络和业务系统的结构。 2)无需与业务系统对接,与数据库服务器没有数据交互,不需要数据库服务器提供用户名密码。 3)用户预留增加额外网络设备,也无需对现有的网络结构进行改造。 Agent代理客户端部署: Agent部署方式一般是因为:当Web应用和数据库在同一台物理服务器上的话,那么Web应用访问数据库的流量都是在本地产生的,没法通过交换机来镜像到数据库审计,此时需要在这种主机上安装agent代理,主动监听Web应用访问数据库的流量,从而主动推送给数据库审计系统。

不需要云环境底层支持流量镜像,只需要安装Agent即可完成云环境数据库的安全审计,支持主流的云环境中的主流的linux和windows等虚拟主机 ,单台审计设备可以同时支持多个数据库的审计。

反向代理方式部署: 反向代理适用于流量不能到审计设备,又不允许安装agent代理软件的情况。它的原理是直接把审计设备当作一个代理,客户端数据库连接直接连接到审计设备,通过审计设备再到达数据库,从而达到审计数据库的目的。是针对云环境中的共享数据库专门开发的一种部署模式,主要是为了解决公有云和私有云环境中共享数据库无法安装agent提供的一种解决方案,主要是通过tcp层协议代理实现。