क्या मैं मास्टर डेटाबेस को पुनर्स्थापित करके एक TDE प्रमाणपत्र पुनर्प्राप्त कर सकता हूं?


10

(हम, सौभाग्य से, वर्तमान में इस स्थिति में नहीं हैं, सिर्फ यह देखने के लिए आगे की योजना बना रहे हैं कि हमारे विकल्प क्या होंगे अगर यह कभी भी हो)।

पारदर्शी तिथि एन्क्रिप्शन (TDE) के साथ एन्क्रिप्ट किए गए डेटाबेस के लिए, डेटाबेस बैकअप की एक प्रतिलिपि अप्राप्य है जब तक कि आपके पास इसे एन्क्रिप्ट करने के लिए उपयोग किए गए प्रमाणपत्र का बैकअप न हो।

अगर आपके पास ऐसा नहीं है तो क्या होगा? क्या कोई अतिरिक्त विकल्प हैं?

कुल सर्वर विफलता की स्थिति में, नए हार्डवेयर पर MASTER डेटाबेस का बैकअप बहाल करने से भी प्रमाणपत्र बहाल होगा?

जवाबों:


9

चूंकि TDE मास्टर में संग्रहीत प्रमाण पत्र पर निर्भर करता है (जिसका उपयोग डेटाबेस एन्क्रिप्शन कुंजी को एन्क्रिप्ट करने के लिए किया जाता है), तो यह केवल तभी काम करेगा जब आप मास्टर डेटाबेस को किसी अन्य सर्वर पर इस तरह से पुनर्स्थापित कर सकते हैं कि प्रमाणपत्र को डिक्रिप्ट किया जा सके।

यह TDE एन्क्रिप्शन पदानुक्रम है:

  1. सेवा मास्टर कुंजी (Windows द्वारा संरक्षित, सेवा खाता क्रेडेंशियल्स और मशीन कुंजी से बंधा हुआ)
  2. डेटाबेस मास्टर कुंजी (इस मामले में, मास्टर डेटाबेस के लिए एक)
  3. प्रमाणपत्र
  4. TDE एन्क्रिप्शन कुंजी

पहले तीन आइटम मास्टर डेटाबेस में संग्रहीत किए जाते हैं, और सभी का बैकअप लिया जा सकता है। चौथे को संग्रहीत किया जाता है (एन्क्रिप्टेड डेटाबेस के हेडर में # 3 से प्रमाण पत्र द्वारा एन्क्रिप्ट किया गया)।

तो एक विफलता परिदृश्य में, आपको TDE कुंजी पढ़ने की अनुमति देने के लिए एन्क्रिप्शन पदानुक्रम को पर्याप्त रूप से पुनर्स्थापित करना होगा। SQL सर्वर स्थापना पर सेवा मास्टर कुंजी बनाता है; इस प्रकार एक अलग उदाहरण के लिए मास्टर डेटाबेस को पुनर्स्थापित करते समय आइटम 2 और 3 को भी पुनर्स्थापित करेगा, उन्हें डिक्रिप्ट करने के लिए आवश्यक कुंजी (एस) मौजूद नहीं होगी। परिणाम: अपठनीय डेटा।

दो सर्वोत्तम विकल्प या तो प्रमाणपत्र (# 3) को बैकअप से पुनर्स्थापित करना है (एक अच्छा विकल्प यदि मास्टर को किसी भी कारण से बहाल नहीं किया जा सकता है), या अपने मास्टर डेटाबेस और इसकी मास्टर कुंजी (# 2) को बैकअप से पुनर्स्थापित करें। मास्टर कुंजी को पुनर्स्थापित करना एक बेहतर विकल्प हो सकता है यदि आपके पास इस कुंजी द्वारा संरक्षित बहुत सारे प्रमाण पत्र / कुंजी हैं, और उन्हें एक बार में सभी को सुलभ बनाने की आवश्यकता है। यह समान रूप से मास्टर डेटाबेस (टकराव, लॉगिन, डेटाबेस के नाम और फ़ाइल पथ, आदि) को पुनर्स्थापित करने के साथ जुड़ा हुआ है।

आमतौर पर, मैं केवल पुनर्प्राप्ति परिदृश्य में मास्टर को पुनर्स्थापित करने की सलाह दूंगा। माइग्रेशन / स्केल-आउट परिदृश्य के लिए (जैसे कि उपलब्धता समूह का उपयोग करना / TDE- एन्क्रिप्टेड डेटाबेस के साथ मिरर करना), यह बैकअप के लिए बेहतर है / प्रमाणपत्र (# 3) को पुनर्स्थापित करें ताकि यह मास्टर कुंजियों का उपयोग करके एन्क्रिप्ट किया गया हो, जो प्रत्येक उदाहरण के लिए अद्वितीय है। सेवा। आपको प्रमाणपत्र बैकअप के साथ निजी कुंजी को शामिल करना होगा।

किसी भी स्थिति में, आपको कुंजी / प्रमाणपत्र बैकअप बनाने होंगे, इसलिए उन्हें अच्छी तरह से संरक्षित करें, और उन्हें अनावश्यक, सुरक्षित स्थानों में संग्रहीत करें। बस मास्टर का बैकअप रखने से आपको TDE आपदा से छुटकारा नहीं मिलेगा; आपको कम से कम एक कुंजी या प्रमाणपत्र के बैकअप की आवश्यकता होगी।


हम्म, तो यह कैसे है कि हम एसएमके (1) या मास्टर डीबी डीएमके (2) को बहाल किए बिना किसी अन्य सर्वर पर प्रमाण पत्र को पुनर्स्थापित कर सकते हैं? क्या यह उस नए सर्वर से एसएमके / डीएमके को "संलग्न" करता है?
ब्रैड

आह, मुझे लगता है कि मैं इसे प्राप्त करता हूं: जब आप प्रमाण पत्र का निर्यात करते हैं, तो आप स्पष्ट रूप से निर्यात के लिए एक कुंजी प्रदान कर रहे हैं, जो मूल सर्वर से एसएमके / डीएमके पर निर्भरता को बदल देता है। नए सर्वर पर आयात करने पर, आप फिर नए सर्वर के SMK / DMK पर निर्भरता स्थानांतरित कर रहे हैं। क्या यह सही है?
ब्रैड

हाँ, यह वास्तव में बहुत ज्यादा है। जब आप एक प्रमाणपत्र निर्यात या आयात करते हैं, तो आपको एक पासवर्ड प्रदान करना होगा जो बैकअप को एन्क्रिप्ट / डिक्रिप्ट करने के लिए उपयोग किया जाता है। जब आप बैकअप को पुनर्स्थापित करते हैं, तो प्रमाणपत्र आयात किया जाता है, और गंतव्य सर्वर के DMK के साथ फिर से एन्क्रिप्ट किया जाता है।
db2

5

1.अगर आप एक एन्क्रिप्टेड बैकअप को किसी अन्य सर्वर पर पुनर्स्थापित करना चाहते हैं तो हमेशा की तरह आप निम्न त्रुटि का सामना कर सकते हैं

 Cannot find server certificate with thumbprint …...

2. प्रमाणित नाम के साथ: इस उदाहरण में vestacert

   SELECT  * FROM   sys.certificates

3. स्रोत सर्वर (स्रोत एन्क्रिप्टेडसर्वर) से प्रमाण पत्र वापस लें:

BACKUP CERTIFICATE vestacert
TO FILE = 'c:\Backup\certificate_TDE_Test_Certificate.cer'
WITH PRIVATE KEY
(FILE = 'c:\Backup\certificate_TDE_Test_Key.pvk',
ENCRYPTION BY PASSWORD = 'Password12#')

4. UAT सर्वर पर नया मास्टर सर्टिफिकेट पहले से मौजूद नहीं है

USE master GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'D1ffPa$$w0rd'

UAT सर्वर (UATserver) में 5.Roreore बैकअप सेर्ट्स

CREATE CERTIFICATE vestacert2
FROM FILE = 'C:\tmp\certificate_TDE_Test_Certificate.cer'     
WITH PRIVATE KEY (FILE = 'C:\tmp\LCMS\certificate_TDE_Test_Key.pvk', 
DECRYPTION BY PASSWORD = 'Passsword12#')

6. बैकअप बहाल करने वाले इस कदम के बाद कोई त्रुटि नहीं है और सभी डेटा पठनीय थे।

लेकिन अजीब बात यह है कि एन्क्रिप्शन को बस हटाने और नया बैकअप लेने और इसे अंतिम सर्वर (फाइनल सर्वर) पर पुनर्स्थापित करने से काम नहीं होता है और निम्न त्रुटि देता है फ़ाइल "mydb_log" सही ढंग से प्रारंभ करने में विफल रही। अधिक विवरण के लिए त्रुटि लॉग की जांच करें।

8. यूएटी से एन्क्रिप्शन को हटाने का सही तरीका कदम से नीचे और नीचे से ऊपर तक सभी संकेतों को दूर करना है

    USE master
    ALTER DATABASE mydb SET ENCRYPTION OFF
    USE mydb
    DROP DATABASE ENCRYPTION KEY 
    USE master
    DROP CERTIFICATE vestacert2 
    DROP MASTER KEY

9.अब UAT सर्वर से एक नया बैकअप बनाएं और इसे अंतिम सर्वर पर पुनर्स्थापित करें

अच्छा लेख: http://sqlserverzest.com/2013/10/03/sql-server-restoring-a-tde-encrypted-database-to-a-different-server/


1
लॉग की पुनर्स्थापना विफल हो जाती है क्योंकि लॉग फ़ाइल में अभी भी एन्क्रिप्टेड सामग्री है। अक्षम करने के बाद, सरल मोड पर जाएं, लॉग को छोटा करने के लिए एक बैक करें और फिर से बैकअप लें।
आईडीसोपायरेक्ट

0

यदि आपका सिस्टम क्रैश हो जाता है और अनुपयोगी हो जाता है, तो आप एक नई प्रणाली का निर्माण कर सकते हैं और जब तक आप नई प्रणाली पर एक ही सेवा खाते का उपयोग नहीं करते तब तक TDE प्रमाणपत्र को पुनर्प्राप्त करने के लिए मौजूदा डेटाबेस पर मास्टर डेटाबेस को पुनर्स्थापित कर सकते हैं।। फिर आपको स्थानीय मशीन कुंजी द्वारा सेवा मास्टर कुंजी के एन्क्रिप्शन को ठीक करने के लिए सिस्टम को पुनरारंभ करना चाहिए। उसके बाद, आपको TDE प्रमाणपत्र का बैकअप लेने या उपयोगकर्ता डेटाबेस को पुनर्स्थापित करने और डेटा तक पहुंचने में सक्षम होना चाहिए। सेवा मास्टर कुंजी दो तरीकों से विंडोज सर्वर के डेटा प्रोटेक्शन एपीआई द्वारा संरक्षित है, पहला स्थानीय मशीन कुंजी का उपयोग करना जो सिस्टम के लिए विशिष्ट है और दूसरा डेटाबेस इंजन के सेवा खाते का उपयोग करके। चूँकि आपके पास सिस्टम क्रैश के कारण मूल प्रणाली की स्थानीय मशीन कुंजी नहीं होगी, इसलिए आपको उसी सेवा खाते का उपयोग करना होगा। TDE प्रमाणपत्र डेटाबेस के साथ समर्थित है, लेकिन एन्क्रिप्शन पदानुक्रम पूरा होने तक दुर्गम है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.