2012-12-28 19 views
9

मैं वर्तमान में क्रेडिट कार्ड की जानकारी लेने के लिए एक सेटअप तैयार कर रहा हूं। निम्नलिखित संरचना इस्तेमाल किया गया था:सर्वर सत्यापन में पासवर्ड सुरक्षा में सुधार

सर्वर 1:

  • MySQL उपयोगकर्ता केवल
  • धारण लॉगइन क्रेडेंशियल्स को पढ़ने के लिए निर्धारित किया है।

मैं पीबीकेडीएफ 2 हैशिंग का उपयोग करता हूं, जिसे मैंने this code पर आधारित कक्षा के साथ किया है।

सर्वर 2:

  • MySQL उपयोगकर्ता पढ़ने और लिखने
  • ग्राहकों क्रेडिट कार्ड की जानकारी के सभी रखती है करने के लिए सेट

मेरा प्रश्न:

तो सर्वर 1 इस प्रारूप में पास्वार्ड स्टोर करता है: alg orithm: पुनरावृत्तियों: नमक: हैश

उदाहरण के लिए: sha256:1000:Pe27BkIKkBHklogp9Io80iRKtF+6koly:nrYUwOlixwJECRcjBRKwQ+MVNMTbnYnm

तो सर्वर एक समझौता किया गया था, मुझे लगता है कि इस प्रारूप में पासवर्ड होने से वे साइट के लिए पासवर्ड दरार करने के लिए होगा और उपयोगकर्ताओं को क्रेडिट कार्ड की जानकारी तक पहुंचें।

यह एक मामले में जहां मैं Mysql (AES_ENCRYPT() और AES_DECRYPT()) उपयोग करने की आवश्यकता है?

क्या मैं यह सोच रहा हूं?

क्या सर्वर 1 में जानकारी की सुरक्षा करने का कोई बेहतर तरीका है?

अद्यतन पर टिप्पणियाँ

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

+10

आपको पीसीआई दस्तावेज पढ़ने और इसके साथ अनुपालन करने की आवश्यकता है, अगर वास्तव में आप क्रेडिट कार्ड की जानकारी संग्रहीत कर रहे हैं *। – deceze

+0

मैं वास्तव में सीसी प्रसंस्करण नहीं करता हूं। मुझे केवल भविष्य में भुगतान के लिए मेरी कंपनी प्रणाली पर जानकारी संग्रहीत करने की आवश्यकता है, जो कि ऑनलाइन –

+6

के माध्यम से किया जाता है, यह अप्रासंगिक है कि आप प्रसंस्करण कर रहे हैं या नहीं, पीसीआई अनुपालन सीसी विवरण –

उत्तर

2

ईमानदार होने के लिए, यदि मैं सर्वर 1 समझौता करने का प्रबंधन करता हूं, तो मैं उन पासवर्ड को क्रैक करने की कोशिश नहीं कर रहा हूं। वे सुरक्षित होना चाहिए। मैं जितना अधिक संभावना करता हूं, सर्वर पर लॉग इन करते समय मुझे पासवर्ड और/या क्रेडिट कार्ड की जानकारी भेजने के लिए सर्वर पर अपना कोड स्थापित करने का प्रयास किया जाता है। उदाहरण के लिए, मान लीजिए कि आप login.php नामक फ़ाइल में प्रमाणीकरण को संसाधित करते हैं । अगर मैं login.php से समझौता कर सकता हूं, तो जब यह लॉगिन को मान्य कर रहा है, तो मैं इसे एक कर्ल कमांड या कुछ अपने लॉगिन सर्वर को लॉगिन जानकारी भेजने के लिए निष्पादित कर सकता हूं जहां मैं इसे एकत्र कर सकता हूं।

लेकिन मैं digress ... जवाब यह है कि उपयोगकर्ता लॉगिन विवरण की आपकी हैशिंग सुरक्षित होना चाहिए जैसा आपने वर्णन किया है। यदि सर्वर 1 के डेटाबेस से समझौता किया गया है, तो यह जितना सुरक्षित हो उतना सुरक्षित होना चाहिए।आप अपने PHP कोड के भीतर obfuscation की एक परत जोड़ सकते हैं ताकि नमक के हश में कुछ ऐसा हो या कुछ ऐसा हो जो डेटाबेस तक पहुंच के साथ हो लेकिन कोड नहीं, यह जानने में बहुत कठिन समय होगा कि आपने किस प्रक्रिया को हैश पासवर्ड, जो हैकर्स को पासवर्ड, इलोवु इत्यादि जैसे बल पासवर्ड को क्रूर करने की कोशिश करने से बचेंगे। मैं अत्यधिक सुझाव देता हूं कि सर्वर 2 पर क्रेडिट कार्ड की जानकारी AES_ENCRYPT() या PHP के mcrypt_encrypt() फ़ंक्शन का उपयोग करके एन्क्रिप्टेड प्रारूप में संग्रहीत की जाती है।

सुनिश्चित करें कि आप सभी POST रूपों के माध्यम से इनपुट को स्वच्छ करते हैं, और आपको जाने के लिए अच्छा होना चाहिए।

+0

हां, अगर मैं ऐसा करता हूं, तो मैं निश्चित रूप से सीसी को एन्क्रिप्ट कर दूंगा। अभी के लिए मैंने उन्हें अपने कंप्यूटर पर एक TrueCrypt ड्राइव में एक शब्द दस्तावेज़ में संग्रहीत किया है। मेरे पास केवल 46 ग्राहक हैं कि हम इस तरह से बिल करते हैं ..... शायद आगे जाने के प्रयास के लायक नहीं है। लेकिन यह अच्छा होगा अगर वे उपयोगकर्ता प्रोफाइल पर अपनी सीसी जानकारी अपडेट कर सकें। वैसे भी इनपुट के लिए धन्यवाद –

संबंधित मुद्दे