2012-08-16 8 views
6

कभी-कभी मैं अपने MySQL लॉग देखता हूं और मैं सादे टेक्स्ट में पासवर्ड दिखाने वाले AES_ENCRYPT/AES_DECRYPT अनुरोधों पर ठोकर खा जाता हूं।क्या MySQL सामान्य/धीमी क्वेरी लॉग में पासवर्ड छिपाना संभव है?

यदि मैं PHP के अंदर लॉग बनाता हूं तो मैं delete उन्हें सक्षम कर पाऊंगा।

लेकिन MySQL general/slow query logs के बारे में क्या। क्या उनका एक विकल्प उपलब्ध है या क्या यह एक MySQL चर सेट करना संभव है जो लॉग में सहेजा नहीं जाएगा?

उत्तर

3

दुर्भाग्यवश, मुझे व्यक्तिगत विवरणों के लिए MySQL लॉगिंग को अक्षम करने का कोई तरीका नहीं है। MySQL प्रलेखन लॉग इस कारण के लिए सुरक्षित रखने के लिए सलाह देते हैं:

से 5.2.3. The General Query Log

MySQL 5.6.3 के रूप में, सामान्य क्वेरी लॉग करने के लिए लिखित बयान में पासवर्ड सर्वर द्वारा दोबारा लिखे जाने पर होने के लिये नहीं सचमुच सादा पाठ में। --log-raw विकल्प के साथ सर्वर प्रारंभ करके सामान्य क्वेरी लॉग के लिए पासवर्ड पुनर्लेखन को दबाया जा सकता है। यह विकल्प सर्वर द्वारा प्राप्त के रूप में विवरणों के सटीक पाठ को देखने के लिए नैदानिक ​​उद्देश्यों के लिए उपयोगी हो सकता है, लेकिन सुरक्षा कारणों के लिए उत्पादन के उपयोग के लिए अनुशंसित नहीं है।

MySQL 5.6.3 से पहले, कथन में पासवर्ड दोबारा लिखे गए नहीं हैं और सामान्य क्वेरी लॉग संरक्षित होना चाहिए। खंड 6.1.2.2, "Administrator Guidelines for Password Security" देखें।

दुर्भाग्य से, (5.6.3 के बाद से) अंतर्निहित एंटी-पासवर्ड-लॉगिंग केवल MySQL PASSWORD() फ़ंक्शन के लिए जाता है। प्रत्येक प्रश्न के लिए

  1. :

    मैं आपकी समस्या के कुछ संभावित समाधान देख लॉग अक्षम करें, क्वेरी को निष्पादित, (आपके मामले में लॉग

  2. हैश आपके आवेदन अपने आप में पासवर्ड को सक्षम, php शा)
  3. लॉगफ़ाइल को सुरक्षित तो कोई एक आवेदन कि पासवर्ड खुद
+0

को हटा ओर बयानों को देख सकते हैं

  • प्रवेश करें आपको यह जानकारी कहां मिली है कि यह केवल पासवर्ड() के लिए काम करती है? [पासवर्ड सुरक्षा के लिए व्यवस्थापक दिशानिर्देश] (http://dev.mysql.com/doc/refman/5.1/en/password-security-admin.html) उदाहरणों की एक सूची की तरह ध्वनि (उपयोगकर्ता, अनुदान, सेट पासवर्ड, पासवर्ड) पूर्णता की गारंटी के बिना। – mgutt

  • +0

    एक 5 वां विकल्प - 'file_put_contents ('/log_file_path ', preg_replace (' # \ b (एईएस _ (?: EN | DE) CRYPT) चलाने के लिए क्रॉन जॉब शेड्यूल करें \ s * \ (\ s * ([\ '^ " ]) (। +?) \ 2 \ s * \) \ b # i ',' $ 1 ($ 2 ***** $ 2) ', file_get_contents ('/log_file_path ')); ' – DaveRandom

    +0

    मैं भी देखना चाहता हूं बयान के लिए एक आधिकारिक स्रोत है कि यह केवल 'पासवर्ड() 'के साथ काम करता है - मुझे कम से कम उम्मीद है कि यह' सेट पासवर्ड 'प्रश्नों के साथ भी काम करेगी - लेकिन, @mgutt मुझे संदेह है कि यह * एईएस_एनसीआरवाईपीटी के साथ काम नहीं करेगा * '/' AES_DECRYPT' क्योंकि वे केवल पासवर्ड के लिए उपयोग नहीं किए जाते हैं, वे सामान्य एन्क्रिप्शन फ़ंक्शंस हैं। – DaveRandom

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