2017-02-02 5 views
11

मेरे पास MySQL प्रॉक्सी चल रहा है और मेरे पास read_auth() के लिए फ़ंक्शन के साथ एक LUA है, हालांकि प्रमाणीकरण के दौरान पारित पासवर्ड हैं (अपेक्षित के रूप में)।mysql-proxy cleartext पासवर्ड

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

तो मूल रूप से: क्या आपके पास कोई विचार है कि मैं read_auth() MySQL प्रॉक्सी के फ़ंक्शन के भीतर स्पष्ट टेक्स्ट प्रमाणीकरण विवरण कैसे प्राप्त कर पाऊंगा?

नोट: मेरा अंतिम लक्ष्य एलडीएपी के साथ है, हालांकि एकमात्र तरीका मैं पासवर्ड प्राप्त कर सकता हूं (धोया या नहीं) वास्तव में एलडीएपी के लिए बाध्यकारी है, इसे खोजकर प्राप्त नहीं किया जा सकता है।

उत्तर

8

MySQL नेटवर्क प्रोटोकॉल पासवर्ड को स्पष्ट-पाठ में भेजने की अनुमति नहीं देता है, जो आप कैप्चर कर सकते हैं वह एन्क्रिप्टेड संस्करण है।


हालांकि, अगर आप (ग्राहक से सर्वर के लिए) क्लियर भेजने की कोशिश कर रहे हैं, ग्राहक के पक्ष स्पष्ट पाठ प्लगइन काम करना चाहिए ...

MySQL 5.5.27 के रूप में, अनजाने बनाने के लिए इस प्लगइन का उपयोग कम संभावना है, यह आवश्यक है कि ग्राहक इसे स्पष्ट रूप से सक्षम करें। यह कई तरीकों से किया जा सकता है:

LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN पर्यावरण परिवर्तक को 1, वाई, या वाई से शुरू होने वाले मान पर सेट करें। यह सभी क्लाइंट कनेक्शन के लिए प्लगइन सक्षम बनाता है।

MySQL, mysqladmin, और mysqlslap क्लाइंट प्रोग्राम एक -enable-cleartext-plugin विकल्प का समर्थन करते हैं जो प्लग-इन प्रति-आमंत्रण आधार पर सक्षम बनाता है।

mysql_options() सी एपीआई फ़ंक्शन एक MYSQL_ENABLE_CLEARTEXT_PLUGIN विकल्प का समर्थन करता है जो प्रति कनेक्शन आधार पर प्लगइन को सक्षम बनाता है। साथ ही, libmysqlclient का उपयोग करने वाले किसी भी प्रोग्राम और विकल्प फ़ाइलों को पढ़ता है क्लाइंट लाइब्रेरी द्वारा पढ़े गए एक विकल्प समूह में एक सक्षम-cleartext-plugin विकल्प सहित प्लगइन को सक्षम कर सकता है।


वैकल्पिक रूप से, एलडीएपी के साथ प्रमाणित करने के लिए कुछ अन्य विकल्प हैं। उदाहरण के लिए, आप पीएएम प्रमाणीकरण प्लगइन का उपयोग कर सकते हैं जो आपको प्रमाणीकरण सेवाएं प्रदान करने के लिए किसी भी उपलब्ध पीएएम मॉड्यूल का उपयोग करने देगा, और there is a pam_ldap module that is easy to configure.

आप भूमिकाओं का उपयोग करने और भूमिकाओं के लिए उपयोगकर्ता नाम मैपिंग भी देख सकते हैं, इसलिए आपके पास कुछ अनुमतियों के साथ भूमिकाएं और उन भूमिकाओं के लिए मैप किए गए कई उपयोगकर्ता नाम। आप यहां उस पर और जानकारी पा सकते हैं।

इसके अलावा संसाधन:

+0

मैं पीएएम प्रमाणीकरण प्लगइन संभालने हूँ प्रॉक्सी के साथ प्रयोग नहीं किया जा सकता है? –

+0

पाम प्रमाणीकरण के लिए माइस्क्ल के एंटरप्राइज़ संस्करण की आवश्यकता है लेकिन कुछ खुले स्रोत कार्यान्वयन हैं। मुझे नहीं लगता कि इसका प्रॉक्सी के साथ क्यों उपयोग नहीं किया जा सका।मैं यात्रा कर रहा हूं इसलिए मैं जल्दी से लिंक प्रदान नहीं कर सकता। लेकिन अगर मैं ऐसा कर रहा था और प्रॉक्सी की आवश्यकता थी तो मैं भूमिका विधि का उपयोग करूंगा। –

+0

बस एक और त्वरित टिप्पणी - क्या आप इसे एप्लिकेशन स्तर पर संभाल नहीं सकते हैं? यदि आप करेंगे तो अपना रास्ता बाहर निकालें ... –

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