Preocupação constante para quem trabalha com TI, a segurança de dados é essencial para proteger informações confidencias, evitando acessos não autorizados, fraudes, violações de dados e outros crimes virtuais.
Em banco de dados não poderia ser diferente e para ajudar nessa questão a Oracle disponibiliza o DBSAT (Database Security Assessment Tool), uma ferramenta projetada para ajudar na identificação de riscos de segurança em banco de dados Oracle e sugerir medidas de correção.
O DBSAT é uma ferramenta disponibilizada pela Oracle para realização de auditoria de segurança, que analisa usuários, privilégios, auditorias, configurações de rede, além de outras vulnerabilidades de segurança em banco de dados.
Principais benefícios do DBSAT:
- Avaliar rápida e facilmente o status atual de segurança e identificar dados sensíveis dentro do Oracle Database.
- Reduzir a exposição a riscos utilizando as melhores práticas de segurança do Oracle Database, as recomendações do CIS Benchmark e as regras dos Security Technical Implementation Guides (STIG).
- Aproveitar os achados de segurança para acelerar a conformidade com o GDPR da UE e outras regulamentações.
- Melhorar a segurança do seu Oracle Database e promover as melhores práticas de segurança.
A versão 3.1 de Julho de 2024 é a versão mais recente disponível, trazendo melhorias na análise de riscos e recomendações baseadas nas melhores praticas de mercado relacionadas a segurança. Ele gera relatórios detalhados em diferentes formatos (JSON, HTML, Excel e texto).
Sistemas operacionais suportados:
- Linux x86-64 and Linux 64-bit Arm
- Windows x64
- Solaris x64 and Solaris SPARC64
- IBM AIX (64-bit) and Linux on zSeries (64-bit)
- HP-UX IA (64-bit)
Versões de banco de dados suportadas:
- Oracle Database 11.2.0.4 ou superior (incluindo ambientes on premisse e cloud)
- Standard ou Enterprise Edition
Collector: Coleta dados do banco de dados e do sistema operacional por meio de consultas SQL e comandos. Os dados são armazenados em um arquivo JSON para análise posterior. Para obter informações completas, é recomendado executá-lo no servidor do banco de dados.
Reporter: Analisa os dados coletados e gera relatórios de avaliação de segurança em diversos formatos (HTML, Excel, JSON, Texto). Pode ser executado em qualquer máquina, não precisando estar no servidor do banco de dados.
Discoverer: Identifica e coleta metadados do banco de dados para avaliar dados sensíveis, gerando relatórios em HTML e CSV. Assim como o Reporter, pode ser executado em qualquer máquina.
Para download do DBSAT, basta acessar o Doc Oracle Database Security Assessment Tool (DBSAT) (Doc ID 2138254.1).
Feito o download, será criado o diretório no qual a estrutura do DBSAT será descompactada.
[oracle@lamimdb tmp]$ mkdir –p /home/oracle/dbsat [oracle@lamimdb tmp]$ [oracle@lamimdb tmp]$ unzip dbsat.zip -d /home/oracle/dbsat/ Archive: dbsat.zip inflating: /home/oracle/dbsat/dbsat inflating: /home/oracle/dbsat/dbsat.bat inflating: /home/oracle/dbsat/sat_collector.sql inflating: /home/oracle/dbsat/sa.jar inflating: /home/oracle/dbsat/jython-standalone-2.7.3.jar inflating: /home/oracle/dbsat/xlsxwriter/app.py inflating: /home/oracle/dbsat/xlsxwriter/chart_area.py inflating: /home/oracle/dbsat/xlsxwriter/chart_bar.py inflating: /home/oracle/dbsat/xlsxwriter/chart_column.py inflating: /home/oracle/dbsat/xlsxwriter/chart_doughnut.py inflating: /home/oracle/dbsat/xlsxwriter/chart_line.py inflating: /home/oracle/dbsat/xlsxwriter/chart_pie.py inflating: /home/oracle/dbsat/xlsxwriter/chart.py inflating: /home/oracle/dbsat/xlsxwriter/chart_radar.py inflating: /home/oracle/dbsat/xlsxwriter/chart_scatter.py inflating: /home/oracle/dbsat/xlsxwriter/chartsheet.py inflating: /home/oracle/dbsat/xlsxwriter/chart_stock.py inflating: /home/oracle/dbsat/xlsxwriter/comments.py inflating: /home/oracle/dbsat/xlsxwriter/compatibility.py inflating: /home/oracle/dbsat/xlsxwriter/contenttypes.py inflating: /home/oracle/dbsat/xlsxwriter/core.py inflating: /home/oracle/dbsat/xlsxwriter/custom.py inflating: /home/oracle/dbsat/xlsxwriter/drawing.py inflating: /home/oracle/dbsat/xlsxwriter/exceptions.py inflating: /home/oracle/dbsat/xlsxwriter/format.py inflating: /home/oracle/dbsat/xlsxwriter/__init__.py inflating: /home/oracle/dbsat/xlsxwriter/metadata.py inflating: /home/oracle/dbsat/xlsxwriter/packager.py inflating: /home/oracle/dbsat/xlsxwriter/relationships.py inflating: /home/oracle/dbsat/xlsxwriter/shape.py inflating: /home/oracle/dbsat/xlsxwriter/sharedstrings.py inflating: /home/oracle/dbsat/xlsxwriter/styles.py inflating: /home/oracle/dbsat/xlsxwriter/table.py inflating: /home/oracle/dbsat/xlsxwriter/theme.py inflating: /home/oracle/dbsat/xlsxwriter/utility.py inflating: /home/oracle/dbsat/xlsxwriter/vml.py inflating: /home/oracle/dbsat/xlsxwriter/workbook.py inflating: /home/oracle/dbsat/xlsxwriter/worksheet.py inflating: /home/oracle/dbsat/xlsxwriter/xmlwriter.py inflating: /home/oracle/dbsat/xlsxwriter/LICENSE.txt inflating: /home/oracle/dbsat/Discover/bin/discoverer.jar inflating: /home/oracle/dbsat/Discover/lib/ojdbc8.jar inflating: /home/oracle/dbsat/Discover/lib/oraclepki.jar inflating: /home/oracle/dbsat/Discover/lib/osdt_cert.jar inflating: /home/oracle/dbsat/Discover/lib/osdt_core.jar inflating: /home/oracle/dbsat/Discover/conf/sample_dbsat.config inflating: /home/oracle/dbsat/Discover/conf/sensitive_en.ini inflating: /home/oracle/dbsat/Discover/conf/sensitive_es.ini inflating: /home/oracle/dbsat/Discover/conf/sensitive_de.ini inflating: /home/oracle/dbsat/Discover/conf/sensitive_pt.ini inflating: /home/oracle/dbsat/Discover/conf/sensitive_it.ini inflating: /home/oracle/dbsat/Discover/conf/sensitive_fr.ini inflating: /home/oracle/dbsat/Discover/conf/sensitive_nl.ini inflating: /home/oracle/dbsat/Discover/conf/sensitive_el.ini [oracle@lamimdb tmp]$
Antes de rodar o processo de coleta, será necessário criar um usuário de conexão ao banco de dados que será analisado. O script abaixo contem a criação do usuário e as permissões mínimos para execução e deve ser executado a nível de PDB e CDB.
create user dbsat_user identified by dbsat_user; --If Database Vault is enabled, connect as DV_ACCTMGR to run this command grant create session to dbsat_user; grant select_catalog_role to dbsat_user; grant select on sys.registry$history to dbsat_user; grant read on sys.dba_audit_mgmt_config_params to dbsat_user; grant select on sys.dba_users_with_defpwd to dbsat_user; grant read on sys.dba_credentials to dbsat_user; grant execute on sys.dbms_sql to dbsat_user; grant audit_viewer to dbsat_user; // 12c and later grant capture_admin to dbsat_user;// 12c and later covers sys.dba_priv_captures, sys.priv_capture$, sys.capture_run_log$ --If Database Vault is enabled, connect as DV_OWNER to run this command grant DV_SECANALYST to dbsat_user;
Criado o usuário é possível executar a coleta usando a sintaxe - dbsat collect <database_connect_string> <output_file>
O comando dbsat collect possui as seguintes opções e argumentos:
database_connect_string: Especifica a string de conexão para conectar ao banco de dados.
output_file: Especifica o local e o nome do arquivo para o relatório de Avaliação de Segurança do Banco de Dados. Não deve ser adicionada uma extensão ao arquivo..
[oracle@lamimdb dbsat]$ ./dbsat collect dbsat_user@LAMIMPDB output_LAMIMPDB Database Security Assessment Tool version 3.1 (July 2024) 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 Tue Feb 4 14:22:53 2025 Version 19.25.0.0.0 Copyright (c) 1982, 2024, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production Version 19.25.0.0.0 Setup complete. SQL queries complete. /bin/cat: /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/listener.ora: No such file or directory Warning: Exit status 256 from OS rule: listener.ora /bin/ls: cannot access '/u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/listener.ora': No such file or directory Warning: Exit status 512 from OS rule: ls_listener.ora /bin/cat: /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/cman.ora: No such file or directory Warning: Exit status 256 from OS rule: cman.ora /bin/cat: /u01/app/oracle/product/19.0.0.0/dbhome_1/ldap/admin/fips.ora: No such file or directory Warning: Exit status 256 from OS rule: fips1.ora /bin/cat: /fips.ora: No such file or directory Warning: Exit status 256 from OS rule: fips2.ora /bin/ls: cannot access '/diag': No such file or directory Warning: Exit status 512 from OS rule: diag_dest_base /bin/ls: cannot access '/u01/app/oracle/product/19.0.0.0/dbhome_1/rdbms/log/diag': No such file or directory Warning: Exit status 512 from OS rule: diag_dest_home OS commands complete. Disconnected from Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production Version 19.25.0.0.0 DBSAT Collector completed successfully. Calling /u01/app/oracle/product/19.0.0.0/dbhome_1/bin/zip to encrypt output_LAMIMPDB.json... Enter password: Verify password: adding: output_LAMIMPDB.json (deflated 78%) zip completed successfully. [oracle@lamimdb dbsat]$
Gerada a coleta, o próximo passo é gerar o report. Para isso é necessário primeiramente exportar a variável JAVA_HOME, para então executar o comando ./dbsat report output_LAMIMPDB.
[oracle@lamimdb dbsat]$ export JAVA_HOME=/usr/lib/jvm/jdk-11.0.24-oracle-x64 [oracle@lamimdb dbsat]$ ./dbsat report output_LAMIMPDB Database Security Assessment Tool version 3.1 (July 2024) 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_LAMIMPDB.zip [output_LAMIMPDB.zip] output_LAMIMPDB.json password: inflating: output_LAMIMPDB.json DBSAT Reporter ran successfully. Calling /usr/bin/zip to encrypt the generated reports... Enter password: Verify password: zip warning: output_LAMIMPDB_report.zip not found or empty adding: output_LAMIMPDB_report.txt (deflated 75%) adding: output_LAMIMPDB_report.html (deflated 83%) adding: output_LAMIMPDB_report.xlsx (deflated 2%) adding: output_LAMIMPDB_report.json (deflated 80%) zip completed successfully. [oracle@lamimdb dbsat]$
O arquivo gerado como output_LAMIMPDB_report.zip vai conter o relatório do DBSAT. Basta copiar ele, descompactar e abrir o arquivo. Para extrair o arquivo, será solicitada a senha que foi inserida para a geração do mesmo.
https://go.oracle.com/LP=38341
https://docs.oracle.com/en/database/oracle/security-assessment-tool/3.1.0/satug/#GUID-DAD69B82-0287-4CD3-AEE7-DA414F8C0AC9
Comentários
Postar um comentário