सबसे बड़ा खतरा यह है कि एक हमलावर भेद्यता का लाभ उठा सकता है जैसे; निर्देशिका ट्रैवर्सल, या load_file()
. को कॉल करने के लिए SQL इंजेक्शन का उपयोग करना कॉन्फ़िगरेशन फ़ाइल में सादा पाठ उपयोगकर्ता नाम/पासवर्ड पढ़ने के लिए और फिर phpmyadmin या tcp पोर्ट 3306 पर लॉग इन करें। एक पेंटेस्टर के रूप में मैंने सिस्टम से समझौता करने के लिए इस हमले के पैटर्न का उपयोग किया है।
यहाँ phpmyadmin को लॉक करने का एक शानदार तरीका है:
- PhpMyAdmin में मजबूत ब्रूटफोर्स सुरक्षा का अभाव है, इसलिए आपको बेतरतीब ढंग से जेनरेट किए गए लंबे पासवर्ड का उपयोग करना चाहिए।
- दूरस्थ रूट लॉगिन की अनुमति न दें! इसके बजाय phpmyadmin को "कुकी प्रमाणीकरण"
का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है यह सीमित करने के लिए कि उपयोगकर्ता सिस्टम तक क्या पहुँच सकता है। यदि आपको कुछ रूट विशेषाधिकारों की आवश्यकता है, तो एक कस्टम खाता बनाएं जो जोड़/छोड़ सकता है/बना सकता है लेकिन
grant
नहीं है याfile_priv
। - निकालें
file_priv
हर खाते से अनुमति।file_priv
MySQL में सबसे खतरनाक विशेषाधिकारों में से एक है क्योंकि यह एक हमलावर को फाइलें पढ़ने या पिछले दरवाजे को अपलोड करने की अनुमति देता है। - श्वेतसूची आईपी पता जिनके पास phpmyadmin इंटरफ़ेस तक पहुंच है। यहाँ एक उदाहरण है .htaccess reulset:
Order deny,allow Deny from all allow from 199.166.210.1
-
कोई अनुमानित फ़ाइल स्थान नहीं है जैसे:
http://127.0.0.1/phpmyadmin
. Nessus/Nikto/Acunetix/w3af जैसे भेद्यता स्कैनर इसके लिए स्कैन करेंगे। -
tcp पोर्ट 3306 को फ़ायरवॉल बंद कर दें ताकि इसे एक हमलावर द्वारा एक्सेस नहीं किया जा सके।
-
एचटीटीपीएस का इस्तेमाल करें, नहीं तो हमलावर को डेटा और पासवर्ड लीक हो सकते हैं. यदि आप किसी प्रमाणपत्र के लिए $30 का भुगतान नहीं करना चाहते हैं, तो स्व-हस्ताक्षरित का उपयोग करें। आप इसे एक बार स्वीकार करेंगे, और भले ही इसे MITM के कारण बदल दिया गया हो, आपको सूचित किया जाएगा।