Olá amigos! O post de hoje será voltado para a instalação e criação de um report do Database Security Assessment Tool (DBSAT).
O DBSAT é um utilitário que nos traz um report de forma rápida e fácil sobre qual o estado atual da segurança dentro do Oracle Database, ele identifica onde os dados sensíveis estão localizados para revelar riscos de segurança e reduz a exposição a riscos utilizando boas práticas de segurança. O DBSAT também analisa configurações do banco de dados, usuários, seus privilégios e políticas de segurança.
No post de hoje, irei mostrar como gerar um Report para melhoria da segurança do seu ambiente. O Post de hoje não é voltado para explicar minuciosamente qual a melhor forma de interpretar o relatório, porém, o relatório é bem simples e qualquer informação adicional sobre ele pode ser encontrada no Database Security Assessment Tool User Guide.
Instalação do DBSAT
Você pode baixar o arquivo zip do dbsat através do My Oracle Support – Doc ID 2138254.1, após isso basta descompactar o arquivo dentro do seu servidor.
$ mkdir -p /home/oracle/dbsat$ cd /home/oracle/dbsat $ unzip -q dbsat.zip[oracle@ol8-grid dbsat]$ ls -ltotal 62376drwxr-xr-x 6 oracle oinstall 4096 Jul 23 04:35 dbsat-rw-r--r-- 1 oracle oinstall 63867877 Aug 24 17:43 dbsat.zip[oracle@ol8-grid dbsat]$
Coleta de dados utilizando o Collector
O comando a seguir irá coletar os dados do listener e de arquivos do sistema operacional para que futuramente estes sejam utilizados pelo Reporter para a análise do DBSAT
Primeiro de tudo, é necessário garantirmos que o usuário que executará o DBSAT possua os grants necessários para a execução
• CREATE SESSION
• READ ou SELECT em SYS.REGISTRY$HISTORY
• Role SELECT_CATALOG_ROLE
• Role DV_SECANALYST (se o Database Vault estiver habilitado ou se o Database Vault Operations Control estiver habilitado)
• Role AUDIT_VIEWER (Oracle 12c e versões posteriores)
• Role CAPTURE_ADMIN (Oracle 12c e versões posteriores)
• READ ou SELECT em SYS.DBA_USERS_WITH_DEFPWD (Oracle 11g e versões posteriores)
• READ ou SELECT em AUDSYS.AUD$UNIFIED (Oracle 12c e versões posteriores)
Neste laboratório utilizarei SYSTEM, em ambientes reais, prefira um usuário dedicado com somente os privilégios necessários
[oracle@ol8-grid dbsat]$ ./dbsat collect -n system@PDB output_PDB1Database Security Assessment Tool version 4.3 (Jul 2026)This tool is intended to assist you in securing your Oracle databasesystem. You are solely responsible for your system and the effect andresults of the execution of this tool (including, without limitation,any damage or data loss). Further, the output generated by this tool mayinclude potentially sensitive system configuration data and informationthat could be used by a skilled attacker to penetrate your system. Youare solely responsible for ensuring that the output of this tool,including any generated reports, is handled in accordance with yourcompany's policies.Connecting to the target Oracle database...SQL*Plus: Release 19.0.0.0.0 - Production on Mon Aug 24 18:09:02 2026Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Enter password:Connected to:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.3.0.0.0Setup complete.SQL queries complete.OS commands complete.Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.3.0.0.0DBSAT Collector completed successfully.[oracle@ol8-grid dbsat]$
No DBSAT 4.3, certifique-se de que
JAVA_HOMEaponta para Java 17 ou superior
Estou utilizando
-napenas por se tratar de laboratório; essa opção desabilita a criptografia dos arquivos gerados e não é recomendada em produção.
Após isso já será possível visualizar o json do DBSAT (output_PDB1.json) no diretório local.
[oracle@ol8-grid dbsat]$ ls -ltratotal 300-r-xr-xr-x 1 oracle oinstall 28399 Jul 23 00:53 dbsat.bat-r-xr-xr-x 1 oracle oinstall 26481 Jul 23 00:53 dbsatdrwxr-xr-x 2 oracle oinstall 4096 Jul 23 04:27 Utilsdrwxr-xr-x 4 oracle oinstall 4096 Jul 23 04:27 ThirdPartyToolsdrwxr-xr-x 2 oracle oinstall 4096 Jul 23 04:27 SecurityAssessmentdrwxr-xr-x 5 oracle oinstall 4096 Jul 23 04:27 Discover-rw-r--r-- 1 oracle oinstall 5685 Jul 23 04:32 README_4_3.txtdrwxr-xr-x 3 oracle oinstall 4096 Aug 24 17:45 ..-rw------- 1 oracle oinstall 215589 Aug 24 18:09 output_PDB1.jsondrwxr-xr-x 6 oracle oinstall 4096 Aug 24 18:09 .[oracle@ol8-grid dbsat]$
Gerar o Relatório de Avaliação de Segurança do Banco de Dados Através do Reporter
Nessa etapa, irei finalmente gerar o relatório Database Security Assessment para obter recomendações sobre como melhorar a segurança do meu banco de dados. Para isso, será necessária a leitura do json gerado na última etapa através do comando abaixo
[oracle@ol8-grid dbsat]$ ./dbsat report -n output_PDB1Database Security Assessment Tool version 4.3 (Jul 2026)This tool is intended to assist you in securing your Oracle databasesystem. You are solely responsible for your system and the effect andresults of the execution of this tool (including, without limitation,any damage or data loss). Further, the output generated by this tool mayinclude potentially sensitive system configuration data and informationthat could be used by a skilled attacker to penetrate your system. Youare solely responsible for ensuring that the output of this tool,including any generated reports, is handled in accordance with yourcompany's policies.DBSAT Reporter ran successfully.[oracle@ol8-grid dbsat]$
- -n: Especifica que não haverá criptografia para a saída. Por razões de segurança, isso não é recomendado.
- -g: Exibe todos os grants, incluindo grants comuns em um Pluggable Database (PDB).
- -x: Exclui uma seção do relatório. As seções válidas são:
USER: User Accounts — Contas de Usuário
PRIV: Privileges and Roles — Privilégios e Roles
AUTH: Authorization Control — Controle de Autorização
CRYPT: Encryption — Criptografia
ACCESS: Fine-Grained Access Control — Controle de Acesso Granular
AUDIT: Auditing — Auditoria
CONF: Database Configuration — Configuração do Banco de Dados
NET: Network Configuration — Configuração de Rede
OS: Operating System — Sistema Operacional
Após isso, já será gerado o relatório em vários modelos de arquivos diferentes
[oracle@ol8-grid dbsat]$ ls -ltra | grep output-rw------- 1 oracle oinstall 215589 Aug 24 18:09 output_PDB1.json-rw------- 1 oracle oinstall 227734 Aug 24 18:24 output_PDB1_report.json-rw------- 1 oracle oinstall 157688 Aug 24 18:24 output_PDB1_report.txt-rw------- 1 oracle oinstall 307662 Aug 24 18:24 output_PDB1_report.html-rw------- 1 oracle oinstall 41064 Aug 24 18:24 output_PDB1_report.xlsx[oracle@ol8-grid dbsat]$
No relatório veremos algumas categorias de risco para cada tema do relatório. High Risk, Medium Risk e Low Risk. Com base nisso podemos tomar a decisão de prioridade.
O relatório possui algumas sessões de informações básicas, onde terão informações relacionadas aos últimos patches instalados e features de segurança que estão sendo utilizadas. Informações de auditoria, sistema operacional, controle de usuários, controle de senhas entre outras coisas que apesar de não serem o foco desse artigo, podem ser consultadas com mais detalhes no Database Security Assessment Tool User Guide.

Um dos findings do meu laboratório por exemplo foi a utilização de uma senha default para o usuário HR. É interessante visualizar que o próprio report já explica o motivo de considerar essa finding como alto risco, inclusive indicando as referências utilizadas para a análise.

Conclusão
É importante lembrar que os arquivos de saída do DBSAT são sensíveis e podem revelar vulnerabilidades de segurança do seu banco de dados Oracle. Portanto, ao término da análise do relatório é imprescindível a exclusão dos arquivos do report de forma segura após implementarmos as recomendações presentes nele para evitar acesso não autorizado a esses arquivos. Caso tenha sido concedido algum grant adicional ao usuário executor do DBSAT, o privilégio precisará ser revogado ao término da análise.