Sepetiniz

utl_http isteği gönderimindeki ORA-29024: Certificate validation failure hatası

Oracle veritabanlarından https protokolünden dışardaki bir sunucuya utl_http ile istek gönderildiğinde, güvenli sertifikalarda root ve intermediate sertifikası bulunmuyorsa “ORA-29024: Certificate validation failure” şeklinde hata almaktadır. Hatanın alınmaması için wallet içindeki mevcut sertifikalar silinip, sadece root ve intermediate sertifikası güvenilir sertifikalara eklenmelidir.

Aşağıdaki gibi https üzerinden istek gönderildiğinde sertifika sorununa bağlı olarak ilgili hata alınmaktadır.

SQL> select utl_http.request ('https://www.interiva.com.tr/WebService/Service.asmx',NULL,'file:/u01/app/oracle/admin/ORCL/wallet','1234567') from dual;

ERROR at line 1:
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1720
ORA-29024: Certificate validation failure
ORA-06512: at line 1

orapki ile mevcut güvenilir sertifikaları görüntülediğimizde ;

-bash-4.3$ orapki wallet display -wallet /u01/app/oracle/admin/ORCL/wallet -pwd 1234567
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Requested Certificates: 
User Certificates:
Trusted Certificates: 
Subject:        CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
Subject:        CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
Subject:        CN=*.interiva.com.tr,O=INTERIVA,L=ÇANKAYA,ST=ANKARA,C=TR
Subject:        CN=GlobalSign RSA OV SSL CA 2018,O=GlobalSign nv-sa,C=BE

Yukarıdaki örnekte , son kullanıcı sertifikası ile root ve intermediate sertifikaları birleştirilip , oluşan sertifika güvenilir olarak eklenmiştir. Olması gereken sadece root ve intermediate sertifikası kalmasıdır.

Mevcut serfikaları aşağıdaki gibi çıkarabiliriz.

-bash-4.3$ orapki wallet remove -wallet /u01/app/oracle/admin/ORCL/wallet  -trusted_cert_all -pwd 1234567
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Sonrasında sadece root ve intermediate sertifikası eklenmelidir.

-bash-4.3$ orapki wallet add -wallet /u01/app/oracle/admin/ORCL/wallet -trusted_cert -cert "/u01/app/oracle/admin/ORCL/wallet/GlobalSignChain.crt" -pwd 1234567
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Nihayi durumu görüntülediğimizde aşağıdaki gibi bir çıktı oluşmalıdır.

-bash-4.3$ orapki wallet display -wallet /u01/app/oracle/admin/ORCL/wallet -pwd 1234567
Oracle PKI Tool : Version 11.2.0.4.0 - Production
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.

Requested Certificates: 
User Certificates:
Trusted Certificates: 
Subject:        CN=GlobalSign RSA OV SSL CA 2018,O=GlobalSign nv-sa,C=BE

 

Tekrar https isteği gönderildiğinde hata alınmayacaktır.

 

root.sh CLSRSC-188: Failed to create keys in Oracle Local Registry hatası

Grid Infrastructure kurulumu sonrasında root.sh çalıştırıldığında eğer sunucunun host adı bir sayı ile başlıyorsa yani 123sunucu gibi bir host adı varsa root.sh çalıştırıldığında “Failed to create keys in the OLR” , “CLSRSC-188: Failed to create keys in Oracle Local Registry” gibi hata ile sonuçlanmaktadır. Sorunun çözümü için host adının başına bir harf eklemek gerekecek.

Alınana hata aşağıdaki gibi olacaktır. Örnekteki sunucu adı 12cr2db şeklinde olup sunucu adı bir (1) ile başlamaktadır.

[root@12cr2db lib64]# /u01/app/12.2.0.1/grid/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/12.2.0.1/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/12.2.0.1/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/12cr2db/crsconfig/roothas_2022-11-25_01-08-29AM.log
2022/11/25 01:08:29 CLSRSC-363: User ignored prerequisites during installation
Site name (12cr2db) is invalid.clscfg -localadd -z <site guid> [-avlookup]
                 -p property1:value1,property2:value2...

  -avlookup       - Specify if the operation is during clusterware upgrade
  -z <site guid>  - Specify the site GUID for this node
  -p propertylist - list of cluster properties and its value pairs

 Adds keys in OLR for the HASD.
WARNING: Using this tool may corrupt your cluster configuration. Do not
         use unless you positively know what you are doing.

Failed to create keys in the OLR, rc = 100, Message:
   

2022/11/25 01:08:32 CLSRSC-188: Failed to create keys in Oracle Local Registry
Died at /u01/app/12.2.0.1/grid/crs/install/oraolr.pm line 552.
The command '/u01/app/12.2.0.1/grid/perl/bin/perl -I/u01/app/12.2.0.1/grid/perl/lib -I/u01/app/12.2.0.1/grid/crs/install /u01/app/12.2.0.1/grid/crs/install/roothas.pl ' execution failed

 

Host adını örneğin a12crdb şekline dönüştürdüğümüzde root.sh sorunsuz şekilde çalışacaktır.

Host adını aşağıdaki gibi değiştirebilirsiniz .

[root@12cr2db ]# echo a12crdb > /etc/hostname 
[root@12cr2db ]# 
[root@12cr2db ]# 
[root@12cr2db ]# cat /etc/hostname
a12crdb
[root@12cr2db ]# systemctl restart systemd-hostnamed
[root@12cr2db ]# hostname
a12crdb

 

Host adı değişimi sonrasında root.sh sorunsuz şekilde çalışacaktır.

 

[root@a12cr2db ~]# /u01/app/12.2.0.1/grid/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/12.2.0.1/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/12.2.0.1/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/a12crdb/crsconfig/roothas_2022-11-25_01-09-34AM.log
2022/11/25 01:09:41 CLSRSC-363: User ignored prerequisites during installation
LOCAL ADD MODE 
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
PROT-53: The file name [/u01/app/12.2.0.1/grid/cdata/localhost/local.ocr] specified for the 'ocrconfig -repair', 'ocrconfig -add' or 'ocrconfig -replace' command designates an invalid storage type for the Oracle Cluster Registry.
2022/11/25 01:09:45 CLSRSC-155: Replace of older local-only OCR failed
LOCAL ONLY MODE 
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node a12crdb successfully pinned.
2022/11/25 01:09:47 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'a12crdb'
CRS-2673: Attempting to stop 'ora.evmd' on 'a12crdb'
CRS-2677: Stop of 'ora.evmd' on 'a12crdb' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'a12crdb' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.

a12crdb     2022/11/25 01:10:42     /u01/app/12.2.0.1/grid/cdata/a12crdb/backup_20221125_011042.olr     0     
2022/11/25 01:10:43 CLSRSC-327: Successfully configured Oracle Restart for a standalone server

 

Create any procedure ve execute any procedure ayrıcalığı olan kullanıcılar kendilerine dba rolü atayabilmektedir

12c öncesindeki Oracle veritabalarında create any procedure ve execute any procedure ayrıcalığı olan kullanıcıların kendilerine dba rolü atayabilmektedir. 12c ile birlikte bu açık ortadan kalkmıştır. 

Create any procedure ve execute any procedure ayrıcalığı olan bir kullanıcı aşağıdaki adımları takip ederek kendisine DBA rolü atayabilir. Bu yüzden normal bir kullanıcıya create any procedure ve execute any procedure ayrıcalığı verilmemelidir. 

Öncelikle test isimli sadece veritabanına bağlanabilen bir kullanıcı oluşturalım. Sonrasında ilgili kullanıcının nasıl dba rolüne sahip olacağının adımları belirtilmiştir.

 

SQL> create user test identified by test;

User created.

SQL> grant create session to test;

Grant succeeded.

SQL> grant create any procedure to test;

Grant succeeded.

SQL> grant execute any procedure to test;

Grant succeeded.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
You have new mail in /var/mail/oracle
oracle@sc01dbadm01:~$ sqlplus test/test  

SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 23 16:07:33 2022

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


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

SQL> select * from session_roles;

no rows selected

SQL> create or replace procedure system.grant_dba_to_test is
  2  begin
  3  execute immediate 'grant dba to test';
  4  end;
  5  /

Procedure created.

SQL> exec system.grant_dba_to_test;

PL/SQL procedure successfully completed.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
oracle@sc01dbadm01:~$ sqlplus test/test

SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 23 16:09:00 2022

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


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

SQL> select * from session_roles;

ROLE
------------------------------
DBA
SELECT_CATALOG_ROLE
HS_ADMIN_SELECT_ROLE
HS_ADMIN_ROLE
HS_ADMIN_EXECUTE_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE
EXP_FULL_DATABASE
IMP_FULL_DATABASE
DATAPUMP_EXP_FULL_DATABASE
DATAPUMP_IMP_FULL_DATABASE

ROLE
------------------------------
GATHER_SYSTEM_STATISTICS
SCHEDULER_ADMIN
WM_ADMIN_ROLE
XDBADMIN
XDB_SET_INVOKER
OLAP_DBA
JAVA_ADMIN
JAVA_DEPLOY
OLAP_XS_ADMIN

20 rows selected.

SQL> 

 

Oracle veritabanlarının upgrade zamanlarının tespiti

Oracle veritabanlarının hangi tarihlerde upgrade edildiğinin bilgisine dba_registry_history den ulaşılabilir. Bu tablo, veritabanında gerçekleştirilen yükseltmeler, düşürmeler ve kritik yama güncellemeleri hakkında bilgi sağlar.

Aşağıdaki gibi bir sorgu ile veritabanımız en hangi tarihlerde hangi sürümden hangi sürüme geçmiş bilgisine ulaşabiliriz.

SQL> set pages 100 
set lines 200
col TIME format a20 
col ACTION format a20 
col VERSION format a20 
col COMMENTS format a50
select to_char(ACTION_TIME,'DD-MM-YYYY') TIME,ACTION,VERSION,COMMENTS from dba_registry_history where action='UPGRADE';

TIME		     ACTION		  VERSION	       COMMENTS
-------------------- -------------------- -------------------- --------------------------------------------------
13-10-2022	     UPGRADE		  12.2.0.1.0	       Upgraded from 11.2.0.4.0

SQL> 

 

 

 

Microsoft SQL Sunucularını Hedefleyen FARGO Fidye Yazılımı

AhnLab’ın ASEC analiz ekibi, FARGO (Mallox, TargetCompany olarak da bilinir) fidye yazılımını kullanan siber suçluların Microsoft SQL (MS SQL) sunucularını hedef aldığı konusunda uyardı.

Saldırganların hedeflenen sunuculara nasıl eriştiğini tam olarak belirlemediler, ancak veritabanı sunucularını hedef alan tipik saldırıların kaba kuvvet ve mevcut, zayıf güvenlikli hesapların şifrelerini ele geçirmeyi amaçlayan sözlük saldırılarını içerdiğini belirttiler.

“Ayrıca, güvenlik açığı yaması uygulanmayan sistemlerde güvenlik açığı saldırıları olabilir” diye eklediler.

Veritabanı sunucuları normal hedeflerdir. MS SQL sunucuları genellikle çeşitli amaçları göz önünde bulunduran saldırganlar tarafından hedeflenir ve tehlikeye atılır. Amaç onları bir kripto madenciliği botnetinin parçası yapmak, az çok kötü amaçlarla kullanılabilecek proxy sunucularına dönüştürmektir.

Saldırı nasıl ortaya çıkıyor ?

MS SQL sunucusunun güvenliği ihlal edildikten sonra, saldırganlar komut İstemi (cmd.exe) ve powershell (powershell.exe) aracılığıyla bir .NET dosyası indirmesini sağlar ve bu da ilave kötü amaçlı yazılımları indirir ve yükler.

Ayrıca yüklenen kötü amaçlı yazılım, %temp% dizininde belirli süreçleri ve hizmetleri kapatan bir BAT dosyası oluşturur ve yürütür.

Fidye yazılımının davranışı, normal bir Windows programı olan AppLaunch.exe’ye enjekte edilerek başlar. Belirli bir yoldaki bir kayıt defteri anahtarını silmeye çalışır ve kurtarma devre dışı bırakma komutunu yürütür ve belirli işlemleri kapatır.

Fidye yazılımı, kendi faaliyetleriyle (.FARGO, .FARGO2, vb.) ve savunmasız MS SQL sunucularını hedef alan başka bir fidye yazılımı tehdidi olan GlobeImposter’ın uzantılarıyla ilişkili dosyalar da dahil olmak üzere bazı dosyaları şifreler ve diğerlerinden kaçınır.

Son olarak, aşağıdaki fidye notunu gösterir:

 

 

Saldırının önlemesi :

Mallox/TargetCompany fidye yazılımının önceki sürümlerinin bazıları tarafından şifrelenen dosyaların şifresi çözülebilirken, şu anda FARGO şifreli dosyalar için ücretsiz bir şifre çözücü bulunmamaktadır.

Bu ve güvenliği ihlal edilmiş MS SQL sunucuları aracılığıyla gelen diğer tehditlerin kurbanı olmayı önlemek için, yöneticilerin kurulumlarını düzenli olarak düzeltmeleri ve hesaplarını korumak için karmaşık, benzersiz parolalar kullanmaları önerilir.

Fargo Fidye Yazılımı Hakkında :

FARGO, TargetCompany fidye yazılımının yeni bir çeşididir. Eskiden .mallox dosya uzantısı kullandığından, geçmişte Mallox olarak da biliniyordu. Haziran 2021’in ortalarında, bu kripto fidye yazılımı çalışmaya başladı. Küresel olarak yayılabilir ve İngilizce konuşan insanlara yöneliktir.

Fidye yazılımı, ChaCha20, AES-128 ve Curve25519 algoritmalarının bir kombinasyonunu kullanarak kurbanın bilgisayarında bulunan verileri şifreler. Ardından, verilerin şifresini çözmek için Bitcoin ile ödeme talep eden aşağıdaki gibi bir mesaj görüntüler.

 

FARGO fidye yazılımı, .doc, .docx, .xls ve .pdf gibi kritik üretkenlik dosyalarına ek olarak, bilgisayarınızda resimler, filmler ve diğer medyaları arayacaktır. Dosyaları açmanızı engellemek için fidye yazılımı onları şifreler ve uzantılarını .FARGO’yu içerecek şekilde değiştirir.