Cấu hình mã hoá dữ liệu Transparent Data Encryption (TDE) trong Oracle database 19c
TDE là gì: https://datalinks.vn/transparent-data-encryption-tde-trong-oracle-database/
Oracle Wallet: https://datalinks.vn/oracle-wallet-la-gi/
Để bật và cấu hình Transparent Data Encryption (TDE) trong Oracle, bạn cần thực hiện một số bước như sau:
Sử dụng Sqlnet cấu hình thông tin đường dẫn wallet:
cd $ORACLE_HOME/network/admin vi sqlnet.ora ## noi dung nhu ben duoi SQLNET.ora ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE) (METHOD_DATA= (DIRECTORY=$ORACLE_BASE/admin/$ORACLE_SID/wallet)))
Cấu hình Wallet root:
sqlplus / as sysdba startup select banner from v$version; show parameter tde_configuration show parameter wallet_root create pfile='${ORACLE_BASE}/admin/${ORACLE_SID}/pfile/${ORACLE_SID}-wallet.ora' from spfile; cd ${ORACLE_BASE}/admin/${ORACLE_SID}/pfile alter system set WALLET_ROOT="${ORACLE_BASE}/admin/${ORACLE_SID}/wallet" scope=spfile; shut immediate startup alter system set TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"; show parameter tde_configuration show parameter wallet_root
Tạo mật khẩu Key store:
sqlplus / as sysdba administer key management create keystore identified by oracle; administer key management create LOCAL auto_login keystore from keystore '/u01/app/oracle/admin/duodb/wallet/tde/' identified by oracle; exit cd /u01/app/oracle/admin/duodb/wallet/tde/ ls -lha sqlplus / as sysdba select * from v$encryption_wallet;
Open administrator key store:
sqlplus / as sysdba administer key management set key using tag 'duong_Tablespace_TDE' force keystore identified by oracle with backup using 'OK_TDE_backup';
select * from v$encryption_wallet;
Open sau khi active =>
select key_id,tag,keystore_type,creation_time from v$encryption_keys;
Testing dữ liệu:
Tạo tablespace, table….xong active TDE cho tablespace, table… (chưa mã hoá TDE)
create tablespace tde_test_duong_tbs datafile '/u01/app/oracle/oradata/DUODB/tde_tbs1.dbf' size 50M; select * from v$tablespace;
Lúc này dữ liệu vẫn chưa được mã hoá.
Tạo user, table, insert data vào table:
create user duong identified by oracle default tablespace tde_test_duong_tbs quota unlimited on tde_test_duong_tbs; grant connect, resource to duong; create table duong.tab1 (id number, data_txt varchar2(20)); insert into duong.tab1 values (123, 'data duong 123'); insert into duong.tab1 values (789, 'data duong 789'); commit;
Kiểm tra dữ liệu trong datafile với string OS:
exit strings /u01/app/oracle/oradata/DUODB/tde_tbs1.dbf | grep data
[oracle@srv1 tde]$ strings /u01/app/oracle/oradata/DUODB/tde_tbs1.dbf | grep data
data duong 789,
data duong
=> Như vậy là chúng ta có thể xem được dữ liệu trong datafile dạng string khi có được file này ???
=> Không an toàn cho database!!!
Bật Transparent Data Encryption (TDE) cho tablespace và test kết quả:
sqlplus / as sysdba alter tablespace tde_test_duong_tbs encryption online using 'AES192' encrypt; exit strings /u01/app/oracle/oradata/DUODB/datafile/o1_mf_tde_test_m3yzk3v3_.dbf | grep data
(file name được OMF đổi tên và chuyển vào thư mục datafile)
=> Không thấy xuất hiện dữ liệu nữa => đã được bảo mật.
Chúc các bạn thành công.