Oracle数据库安全评估工具(DBSAT)

news2024/11/20 20:43:53

目录:

    • 工具概述:
    • 先决条件:
      • 一、支持的操作系统及DB版本:
        • 1.支持的操作系统
        • 2.支持的数据库版本
      • 二、评估工具的前提条件:
        • 1.所需安装包及工具
        • 2.Collector的先决条件
        • 3.Reporter的先决条件
        • 4.Discoverer的先决条件
    • 工具下载:
    • 工具使用:
        • 1.安装 DBSAT
        • 2.创建数据库用户
        • 3.运行收集器
        • 4.运行报告器
        • 5.分析报告

工具概述:

Oracle数据库安全评估工具(DBSAT)是一个流行的命令行工具,它可以帮助识别数据库配置、操作或实施引入风险的领域,并建议改变和控制以减少这些风险。DBSAT帮助评估数据库配置的安全程度,确定谁是用户和他们的权利,并确定敏感数据在数据库中的位置。DBSAT可以区分企业内部的Oracle数据库、自主数据库(共享的和专用的)和DBCS。根据数据库的目标类型,DBSAT执行不同的检查,并提供针对目标的注释。

DBSAT有三个组成部分: 收集器、报告器和发现器。收集器和报告器一起工作,发现风险区域,并就这些风险区域产生报告–数据库安全评估报告。发现器是一个独立的模块,用于定位和报告敏感数据–数据库敏感数据评估报告。

  • 收集器负责通过执行SQL查询和操作系统命令从目标数据库收集原始数据。

  • 报告器读取收集到的数据,对其进行分析,并产生带有发现的报告。报告器输出四种报告,分别是:HTML、XLS、JSON和文本格式。

  • 发现器对数据库字典视图执行SQL查询以发现敏感数据,并以HTML和CSV格式的报告。从12.2.0.8版本开始,Discoverer CSV报告可以加载到Oracle Audit Vault和Database Firewall、以在新的数据隐私报告中添加敏感数据背景。关于此功能的更多信息,请参见将敏感数据导入

    敏感数据导入AVDF库,见《Oracle审计库和数据库防火墙审计员指南》。

先决条件:

一、支持的操作系统及DB版本:

1.支持的操作系统

数据库配置收集查询可以在大多数支持的Oracle数据库平台上运行。然而,目前在Windows平台上,操作系统数据收集将被跳过

Oracle DBSAT运行在:

• Solaris x64 and Solaris SPARC64
• Linux x86-64
• Windows x64
• HP-UX IA (64-bit)
• IBM AIX (64-bit) & Linux on zSeries (64-bit)

2.支持的数据库版本

你可以在Oracle数据库11.2.0.4及以后的版本中,在企业内部或云端,在Oracle数据库标准版2和Oracle数据库企业版上运行Oracle DBSAT。

注意:
Oracle数据库标准版2从Oracle数据库12c版本1(12.1.0.2)。对于12.1.0.1,Oracle数据库标准一版和Oracle数据库标准版可用。
参考资料:https://docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC109

二、评估工具的前提条件:

1.所需安装包及工具

DBSAT需要在Unix/Linux系统上安装bash shell,Zip和UnZip
Oracle DBSAT使用Zip和Unzip来压缩或解压生成的文件。
Oracle DBSAT在默认位置搜索Zip和Unzip工具,如下所示。
下的默认位置。为了使用其他的Zip和Unzip工具,请在相关脚本中更新以下几行。
相关脚本中的以下几行。
Windows(dbsat.bat脚本):

SET ZIP_CMD=%ORACLE_HOME%\bin\zip.exe
SET UNZIP_CMD=%ORACLE_HOME%\bin\unzip.exe

注意:
Oracle数据库12.2及更高版本中不包括Unzip工具。请确保确保您已经安装了诸如 WinZip 或 WinRar 等工具,并在 SET UNZIP_CMD 中添加工具的路径。并在 SET UNZIP_CMD 参数中添加该工具的路径。
所有其他平台(dbsat脚本):

ZIP=/usr/bin/zip
UNZIP=/usr/bin/unzip
DBZIP=${ORACLE_HOME}/bin/zip

2.Collector的先决条件

为了收集完整的数据,Oracle DBSAT收集器必须在包含数据库的服务器上运行。
为了收集完整的数据,Oracle DBSAT采集器必须在包含数据库的服务器上运行,因为它执行了一些操作系统命令来收集不能从数据库中获得的进程和文件系统信息。
数据库中获得。此外,Oracle DBSAT采集器必须以操作系统用户的身份运行,并具有ORACLE_HOME下的文件和目录的读取权限,以便使用操作系统命令收集和处理文件系统数据。
使用操作系统命令来收集和处理文件系统数据。
Oracle DBSAT收集器通过查询数据库视图来收集大部分的数据。
它必须作为一个有足够权限的用户连接到数据库,以便从这些视图中进行选择。

授予DBSAT用户以下权限:

• CREATE SESSION
• READ or SELECT on SYS.REGISTRY$HISTORY
• Role SELECT_CATALOG_ROLE
• Role DV_SECANALYST (if Database Vault is enabled or if Database Vault Operations Control is enabled)
• Role AUDIT_VIEWER (12c and later)
• Role CAPTURE_ADMIN (12c and later)
• READ or SELECT on SYS.DBA_USERS_WITH_DEFPWD (11g and later)

Note:
If you plan to run only the Collector component, you can assign only the following privileges:
• CREATE SESSION
• Role SELECT_CATALOG_ROLE
In order to successfully collect Database Vault information in a Database Vault protected
environment, you must connect as a non-SYS user with the DV_SECANALYST role.

3.Reporter的先决条件

报告器是一个独立于平台的Python程序,需要Python 2.6或更高版本才能运行。

4.Discoverer的先决条件

发现器是一个Java程序,需要Java Runtime Environment (JRE)1.8(jdk8-u172)或更高版本才能运行。
发现者从数据库字典视图中收集元数据,并将它们与指定的模式相匹配,以发现敏感数据。
与指定的模式相匹配以发现敏感数据。发现者必须以具有足够权限的用户身份连接以一个有足够权限的用户连接到数据库,以便从这些视图中进行选择。

工具下载:

Download DBSAT (oracle.com)

工具使用:

1.安装 DBSAT

  1. 登录到数据库服务器
  2. 创建dbsat目录
mkdir -p /home/oracle/dbsat
  1. 下载并上传dbsat.zip文件到数据库服务器/tmp, 并且解压文件
chown oracle:oinstall /tmp/dbsat.zip
unzip /tmp/dbsat.zip -d /home/oracle/dbsat

- d指定解压路径

2.创建数据库用户

创建dbsat用户作为数据库安全评估工具使用

-- Create user
create user dbsat identified by dbsat123;
grant CONNECT to dbsat;
grant SELECT on SYS.REGISTRY$HISTORY to dbsat;
grant SELECT_CATALOG_ROLE to dbsat;
grant DV_SECANALYST to dbsat;
grant SELECT on SYS.DBA_USERS_WITH_DEFPWD to dbsat;
grant AUDIT_VIEWER to dbsat;
grant CAPTURE_ADMIN to dbsat;

-- Verify permissions
set lines 200
col GRANTEE for a20
col OWNER for a20
col GRANTOR for a20
col PRIVILEGE for a20
col GRANTED_ROLE for a20
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'DBSAT';
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'DBSAT';
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'DBSAT';

3.运行收集器

./dbsat collect dbsat/dbsat123@ORCL /home/oracle/dbsat/output_ORCL
Database Security Assessment Tool version 2.2.2 (June 2021)

This tool is intended to assist you in securing your Oracle database
system. You are solely responsible for your system and the effect and
results of the execution of this tool (including, without limitation,
any damage or data loss). Further, the output generated by this tool may
include potentially sensitive system configuration data and information
that could be used by a skilled attacker to penetrate your system. You
are solely responsible for ensuring that the output of this tool,
including any generated reports, is handled in accordance with your
company's policies.

Connecting to the target Oracle database...


SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 26 09:54:35 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Last Successful login time: Mon Jun 26 2023 09:43:40 +08:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

Setup complete.
SQL queries complete.
Warning: Exit status 256 from OS rule: dbcs_status
OS commands complete.
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
DBSAT Collector completed successfully.

Calling /u01/app/oracle/product/19.3.0/dbhome_1/bin/zip to encrypt output_ORCL.json...

Enter password: 	#设置压缩包解压密码
Verify password: 	#再次确认密码
  adding: output_ORCL.json (deflated 87%)
zip completed successfully.

4.运行报告器

./dbsat report /home/oracle/dbsat/output_ORCL
Database Security Assessment Tool version 2.2.2 (June 2021)

This tool is intended to assist you in securing your Oracle database
system. You are solely responsible for your system and the effect and
results of the execution of this tool (including, without limitation,
any damage or data loss). Further, the output generated by this tool may
include potentially sensitive system configuration data and information
that could be used by a skilled attacker to penetrate your system. You
are solely responsible for ensuring that the output of this tool,
including any generated reports, is handled in accordance with your
company's policies.

Archive:  output_ORCL.zip
[output_ORCL.zip] output_ORCL.json password: 		#输入压缩包解压密码
  inflating: output_ORCL.json        
DBSAT Reporter ran successfully.

Calling /usr/bin/zip to encrypt the generated reports...

Enter password:		#设置报告解压密码
Verify password:	#再次确认密码
	zip warning: output_ORCL_report.zip not found or empty
  adding: output_ORCL_report.txt (deflated 78%)
  adding: output_ORCL_report.html (deflated 84%)
  adding: output_ORCL_report.xlsx (deflated 3%)
  adding: output_ORCL_report.json (deflated 82%)
zip completed successfully.

注意: 在19.0.0.0及以后版本,在运行收集器时,如果使用远程登录数据库或使用服务名连接到数据库其他节点,导致报错:ORA-20002: Complete without OS Commands. When DBSAT is Executed Remotely and not from DB server (Doc ID 2736491.1)

此时需要登录数据库服务器使用VIP指定数据库节点如./dbsat collect dbsat/dbsat123@192.168.245.10:1521/orcl /home/oracle/dbsat/output_ORCL

5.分析报告

解压报告压缩包后共四种格式报告:

  • output_ORCL_report.html
  • output_ORCL_report.json
  • output_ORCL_report.txt
  • output_ORCL_report.xlsx

html格式报告展示:
在这里插入图片描述

对报告的分析请参阅:(Doc ID 2138254.1) 中的 “database-security-assessment-tool-user-guide”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/686231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

23vue3铺垫知识——ES6模块化与异步编程高级用法

文章目录 一、ES6模块化1、回顾:nodejs中如何实现模块化2、前端模块化规范的分类3、什么是ES6模块化规范4、在nodeis中体验ES6模块化5、ES6模块化的基本语法5.1 默认导出与默认导入5.2 按需导出与按需导入5.3直接导入并执行模块中的代码 二、Promise1、回调地狱1.1 如何解决回调…

iptables 限制转发

概述 可以通过设置内核参数来启动或停止内核的转发 sysctl -w net.ipv4.ip_forward1当开启了Linux内核转发 cat /proc/sys/net/ipv4/ip_forward开启内核转发后,当Linux主机收到不属于自己IP的数据包时,将会根据主机上配置的路由表进行转发&#xff0c…

kubernetes的二进制安装

二进制搭建 Kubernetes v1.20 k8s集群master01:192.168.232.37 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02:192.168.232.7 k8s集群node01:192.168.232.47 kubelet kube-proxy docker k8s集群node…

Android jar包的生成与使用

前言 Android中常见的第三方库有: *.so,*.jar,*.aar,今天给大家分享一下jar文件,在Android应用程序开发中,我们需要使用一些Java库,可能这个库是自己封装好的或者第三方的库,我们每…

收入指引令人失望,股票回购不积极,满帮(YMM)面临监管风险

来源:猛兽财经 作者:猛兽财经 收入指引令人失望 上个月末,满帮(YMM)公布了2023年第一季度的财务业绩,同时还公布了2023年第二季度的管理指引。 满帮预计其2023年第二季度的收入将在19.10亿元至20.10亿元之…

【SwinFusion:通用网络框架 :Swin Transformer】

SwinFusion: Cross-domain Long-range Learning for General Image Fusion via Swin Transformer (SwinFusion:基于Swin Transformer的跨域远程学习通用图像融合) 提出了一种基于跨域远程学习和Swin Transformer的通用图像融合框架SwinFusi…

粮油质量追溯系统源码,MES生产加工管理系统

粮油生产质量追溯系统,实现一物一码,全程追溯,正向追踪,逆向溯源。 技术架构:spring bootmybatiseasyuimysql 。 粮油生产质量追溯系统实现种植主体、种植基地、生产计划、压榨、精炼、包装、销售、物料管理、检验检测…

AI绘画:Roop插件的使用详解!

roop插件有哪些特性,如果安装,已经在上一篇讲的非常详细了。不知道你们装得怎么样了? 今天,来详细的说一说roop插件的使用。 首先呢启动我们的Stable-Diffusion-WebUI,然后确保插件已经启用! 选择好模型&a…

【Spring Boot 初识丨七 丨外部化配置(一)】属性详解

上一篇讲了 Spring Boot 的依赖注入 本篇来讲一讲Spring Boot 外部化配置 Spring Boot 初识: 【Spring Boot 初识丨一】入门实战 【Spring Boot 初识丨二】maven 【Spring Boot 初识丨三】starter 【Spring Boot 初识丨四】主应用类 【Spring Boot 初识丨五】beans …

35岁的社区网格长李宝东,半个月搭建出一套网格化安全管理系统

2020年以来,网格化治理在陕西省榆林市榆阳区驼峰路街道的各个社区广泛应用。为了给社区群众提供高效、快捷的服务,驼峰路街道按照“11N”模式给社区配备服务人员。 网格员们穿梭于各个社区中,或是对平房、小区及商户进行常规巡查&#xff0c…

如何在 Spring Boot 中使用 OAuth2

在 Spring Boot 中使用 OAuth2 OAuth2 是一种授权协议,用于授权第三方应用程序访问受保护的资源。Spring Security 是一个强大的安全框架,支持 OAuth2 协议。在本文中,我们将介绍如何在 Spring Boot 中使用 Spring Security 实现 OAuth2 认证…

数据库性能优化必读,AntDB-M数据库的哈希索引设计

数据库加快访问速度的关键技术之一就是索引,索引的设计及使用方式极大程度上影响了数据库的性能。AntDB-M支持Hash、BTree两种索引类型。本文主要讲解Hash索引的相关设计,并给出一些使用建议。 1. 相关概念 桶 用于定位索引记录的容器,容器中…

python学习——列表

一、列表介绍 可以将列表视作一个容器,里面可以存储多个元素。这些元素可以是不同的数据类型。 二、列表的操作 2.1.列表的创建 方式一:使用中括号[]进行列表的创建,元素之间使用英文的逗号隔开。例如 在上图中,lst1是列表对象名…

Ant Design Vue - table实现跨页选择

实现下图跨页选择效果 :rowSelection"{ onSelect: onSelect, onSelectAll: onSelectAll, selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"onSelectChange(selectedRowKeys, selectionRows) {console.log(select, this.selectedRowKeys, this.selecte…

ActiveMQ消息队列主从集群

文章目录 1.ActiveMQ消息队列主从集群模式1.1.主从集群架构1.2.环境规划 2.部署ActiveMQ主从高可用集群2.1.部署Zookeeper集群2.1.1.搭建Zookeeper三节点2.1.2.配置Zookeeper三节点2.1.3.配置Zookeeper各个节点的myid2.1.4.启动Zookeeper集群 2.2.部署ActiveMQ主从集群2.2.1.部…

解决90%面试问题!GitHub顶级“Java面试手册“了解下八股文天花板

前言 身为java开发工程师的你找到自己满意的工作了吗?又或者还在面试的路上经历一次又一次的失败。迟迟找不到正确的开门砖,也许你的技术能力可能并不差但就是在面试上得不到充分的证明。 而那些成功拿下自己满意的开发工作的人又是怎样做到的呢?我这一路走来也有…

2023下半年杭州/广州/深圳软考(中/高级)认证,进入备考

软考是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成…

Svg基本使用

1.说明 双闭合标签&#xff0c;默认宽度和高度300*150 svg绘制图形务必在svg标签内使用 ,可以通过样式设置宽高 svg与canvas区别就是它并不是图片 2.绘制直线 2.1代码展示 <linex1"100"y1"100"x2"500"y2"100"stroke"pink…

网络安全行业,面对供大于求的现状是怎么样的呢?

一、网络安全行业市场发展情况 网络时代生活越来越离不开网络&#xff0c;与此同时发生的网络安全攻击事件、非法入侵等等一系列事件都威胁着普通人的生活。没有网络安全保障&#xff0c;个人和企业等重要领域都暴露在风险之中。 二、网络安全行业人才发展需求 网络安全行业至…

【算法题】剪绳子、计算二进制中1的个数、数值的整数次方

剪绳子、计算二进制中1的个数、数值的整数次方 一、剪绳子1.1、题目描述1.2、思路1.3、代码实现&#xff1a;1.4、华丽的快速幂取余1.5、小结 二、数值的整数次方2.1、题目描述2.2、思路2.3、代码实现2.4、小结 三、计算二进制中1的个数3.1、题目描述3.2、思路3.3、代码实现3.4…