پیکربندی TDE در اوراکل 19c و 18c

نحوه پیکربندی TDE در اوراکل نسخه 11g و 12c را قبلا مورد بررسی قرار دادیم و در این متن قصد داریم به پیکربندی TDE در اوراکل 18c و 19c بپردازیم.

کانفیگ TDE در اوراکل نسخه 19c، تفاوت زیادی با نسخه 12c ندارد و مشابه نسخه های قبلی، مسیر فایل (wallet(keystore را می توان با کمک پارامترENCRYPTION_WALLET_LOCATION  در فایل sqlnet.ora تنظیم کرد.

البته در کنار این پارامتر، اوراکل از نسخه 18c، دو پارامتر با نامهای tde_configuration و wallet_root را هم اضافه کرده و توصیه می کند که به جای استفاده از پارامتر SQLNET.ENCRYPTION_WALLET_LOCATION، از این دو پارامتر استفاده شود و اصطلاحا SQLNET.ENCRYPTION_WALLET_LOCATION را deprecate کرده است.

پارامتر wallet_root، مسیری که قرار است keystore در آن ایجاد شود را مشخص می کند.

SQL> alter system set wallet_root=’/19c/home/wallet’ scope=spfile;

System altered.

و بعد از تنظیم این پارامتر باید دیتابیس را restart کرد:

SQL> startup force;

پارامتر tde_configuration هم نوع keystore را مشخص خواهد کرد.

SQL> alter system set tde_configuration=”KEYSTORE_CONFIGURATION=FILE”  SCOPE=BOTH;

System altered.

SQL> startup force;

توجه: keystore می تواند از نوع file و یا HSM باشد.

 

ایجاد keystore و تنظیم master key

1.برای ایجاد فایل keystore در مسیر تنظیم شده، می توان دستور زیر را اجرا کرد:

SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE IDENTIFIED BY p;

keystore altered.

با اجرای این دستور، دایرکتوری tde در مسیر wallet_root ایجاد خواهد شد و در زیر این دایرکتوری tde، فایل keystore ایجاد می شود:

[oracle@oLinux7 ~]$ cd /19c/home/wallet/

[oracle@oLinux7 wallet]$ ls -l

drwxr-x— 2 oracle oinstall 25 Jan 11 03:16 tde

[oracle@oLinux7 wallet]$ cd tde

[oracle@oLinux7 tde]$ ls -l

-rw——- 1 oracle oinstall 2555 Jan 11 03:16 ewallet.p12

2.دستور زیر keystore را در وضعیت open قرار خواهد داد:

SQL> select WRL_PARAMETER,status from v$encryption_wallet;

WRL_PARAMETER            STATUS

———————— ———-

/19c/home/wallet/tde/    CLOSED

SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY  p;

keystore altered.

SQL> select WRL_PARAMETER,status from v$encryption_wallet;

WRL_PARAMETER            STATUS

———————— ——————–

/19c/home/wallet/tde/    OPEN_NO_MASTER_KEY

3.تنظیم master key با اجرای دستور زیر قابل انجام خواهد بود:

SQL>  ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY p WITH BACKUP;

keystore altered.

SQL> select WRL_PARAMETER,status,WALLET_TYPE from v$encryption_wallet;

WRL_PARAMETER                            STATUS WALLET_TYPE

—————————————- —— ——————–

/19c/home/wallet/tde/                    OPEN   PASSWORD

توجه: اگر سابقه از دست دادن keystore را در این دیتابیس داریم، ممکن است با خطای زیر مواجه شویم:

SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY p WITH BACKUP;

ORA-28374: typed master key not found in wallet

در این صورت می توانیم با کمک hidden parameter زیر، از keystore و master key قبلی صرف نظر کنیم:

SQL>  ALTER SYSTEM SET “_db_discard_lost_masterkey”=TRUE SCOPE=MEMORY;

System altered.

4.برای آنکه keystore بعد از هر بار استارت شدن دیتابیس، به صورت خودکار در وضعیت open قرار بگیرد، می توانیم دستور زیر را اجرا کنیم:

SQL> ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE IDENTIFIED BY p;

keystore altered.

با اجرای این دستور، همراه با اولین restart دیتابیس، WALLET_TYPE از حالت PASSWORD به AUTOLOGIN تغییر خواهد کرد:

SQL> select WRL_PARAMETER,status,WALLET_TYPE from v$encryption_wallet;

WRL_PARAMETER         STATUS WALLET_TYPE

——————— —— ——————–

/19c/home/wallet/tde/   OPEN   AUTOLOGIN

 

پشتیبان گیری از فایل keystore

با کمک دستور زیر می توان از فایل keystore بکاپ گرفت:

SQL>  ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING ‘bkp’ FORCE KEYSTORE IDENTIFIED BY p;

keystore altered.

[oracle@oLinux7 tde]$ ls -l *bkp*

-rw——- 1 oracle oinstall 5259 Jan 11 07:07 ewallet_2021011112074757_bkp.p12

همچنین با اجرای دستور زیر می توان مسیر فایل بکاپ را از مسیر پیش فرض خارج کرد:

SQL> ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING ‘bkp’ FORCE KEYSTORE IDENTIFIED BY p TO ‘/19c/base’;

keystore altered.

 

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.