Blog
Oracle Database Security Assessment Tool (DBSAT)
O Oracle Database Security Assessment Tool (DBSAT), atualmente na versão 2.2 (Setembro de 2019), é uma ferramenta de linha de comando focada na detecção de potenciais vulnerabilidades de segurança. Sua maior abrangência ocorre dentro do banco de dados mas também inspeciona componentes do sistema operacional e rede (listener) em busca de falhas.
A ferramenta fornece uma visão sobre o atual status de usuários, roles, permissões e políticas de controle de segurança com o objetivo de promover abordagens bem-sucedidas para mitigar potenciais riscos de segurança.
-
Identificação rápida dos erros de configuração de segurança do banco de dados;
-
Recomendações embasadas nas melhores práticas de segurança;
-
Redução da amplitude de um ataque e exposição ao risco.
-
Solaris x64 and Solaris SPARC64
-
Linux x86-64
-
Windows x64
-
HP-UX IA (64-bit)
-
IBM AIX (64-bit) & Linux on zSeries (64-bit)
Requisitos:
-
ZIP e Unzip para instalação e manipulação dos arquivos gerados;
-
Usuário contendo as permissões necessárias no banco de dados para a coleta de dados através do componente Collector (conforme o Security Assessment Tool User Guide);
-
Python 2.6 ou superior para a geração dos relatórios através do componente Reporter;
-
Java Runtime Environment (JRE) 1.8 (jdk8-u172) ou superior para execução do componente Discoverer
Instalação:
- Conectar no servidor de banco de dados
- Criar um diretório para o dbsat
mkdir –p /home/oracle/dbsat
- Realizar o download ou a cópia do dbsat.zip para o servidor e descompactar o mesmo.
unzip dbsat.zip –d /home/oracle/dbsat
Execução do Collector:
$ dbsat collect
destination: Nome do arquivo de coleta que será gerado (.json)
Connecting to the target Oracle database... SQL*Plus: Release 18.0.0.0.0 - Production on Wed Feb 27 04:49:24 2019 Version 18.3.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Enter password: Last Successful login time: Tue Feb 26 2019 17:19:06 -05:00 Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0 Setup complete. SQL queries complete. OS commands complete. Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0 DBSAT Collector completed successfully. Calling /u01/app/oracle/product/version/db_1/bin/zip to encrypt db04.json... Enter password: Verify password: adding: db04.json (deflated 88%) zip completed successfully. $
Por padrão o arquivo será gerado e compactado com senha, porem podemos omitir a necessidade de informar uma senha adicionando o parâmetro -n na chamada do dbsat collect, contudo pensando na segurança da informação isto não é recomendado.
Exemplo:
Importante: Em um ambiente mutitenant rodando o DBSAT collector conectado no container root (CDB$ROOT) significa que as verificações serão realizadas unicamente no container root e não nos pluggable databases. Para verificar os PDBs é preciso rodar o DBSAT collector conectando em cada um dos PDBs separadamente (exemplo: system/senha@pdb1 – system/senha@pdb2).
[oracle@db04 sat]$ python -V Python 2.7.11rc1
Caso seja retornado alguma mensagem de comando não encontrado, proceda primeiramente com a instalação do Phyton.
-
USER : User Accounts
-
PRIV : Privileges and Roles
-
AUTH : Authorization Control
-
CRYPT : Data Encryption
-
ACCESS : Fine-Grained Access Control
-
AUDIT : Auditing
-
CONF : Database Configuration
-
NET : Network Configuration
-
OS : Operating System
Para incluir múltiplas sessões basta separá-las por vírgula ou incluir várias vezes o parâmetro –x sessão:
$ ./dbsat report db04 .. .. .. Archive: db04.zip [db04.zip] db04.json password: inflating: db04.json DBSAT Reporter ran successfully. Calling /usr/bin/zip to encrypt the generated reports... Enter password: Verify password: zip warning: db04_report.zip not found or empty adding: db04_report.txt (deflated 82%) adding: db04_report.html (deflated 86%) adding: db04_report.xlsx (deflated 3%) adding: db04_report.json (deflated 85%) zip completed successfully.
Ao final da execução é gerado um arquivo .zip protegido por senha pois não foi especificado o parâmetro –n, agora quando for necessário acessar os relatórios basta descompactar o arquivo passando a senha informada durante o DBSAT Report.
Exemplo de um sumário DBSAT em HTML:
As descobertas são similares ao exemplo a seguir e são compostas pelos seguintes componentes:
① Título e ID único da regra: