SQL Server को हैकर्स से कैसे बचाएं


9

मैं एक मुद्दा रहा हूं और यह पता नहीं लगा सका कि इसे कैसे संभालना है। मेरे पास Windows 2008 R2 सर्वर पर SQL सर्वर है। इस SQL ​​सर्वर 2005 का उपयोग इंटरनेट पर कहीं और स्थित किसी अन्य SQL सर्वर से DB सदस्यता प्राप्त करने के लिए किया जा रहा है। मेरे पास फ़ायरवॉल के माध्यम से एसक्यूएल सर्वर पोर्ट खुला है, हालांकि इस दायरे में, मैंने अन्य एसक्यूएल सर्वर के आईपी में प्रवेश किया है। ऐसा करने से मुझे आशा है कि उस पोर्ट के माध्यम से कनेक्शन अनुरोध तब तक SQL सर्वर तक नहीं पहुंचेंगे जब तक कि अन्य SQL सर्वर (जिनके आईपी फ़ायरवॉल नियम में गुंजाइश में सूचीबद्ध है) से अनुरोध नहीं आ रहे हैं। लेकिन, जब मैं लॉग देखता हूं, तो सैकड़ों "लॉगिन विफल उपयोगकर्ता सा" प्रविष्टियां होती हैं (और वे प्रत्येक दूसरे को पास कर रहे हैं)। ऐसा प्रतीत होता है कि कुछ हैकर उपयोगकर्ता के पासवर्ड का अनुमान लगाने के लिए क्रूर बल प्रयोग कर रहे हैं। लेकिन सवाल यह है कि, क्यों Windows इन अनुरोधों को SQL सर्वर तक पहुंचने दे रहा है, भले ही वे फ़ायरवॉल दायरे में सूचीबद्ध आईपी पते से नहीं आ रहे हैं? इस SQL ​​Server को सुरक्षित रखने का सही तरीका क्या है। अन्य SQL सर्वर के IP के अलावा किसी अन्य IP को इस sql सर्वर से कनेक्ट करने की आवश्यकता नहीं है।

संपादित करें - आगे की जानकारी:

मैंने विभिन्न मशीनों से sql सर्वर पोर्ट पर टेलनेट चलाया। टेलनेट विफल हो जाता है सिवाय जब इसे मशीन से चलाया जाता है जो विशेष रूप से फ़ायरवॉल दायरे में उल्लिखित है। तो ऐसा प्रतीत होता है कि फ़ायरवॉल sql सर्वर पोर्ट को ठीक कर रहा है। लेकिन फिर मैं SQL सर्वर लॉग में अलग-अलग आईपी पते से उपयोगकर्ता "सा" के लिए उन असफल लॉगिन अनुरोधों को क्यों देख रहा हूं? क्या यह संभव है कि हैकर पोर्ट 80 के माध्यम से मशीन में प्रवेश कर रहा है और फिर किसी तरह एसक्यूएल सर्वर से जुड़ने की कोशिश कर रहा है? पोर्ट 80 और 443 सभी के लिए खुले हैं। अन्य सभी पोर्ट sql सर्वर पोर्ट के अपवाद के साथ बंद हैं (और यह केवल एक विशिष्ट IP के लिए खुला है)। वेबसर्वर पर पोर्ट 80 पर कुछ भी नहीं चल रहा है जो SQL सर्वर पर आगंतुक को ले जा सकता है। वास्तव में, वेब सर्वर में केवल एक index.html (SQL के कनेक्शन के साथ शुद्ध HTML) फ़ाइल है। यह भविष्य में उपयोग के लिए सिर्फ एक परीक्षण सर्वर है। SQL सर्वर में केवल डेटा का परीक्षण करें।

संपादित करें:

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


लॉगऑन ट्रिगर का उपयोग करने के बारे में कैसे ? इसके अलावा, SQL सर्वर को इंटरनेट (सार्वजनिक सामना) से उजागर नहीं किया जाना चाहिए। साथ ही, आप IP पतों की सीमा को सीमित करने के लिए Windows फ़ायरवॉल में प्रोग्राम रूल्स का उपयोग कर सकते हैं।
परिजन शाह

हाँ, मैं कर सकता था, लेकिन गहराई से यह SQL सर्वर के बारे में वास्तव में नहीं है। मैं यह पता लगाने की कोशिश कर रहा हूं कि विंडोज फ़ायरवॉल वह क्यों नहीं कर रहा है जो वह करने वाला है, यानी इन अनुरोधों को पारित नहीं होने देना है क्योंकि वे केवल अनुमत आईपी पते से नहीं आ रहे हैं।

1
हाँ, ऐसा लगता है कि आपका विंडोज फ़ायरवॉल गलत है। शायद आपके पास एक और सामान्य नियम है जो पोर्ट 1433 की अनुमति दे रहा है (या सब कुछ की अनुमति देता है), या शायद विंडोज फ़ायरवॉल इंटरनेट-फेसिंग एआईसी पर अक्षम है। कॉन्फ़िगरेशन को देखे बिना कहना मुश्किल है। लेकिन यह सर्वरफॉल्ट के लिए वास्तव में अधिक है जैसे मैक्स कहता है। क्या आपका मतलब है Windows 2008 R2, btw? 'आरसी' रिलीज कैंडिडेट है, परीक्षण के लिए रिलीज से पहले सॉफ्टवेयर।
जेम्स एल


1
क्या आप वास्तव में एक पुराने रिलीज उम्मीदवार ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं ?! पहले ठीक करो।
माइकल हैम्पटन

जवाबों:


12

ऐसा लगता है कि आपका फ़ायरवॉल ठीक से कॉन्फ़िगर नहीं किया गया है। यह पहला चरण हैं।

आम तौर पर मैं एक किताब नहीं लिखता, जिसे मैंने लिखा था, लेकिन इस मामले में मैं एक अपवाद बनाऊंगा। इसे Securing SQL Server कहा जाता है और यह आपको एक अच्छी शुरुआत देगा।


ठीक है, आपकी पुस्तक इस प्रश्न के लिए एक सटीक फिट है :-)
mfinni

ठंडा! क्या इसमें इंटरनेट का सामना करने वाले सर्वरों के लिए स्थानीय / विंडोज के बजाय प्रमाण पत्र का उपयोग करने के बारे में पूर्व निर्धारित मार्गदर्शन है? ;-)
ग्रेग आस्क्यू

मेरे संपादन देखें। लगता है फ़ायरवॉल ठीक काम कर रहा है। यह कुछ अन्य चाल है जो ये चीनी हैकर्स SQL ​​सर्वर पर लाने के लिए खेल रहे हैं।
एलन राजा

1
यदि कोई सार्वजनिक आईपी पते से SQL पोर्ट से कनेक्ट हो रहा है, तो फ़ायरवॉल ठीक से कॉन्फ़िगर नहीं किया गया है। यदि वे एक आंतरिक आईपी से आ रहे हैं तो आपको कुछ अन्य प्रकार की समस्या है। एसक्यूएल इसके द्वारा स्वयं प्रमाणपत्रों का समर्थन नहीं करता है। आपको यह विज्ञापन और प्रमाणपत्र मैपिंग के माध्यम से करना होगा।
मन्दिनी

फ़ायरवॉल के लिए वास्तव में ड्राइंग पर वापस। जब तक आप अपने फ़ायरवॉल की स्थिति को हल नहीं कर लेते, मैं इंटरनेट से SQL सर्वर को खींच लूंगा। इस तरह आप सापेक्ष आसानी से IP पतों की संपूर्ण श्रेणियों पर प्रतिबंध लगा सकते हैं।
टेकी जो

4

SImply ने कहा - आप नहीं। मैं afirewall आदि का उपयोग नहीं करूंगा - एक SQL सर्वर को इंटरनेट पर होने का कोई अधिकार नहीं है। बहुत कुछ अपवाद हैं।

प्रतिकृति के लिए, एक उचित वीपीएन सेट करें।


मैं थोड़ा उलझन में हूँ। यदि DB सर्वर इंटरनेट पर नहीं है, तो एक वेब ऐप बैकएंड सर्वर DB सर्वर तक कैसे पहुंचेगा?
एलन किंग

आंतरिक नेटवर्क के माध्यम से। बुनियादी ढांचा। यह वेब ऐप दोनों नेटवर्क में बैठता है।
टॉमटॉम

3

फ़ायरवॉल को ठीक से कॉन्फ़िगर करने के अलावा, ब्रूस फ़ोर्स के हमलों से SQL सर्वर को सुरक्षित रखने के लिए यहाँ कुछ सामान्य सिफारिशें दी गई हैं:

  • 'सा' खाता अक्षम करें। सटीक लॉगिन नाम जानने से हमले आसान हो जाएंगे

    ALTER LOGIN sa DISABLE
    

एक अन्य विकल्प 'सा' खाते का नाम बदलकर कम स्पष्ट नाम देना है

ALTER LOGIN sa WITH NAME = SimonXZY
  • मिश्रित मोड प्रमाणीकरण के बजाय विंडोज प्रमाणीकरण का उपयोग करें। विंडोज प्रमाणीकरण विंडोज पासवर्ड नीति को लागू करता है और यह लगातार असफल लॉगऑन प्रयासों के मामले में लॉगिन को लॉक करता है
  • ऑडिट विफल लॉगऑन। ऐसा करने का सबसे आसान तरीका सर्वर गुणों में लॉगिन ऑडिटिंग विकल्प, सुरक्षा टैब को केवल असफल लॉगिन में सेट करना है या विफल और सफल दोनों लॉगिन हैं। यह आपको ब्रूट बल के हमलों से बचाने में मदद नहीं करेगा, बल्कि आपको हमलों के बारे में जानने में मदद करेगा

यहां अधिक उपयोगी सिफारिशें: एक जानवर सेना या शब्दकोश हमले को रोकना: अपनी लूट से दूर कैसे रखें

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