Oracle Database Security Assessment Tool (DBSAT) ile veritabanlarında güvenlik taraması

Oracle Database Security Assessment Tool (DBSAT) , veritabanı konfigürasyonlarını ve güvenlik politikalarını analiz ederek , güvenlik risklerini ortadan kaldırmaya ve veritabanı güvenliğinin geliştirilmesinde yardımcı olur. DBSAT aracını kullanarak , güvenlik ile ilgili önerilen işlemleri uygulayıp , uygulananları zorlayabilirsiniz.

DBSAT ile, kısa vadeli güvenlik risklerini ortadan kaldırmak ve kapsamlı bir güvenlik stratejisi uygulamak için gerekli bulguları raporlayabilirsiniz.

DBSAT Bileşenleri :

  • DBSAT Collector : Erişim sağlanan sistemden , sql cümlecikleri ve işletim sistemi komutlarının çalıştırılması suretiyle veri toplar. Toplanan veri , DBSAT Reporter tarafından analiz açamasında kullanılmak üzere bir dosyaya yazılır.
  • DBSAT Reporter : Toplanan verileri analiz eder ve bulgularını farklı formatta rapor eder. Bu formatlar pdf , excel ve text olabilir.

DBSAT aracını kullanarak :

  • Hızlıca veritabanınızdaki güvenlik konfigürasyon sorunlarını belirleyebilirsiniz.
  • Güvenlik ile ilgili önerilen en iyi çözümleri ugyulayabilirsiniz.
  • Oracle veritabanlarının güvenlik durumlarını geliştirebilirsiniz.
  • Saldırıya maruz kalma risklerini azaltabilirsiniz.

DBSAT Kullanımı :

DBSAT için gerekli dosyaları 2138254.1 numaralı dokümanda belirtilen linkten indirebilirsiniz. DBSAT , Solaris x64 ve Solaris SPARC , Linux x86-64 , Windows x64 , HP-UX IA (64-bit) , IBM AIX & zSeries Based Linux platformlarında ve Oracle Database 10.2.0.5 ve sonrası versiyonlar için kullanabilirsiniz.

DBSAT ile veritabanına bağlanacak kullanıcının aşağıdaki yetkileri olması gerekmektedir.

  • CREATE SESSION
  • SELECT on SYS.REGISTRY$HISTORY
  • Role SELECT_CATALOG_ROLE
  • Role DV_SECANALYST (Database Vault kullanılıyorsa)
  • Role AUDIT_VIEWER (Sadece 12c)
  • Role CAPTURE_ADMIN (Sadece 12c)
  • SELECT on SYS.DBA_USERS_WITH_DEFPWD (11g ve12c)
  • SELECT on AUDSYS.AUD$UNIFIED (Sadece 12c)

Raporlama için Python 2.6 veya daha yukarı bir versiyon gereklidir. Sistemdeki Python versiyonunu aşağıdaki komut ile öğrenebilirsiniz.

[root@exadb01 ~]# python -V
Python 2.6.6

Dokümandaki linkten indirilen dbsat.zip dosyasını oracle home dizinine indirip sıkıştırılmış dosyayı açmalısınız. Ortam değişkenlerini set edip dbsat aracını kullanabilirsiniz. ORACLE_HOME ve ORACLE_SID 

[oracle@exadb01 ~]$ . oraenv
ORACLE_SID = [EXADB1] ? 
The Oracle base remains unchanged with value /u01/app/oracle

DBSAT Collector , aşağıdaki şekilde çalıştırılabilir.

dbsat collect <connect_string> <destination>

destination ile tam dosya yolunu ve veritabanı için bir isim verilmelidir.

Örnek : exadb veritabanı için ,

[oracle@exab01 dbsat]$ ./dbsat collect system/welcome1 /home/oracle/dbsat/exadb

Database Security Assessment Tool version 2.0.1 (December 2017)

This tool is intended to assist in 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 11.2.0.4.0 Production on Mon Apr 2 12:12:48 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, Oracle Label Security,
OLAP, Data Mining and Real Application Testing options

Setup complete.
SQL queries complete.
/bin/cat: /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/sqlnet.ora: No such file or directory
Warning: Exit status 256 from OS rule: sqlnet.ora
/bin/ls: cannot access /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/sqlnet.ora: No such file or directory
Warning: Exit status 512 from OS rule: ls_sqlnet.ora
/bin/cat: /u01/app/oracle/product/11.2.0.4/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/11.2.0.4/dbhome_1/network/admin/listener.ora: No such file or directory
Warning: Exit status 512 from OS rule: ls_listener.ora
OS commands complete.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, Oracle Label Security,
OLAP, Data Mining and Real Application Testing options
DBSAT Collector completed successfully.

Calling /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/zip to encrypt exadb.json...

Enter password: 
Verify password: 
  adding: exadb.json (deflated 86%)
zip completed successfully.

Komut çalıştırma sırasında zip dosyası için belirlenecek şifreyi soracaktır. Komut çalıştıktan sonra belirtilen dizinde (/home/oracle/dbsat) , belirtilen isimde sıkıştırılmış bir dosya (exadb.zip) oluşacaktır. Bu dosya raporlama için kullanılacak verileri içermektedir.

DBSAT Reporter , aşağıdaki şekilde çalıştırılabilir.

dbsat report [-a] [-n] [-x <section>] <pathname>

-a ile analiz sırasında veritabanındaki tüm kullanıcıları dahil eder. Aksi takdirde şifre süresi dolmuş , hesabı kilitli vs gibi , veritabanına erişemeyen kullanıcıları dahil etmez.

-n ile oluşturulacak raporun şifreli hale getirilmemesi sağlanır.

-x ile oluşturulacak raporda bazı bölümlerin dahil edilmemesini sağlar. Bu bölümler aşağıdaki gibidir:

– USER : Kullanıcı hesapları
– PRIV : Yetkiler ve roller
– AUTH : Yetkilendirme kontrolü
– CRYPT : Veri şifreleme
– ACCESS :Fine-Grained erişim kontrolü
– AUDIT : Denetleme
– CONF : Veritabanı konfigürasyonu
– NET : Network konfigürasyonu
– OS : İşletim sistemi

Örnek kullanım : -x USER,PRIV yada —x USER —x PRIV

pathname ile collector ile belirtilen isim verilmelidir. Yukarıdaki örnekte exadb.

Örnek : exadb için ,

[oracle@exadb01 dbsat]$ ./dbsat report -a exadb

Database Security Assessment Tool version 2.0.1 (December 2017)

This tool is intended to assist in 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:  exadb.zip
[exadb.zip] exadb.json password: 
  inflating: exadb.json              
DBSAT Reporter ran successfully.

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

Enter password: 
Verify password: 
	zip warning: exadb_report.zip not found or empty
  adding: exadb_report.txt (deflated 85%)
  adding: exadb_report.html (deflated 87%)
  adding: exadb_report.xlsx (deflated 3%)
  adding: exadb_report.json (deflated 88%)
zip completed successfully.

Komut çalıştırıldığında aynı dizinde <pathname>_report.zip (exadb_report.zip) şeklinde bir dosya oluşacaktır.  Bu sıkıştırılmış dosyanın şifresi , komut çalıştırıldığında verilen şifredir. Dosya içinde html, excel ve text formatta raporlar bulunmaktadır.

Loading

Leave Your Comment