एमएस SQL ​​सर्वर एन्क्रिप्शन और बैकअप को समझना


13

इसलिए मैं चैट में पूछ रहा था कि SQL Server बैकअप फाइलें कितनी सुरक्षित हैं।

मुझे बताया गया है कि यदि किसी हमलावर के पास .bak फ़ाइल तक पहुंच नहीं है तो वे बिना डेटा के एक्सेस कर सकते हैं।

तो इस परिदृश्य को देखो:

OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate

सूचना - यहाँ कोई पासवर्ड नहीं है।

और फिर हम अपनी तालिकाओं को इनक्रिप्ट कर देते हैं:

UPDATE tbl1
 SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO

अब मैं कहता हूं कि किसी हैकर को मेरी bakफाइल मिल गई है। डेटा देखने के लिए उसे केवल इतना करना है (अपने कंप्यूटर और एसक्यूएल-सर्वर में):

SELECT  
       convert( NVARCHAR(max), decryptbykey(namePAss)) 
FROM tbl1

क्या वह अब भी डेटा एक्सेस कर पाएगा?

जवाबों:


9
OPEN SYMMETRIC KEY MySymetricKey DECRYPTION`  
 BY CERTIFICATE MyCertificate`

सूचना - यहाँ कोई पासवर्ड नहीं है।

हाँ वहाँ है। आपने प्रमाण पत्र MyCertificate किसी तरह खोला , क्या आपने नहीं दिया? कई मामले हो सकते हैं, लेकिन उनमें से कोई भी एक पासवर्ड के साथ समाप्त होता है:

  • आपने पासवर्ड का उपयोग करके प्रमाणपत्र खोला (जाहिर है, इस मामले में एक पासवर्ड है)
  • प्रमाणपत्र डेटाबेस मास्टर कुंजी के साथ एन्क्रिप्ट किया गया है और आपने DBMK पासवर्ड -> यही पासवर्ड का उपयोग करके डेटाबेस मास्टर कुंजी को खोला है
  • प्रमाणपत्र डेटाबेस मास्टर कुंजी के साथ एन्क्रिप्ट किया गया है और DBMK सेवा मास्टर कुंजी के साथ एन्क्रिप्ट किया गया है। सेवा मास्टर कुंजी सेवा खाते DPAPI संग्रहण कुंजी का उपयोग करके खोली गई थी, जिसे खाता पासवर्ड के साथ एन्क्रिप्ट किया गया है -> और वह पासवर्ड है

अंतिम कुंजी में कोई पासवर्ड नहीं लगता है, लेकिन एक है: सेवा खाता पासवर्ड। बैकअप, जब एक अलग होस्ट पर पुनर्स्थापित किया जाता है, तो इसमें डेटाबेस मास्टर कुंजी की सेवा मास्टर कुंजी एन्क्रिप्शन की कमी होगी और यह डेटा को दुर्गम बना देगा।

एन्क्रिप्शन Hiearchy देखें


HI, हाँ एक पासवर्ड है लेकिन पिछले चरण में है। जब मैंने इसे बनाया था: CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DB Master key password!' GO- मैंने इसे एक पासवर्ड के साथ बनाया था। लेकिन अजीब बात यह है कि जब मैं इसे खोलता हूं - तो मुझे पासवर्ड की आवश्यकता नहीं होती है, यह आपके द्वारा कोड किए गए कोड है। यह वह चीज है जिसे मैं नहीं समझता। अगर एक हैकर im - मैं इसे बनाने के लिए इस्तेमाल पासवर्ड के बारे में परवाह नहीं है। इसके लिए मुझे केवल OPEN SYMMETRIC KEY MySymetricKey DECRYPTION CERTIFICATE MyCert सर्टिफिकेट की जरूरत है और यहां कोई पासवर्ड नहीं है। कृपया मुझे सही करें
रॉय नेम

3
@RoyiNamir रेमस की आखिरी बुलेट बिंदु देखें आप पासवर्ड निर्दिष्ट नहीं कर रहे हैं, लेकिन प्रमाणपत्र सुरक्षित है, अंततः इस मामले में सेवा खाता पासवर्ड द्वारा।
मार्क स्टोरी-स्मिथ

@Remus आप अपने नए सवाल (बहुत से संबंधित) में एक नजर है कृपया कर सकते dba.stackexchange.com/questions/29287/...
Royi Namir

4

संक्षिप्त उत्तर नहीं है क्योंकि उन्हें डेटाबेस मास्टर कुंजी की आवश्यकता होगी और यह पासवर्ड है।

यहाँ प्रमाणपत्र एन्क्रिप्शन का एक अच्छा अवलोकन है: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-enc एन्क्रिप्शन-certports-overview /

और मास्टर कुंजी के लिए एक: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-enc एन्क्रिप्शन /

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