यह ब्लॉग Oracle® डेटाबेस के भीतर संवेदनशील डेटा को सुरक्षित करने के लिए उन्नत सुरक्षा विकल्प का उपयोग करने के आवश्यक तत्वों को कवर करता है, जिसमें ट्रांसपेरेंट डेटा एन्क्रिप्शन (TDE) का उपयोग किया जाता है। यह सुविधा आपको डेटाबेस कॉलम को एन्क्रिप्ट करने और एन्क्रिप्शन कुंजियों को प्रबंधित करने में सक्षम बनाती है।
परिचय
TDE संवेदनशील डेटाबेस डेटा के एन्क्रिप्शन को सक्षम बनाता है, जो ऑपरेटिंग सिस्टम फ़ाइलों में संग्रहीत होता है। यह डेटाबेस के बाहर स्थित एक सुरक्षा मॉड्यूल में एन्क्रिप्शन कुंजियों का सुरक्षित भंडारण और प्रबंधन प्रदान करता है।
एन्क्रिप्टेड डेटा को डेटाबेस उपयोगकर्ता के लिए पारदर्शी रूप से डिक्रिप्ट किया जाता है जिसे डेटा तक पहुंच प्राप्त है। TDE डेटाबेस के बाहर Oracle Wallet में एन्क्रिप्शन कुंजियों को संग्रहीत करता है।
TDE का उपयोग क्यों करें?
यदि चोर डेटाबेस के बैकअप टेप चुरा लेते हैं, और इसे अपने सर्वर पर रिस्टोर करते हैं, तो उनके पास कंपनी के सबसे संवेदनशील डेटा तक पहुंच होती है। यह एक अस्वीकार्य जोखिम है। अधिकांश कंपनी नियम और दिशानिर्देश डेटाबेस डेटा की सुरक्षा को अनुपालन आवश्यकता मानते हैं। आप अपने डेटाबेस को इस भेद्यता से कैसे बचा सकते हैं?
एक समाधान डेटाबेस में संवेदनशील डेटा को एन्क्रिप्ट करना और एन्क्रिप्शन कुंजियों को एक अलग स्थान पर संग्रहीत करना है। कुंजियों के बिना, कोई भी चुराया गया डेटा बेकार है।
TDE कैसे काम करता है?
TDE एक कुंजी-आधारित एक्सेस कंट्रोल सिस्टम है। भले ही एन्क्रिप्टेड डेटा पुनर्प्राप्त किया जाता है, यह अधिकृत डिक्रिप्शन के बिना बेकार है, जो उस टेबल तक पहुंच रखने वाले उपयोगकर्ताओं के लिए स्वचालित रूप से होता है।
एन्क्रिप्टेड कॉलम वाली टेबल के लिए, एन्क्रिप्शन कुंजी को कॉलम एन्क्रिप्शन कुंजी कहा जाता है। प्रत्येक टेबल की कॉलम एन्क्रिप्शन कुंजी डेटाबेस सर्वर की मास्टर कुंजी से एन्क्रिप्ट की जाती है। मास्टर एन्क्रिप्शन कुंजी Oracle Wallet में डेटाबेस के बाहर संग्रहीत होती है।
एन्क्रिप्टेड टेबल कुंजियों को डेटा डिक्शनरी में रखा जाता है। जब कोई उपयोगकर्ता किसी कॉलम में डेटा दर्ज करता है जिसे एन्क्रिप्टेड के रूप में परिभाषित किया गया है, तो Oracle निम्नलिखित कार्य करता है:
- यह वॉलेट से मास्टर कुंजी पुनर्प्राप्त करता है।
- यह डेटा डिक्शनरी से उस टेबल के लिए एन्क्रिप्शन कुंजी को डिक्रिप्ट करता है।
- यह उस एन्क्रिप्शन कुंजी का उपयोग इनपुट मान पर करता है।
- यह एन्क्रिप्टेड डेटा को डेटाबेस में संग्रहीत करता है।
छवि स्रोत: https://docs.oracle.com/database/121/ASOAG/img/GUID-5FD3A3BB-441C-4C42-A520-1248974627B0-default.png
TDE निम्नलिखित डेटाबेस फ़ाइलों में डेटा एन्क्रिप्ट करता है:
- डेटाफ़ाइल
- रेडो लॉग और आर्काइव लॉग फ़ाइलें
- मेमोरी
- फ़ाइल बैकअप
Oracle Wallet प्रबंधन
यह खंड वॉलेट बनाने, खोलने और बंद करने का वर्णन करता है।
वॉलेट बनाएं
जब आप पहली बार TDE सक्षम करते हैं, तो आपको वॉलेट बनाना होगा जहां मास्टर कुंजी संग्रहीत होती है।
डिफ़ॉल्ट रूप से, वॉलेट $ORACLE_BASE/admin/$ORACLE_SID/wallet में बनाया जाता है, लेकिन आप sqlnet.ora में निम्नलिखित पंक्तियों में इसे निर्दिष्ट करके एक अलग स्थान सेट कर सकते हैं:
ENCRYPTION_WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY =D:\oracle\product\Wallet))) अगला, वॉलेट बनाने के लिए निम्नलिखित कमांड चलाएं:
ALTER SYSTEM SET ENCRYPTION KEY [certificate_ID] IDENTIFIED BY password;
-
वॉलेट पासवर्ड केस-संवेदी है। पासवर्ड स्ट्रिंग को डबल कोटेशन मार्क्स (" ") में संलग्न करें।
-
certificate_ID एक वैकल्पिक स्ट्रिंग है जिसमें Oracle वॉलेट में संग्रहीत प्रमाणपत्र का अद्वितीय पहचानकर्ता होता है। जब वॉलेट खुला हो तो V$WALLET फिक्स्ड व्यू को क्वेरी करके certificate_ID खोज सकते हैं।
वॉलेट खोलें और बंद करें
वॉलेट बनाने और पासवर्ड सेट करने के बाद, आपको डेटाबेस शुरू करने पर हर बार SYS, SYSTEM, या SYSDBA खातों का उपयोग करके वॉलेट को स्पष्ट रूप से खोलना होगा।
उदाहरण के लिए, निम्नलिखित कमांड चलाएं:
alter system set encryption wallet open identified by "oracle12345"; महत्वपूर्ण: डेटाबेस पर कोई भी कार्रवाई करने के लिए, आपको वॉलेट खोलना होगा।
निम्नलिखित उदाहरण एक डेटाबेस ऑपरेशन को दर्शाता है जहां डेटाबेस चालू है लेकिन वॉलेट बंद है:
alter system set encryption wallet close;
अब, यदि आप किसी एन्क्रिप्टेड कॉलम से डेटा पुनर्प्राप्त करने का प्रयास करते हैं, तो निम्नलिखित त्रुटि संदेश प्रदर्शित होता है क्योंकि वॉलेट बंद है:
एन्क्रिप्टेड कॉलम से डेटा पुनर्प्राप्त करने के लिए, आपको निम्नलिखित कमांड का उपयोग करके वॉलेट खोलना होगा:
alter system set encryption wallet open identified by "oracle12345";
अब आप एन्क्रिप्टेड कॉलम से डेटा पुनर्प्राप्त कर सकते हैं क्योंकि वॉलेट खुला है।
एन्क्रिप्टेड कॉलम के साथ टेबल बनाएं
एन्क्रिप्टेड कॉलम के साथ टेबल बनाने के लिए निम्नलिखित कमांड का उपयोग करें:
CREATE TABLE test2 (id number,name varchar2(20),s_s_num number ENCRYPT);
नॉन-डिफ़ॉल्ट एल्गोरिथम और NO SALT विकल्प का उपयोग करके टेबल बनाएं
SALT एक रैंडम स्ट्रिंग है जिसे एन्क्रिप्ट करने से पहले डेटा में जोड़ा जाता है ताकि इसे और भी अधिक सुरक्षित और हैक करना कठिन बनाया जा सके। डिफ़ॉल्ट रूप से, TDE एन्क्रिप्ट करने से पहले क्लियरटेक्स्ट में SALT जोड़ता है।
आप SALT विकल्प के साथ एन्क्रिप्टेड कॉलम पर कोई इंडेक्स नहीं बना सकते। यदि आप एन्क्रिप्टेड कॉलम पर इंडेक्स जोड़ना चाहते हैं, तो आपको NO SALT विकल्प का उपयोग करना होगा जैसे निम्नलिखित उदाहरण में:
CREATE TABLE test3 (id number,name varchar2(20),s_s_num number ENCRYPT NO SALT,Ph_no number ENCRYPT USING '3DES168');
यहां, S_S_NUM कॉलम NO SALT विकल्प के साथ एन्क्रिप्टेड है और PH_NO कॉलम डिफ़ॉल्ट SALT विकल्प के साथ बनाया गया है।
निम्नलिखित उदाहरण दिखाता है कि आप PH_NO कॉलम पर इंडेक्स नहीं बना सकते क्योंकि आपने इसे डिफ़ॉल्ट रूप से SALT विकल्प के साथ बनाया है।
मौजूदा टेबल में कॉलम एन्क्रिप्ट करें
मौजूदा टेबल में कॉलम एन्क्रिप्ट करने के लिए निम्नलिखित कमांड का उपयोग करें:
ALTER TABLE test1 ADD (ssn VARCHAR2(11) ENCRYPT);
कॉलम पर एन्क्रिप्शन अक्षम करें
कॉलम पर एन्क्रिप्शन अक्षम करने के लिए निम्नलिखित कमांड का उपयोग करें:
ALTER TABLE test1 MODIFY (ssn DECRYPT);
TDE उपयोग पर प्रतिबंध
TDE उपयोग पर निम्नलिखित प्रतिबंधों को ध्यान में रखें:
- आप एन्क्रिप्टेड कॉलम पर B-tree के अलावा कोई अन्य इंडेक्स नहीं बना सकते।
- एक्सटर्नल लार्ज ऑब्जेक्ट्स (BFILE) पर एन्क्रिप्शन की अनुमति नहीं है।
- यदि वॉलेट बंद है तो आप आयात या निर्यात ऑपरेशन नहीं कर सकते।
वॉलेट बंद होने के कारण त्रुटि
वॉलेट खुला होने के कारण सफलता
निष्कर्ष
यदि आपको अनधिकृत या बैक-डोर एक्सेस से संवेदनशील डेटा को सुरक्षित करने की आवश्यकता है, तो TDE सुरक्षा विकल्प का उपयोग करें। यह सुविधा आपको बिना किसी कोडिंग और कुंजी प्रबंधन जटिलता के तत्काल डेटा एन्क्रिप्शन और अनुपालन प्रदान करती है। इस प्रकार, यह आपको अधिक रणनीतिक प्रयासों पर ध्यान केंद्रित करने में सक्षम बनाता है।
टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें।
विशेषज्ञ प्रशासन, प्रबंधन, और कॉन्फ़िगरेशन के साथ अपने वातावरण को अनुकूलित करें
Rackspace के एप्लिकेशन सेवाएं (RAS) विशेषज्ञ अनुप्रयोगों के एक व्यापक पोर्टफोलियो में निम्नलिखित पेशेवर और प्रबंधित सेवाएं प्रदान करते हैं:
- ईकॉमर्स और डिजिटल अनुभव प्लेटफ़ॉर्म
- एंटरप्राइज रिसोर्स प्लानिंग (ERP)
- बिजनेस इंटेलिजेंस
- Salesforce ग्राहक संबंध प्रबंधन (CRM)
- डेटाबेस
- ईमेल होस्टिंग और उत्पादकता
हम प्रदान करते हैं:
- निष्पक्ष विशेषज्ञता: हम आपकी आधुनिकीकरण यात्रा को सरल और मार्गदर्शन करते हैं, उन क्षमताओं पर ध्यान केंद्रित करते हैं जो तत्काल मूल्य प्रदान करती हैं।
- फैनटिकल एक्सपीरियंस™: हम समर्पित तकनीकी सहायता के साथ प्रोसेस फर्स्ट। टेक्नोलॉजी सेकंड।® दृष्टिकोण को जोड़कर व्यापक समाधान प्रदान करते हैं।
- अद्वितीय पोर्टफोलियो: हम व्यापक क्लाउड अनुभव लागू करते हैं ताकि आप सही तकनीक को सही क्लाउड पर चुन सकें और तैनात कर सकें।
- एजाइल डिलीवरी: हम आपकी यात्रा में जहां आप हैं वहां आपसे मिलते हैं और अपनी सफलता को आपके साथ संरेखित करते हैं।
अब चैट करें और शुरू करें।