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.