इंटरनेट पर खोले गए ssh के साथ व्यक्तिगत सर्वर होना कितना जोखिम भरा है?


25

शीर्षक निरंतरता "इंटरनेट सुरक्षा के सीमित ज्ञान होने के दौरान" होगी।

मैंने हाल ही में एक छोटे सर्वर की स्थापना की है, जिसमें कम एंड कंप्यूटर वाला डेबियन चल रहा है, जो इसे एक पर्सनल गिट रिपॉजिटरी के रूप में उपयोग करने के उद्देश्य से बनाया गया है। मैंने ssh को सक्षम किया है और उस मुस्तैदी पर काफी आश्चर्य हुआ है जिस पर वह क्रूर बल के हमलों और उस तरह से पीड़ित था। फिर मैंने पढ़ा कि यह काफी सामान्य है और इन हमलों को रोकने के लिए बुनियादी सुरक्षा उपायों के बारे में सीखा है (इसके साथ बहुत सारे सवाल और डुप्लिकेट डील पर हैं, उदाहरण के लिए यह एक या यह देखें )।

लेकिन अब मैं सोच रहा हूं कि क्या यह सब प्रयास के लायक है। मैंने ज्यादातर मौज-मस्ती के लिए अपना खुद का सर्वर स्थापित करने का फैसला किया: मैं सिर्फ थर्ड पार्टी सॉल्यूशंस पर भरोसा कर सकता था जैसे कि gitbucket.org, bettercodes.org इत्यादि। विशेषज्ञ बनने के लिए इसे समर्पित करने के लिए पर्याप्त समय है और लगभग निश्चित है कि मैंने सही रोकथाम के उपाय किए।

यह तय करने के लिए कि क्या मैं इस खिलौना परियोजना के साथ खेलना जारी रखूंगा, मैं यह जानना चाहूंगा कि ऐसा करने में मुझे वास्तव में क्या जोखिम है। उदाहरण के लिए, मेरे नेटवर्क से जुड़े अन्य कंप्यूटर किस हद तक खतरे में हैं? इन कंप्यूटरों में से कुछ का उपयोग लोग विंडोज चलाने वाले खदान से भी कम ज्ञान के साथ करते हैं।

अगर मैं मूलभूत दिशा-निर्देशों जैसे कि मजबूत पासवर्ड, ssh के लिए अक्षम रूट एक्सेस, ssh के लिए गैर मानक पोर्ट और संभवतः पासवर्ड लॉगिन को अक्षम करने और fail2ban, denyhosts या iptables नियमों में से किसी एक का उपयोग करने की संभावना है, तो मुझे क्या परेशानी होती है?

एक और तरीका रखो, क्या कुछ बड़े बुरे भेड़िये हैं जिनसे मुझे डरना चाहिए या क्या यह सब स्क्रिप्ट किडिज़ को दूर करने के बारे में है?


मुझे लगता है कि आपने सिर पर कील ठोक ली थी जब आपने उल्लेख किया था कि आपके पास $ टेक्नोलॉजी सुरक्षा में विशेषज्ञ बनने के लिए समय या झुकाव नहीं है; यह होस्ट किए गए समाधान का उपयोग करने का प्राथमिक कारण है। इन-हाउस बनाम होस्टिंग का मूल्यांकन करने में केवल अन्य सामान्य तर्क लागत है। चूँकि जीथुब और लाइक फ्री हैं, तो आप अनिवार्य रूप से अपना व्यक्तिगत समय दे रहे हैं कि एक git रेपो कैसे चलाया जाए। हम आपको यह नहीं बता सकते हैं कि आपको अपने व्यक्तिगत समय के साथ क्या करना चाहिए, लेकिन एक पेशेवर स्थिति में इसका कोई मतलब नहीं होगा। (कैविएट एम्प्टर: जटिल परिस्थितियों में अधिक चर होते हैं)।
क्रिस एस

1
यदि आप अपना स्वयं का सर्वर चलाने का निर्णय लेते हैं, तो अपने द्वारा चलाई जाने वाली प्रत्येक सेवा के लिए अद्यतन और सुरक्षा कमजोरियों के लिए अपनी टूडू सूची की नियमित जाँच में भी जोड़ें। बस इसे स्थापित करना पर्याप्त नहीं है।
सप्ताह

दो शब्द: सार्वजनिक कुंजी, जैसा कि @ स्टेफेन ने डाला। keyboard-interactiveप्रमाणीकरण अक्षम करें और केवल pubkeyप्रमाणीकरण का उपयोग करें ।
कोस्टिक्स

जवाबों:


14

ओपन इंटरनेट पर सुनने के लिए सबसे सुरक्षित चीजों में से एक है IMO SSH। यदि आप वास्तव में चिंतित हैं तो यह एक गैर-मानक उच्च अंत पोर्ट पर सुनता है। मैं अभी भी आपके बॉक्स और वास्तविक इंटरनेट के बीच एक (डिवाइस स्तर) फ़ायरवॉल होगा और बस SSH के लिए पोर्ट फ़ॉरवर्डिंग का उपयोग करेगा, लेकिन यह अन्य सेवाओं के खिलाफ एक सावधानी है। SSH अपने आप में बहुत ठोस है।

मैं है लोग कभी कभी मेरे घर SSH सर्वर मारा था (टाइम वार्नर केबल के लिए खोलने के लिए)। कभी वास्तविक प्रभाव नहीं पड़ा।

कुछ अतिरिक्त चीजें जो आप SSH को सुरक्षित बनाने के लिए कर सकते हैं, एक ही IP पते से बार-बार होने वाले प्रयासों को रोकते हैं जैसे कि होम मशीन

MaxStartups 2:30:10

in / etc / ssh / sshd_config जो सफलतापूर्वक एक लॉग करने से पहले एक पंक्ति में कितने कनेक्शन बना सकता है, को प्रतिबंधित करेगा।


मेरा इंटरनेट सेवा प्रदाता एक फ़ायरवॉल प्रदान करता है जिसके मापदंडों को मैंने ssh के लिए एक पोर्ट खोलते समय देखा था। क्या यह आपके लिए संदर्भित है?
अल्फ्रेड एम।

2
हो सकता है, कुछ आईएसपी आपको एक डंब डिवाइस दे सकते हैं, कुछ एक राउटर जिसमें एक फ़ायरवॉल बनाया गया है। मैं सिर्फ कह रहा है कि यह कभी नहीं एक अच्छा विचार है कोई बात नहीं क्या सावधानियों ले इंटरनेट पर सीधे एक सामान्य प्रयोजन ओएस डाल करने के लिए। आप और आप के बीच कुछ प्रकार के हार्डवेयर डिवाइस (या DD-WRT जैसी कोई चीज) चाहते हैं।
TheFiddlerWins

1
सार्वजनिक कुंजी प्रमाणीकरण सेट करें जैसा कि एक अन्य उत्तर में वर्णित है, और TURN OFF ChallengeResponseAuthentication और PasswordAuthentication in / etc / ssh / sshd_config।
रैंडी ऑरिजन

मुझे पता है कि यह एक मूर्खतापूर्ण प्रश्न है लेकिन क्या मुझे इंटरनेट से अपने सर्वर (ssh या ब्राउज़र के माध्यम से) तक पहुंचने के लिए एक डोमेन खरीदने की आवश्यकता है?
TheRookierLearner

@ TheRookierLearner - नहीं, आप अपने ISP द्वारा प्रदान किए गए IP पते का उपयोग कर सकते हैं। हालाँकि, आपके होम नेटवर्क के कॉन्फ़िगरेशन के आधार पर, आपके सभी उपकरणों के माध्यम से PNAT (ज्यादातर लोग इसे केवल NAT कहते हैं) द्वारा साझा किया जा सकता है। यदि आप अधिकांश लोगों की तरह हैं, तो आपको उस विशिष्ट डिवाइस के "नैट" आईपी का पता लगाना होगा, जिसे आप इंटरनेट से एक्सेस करना चाहते हैं (सिस्टम पर सिर्फ ifconfig / ipconfig, यह एक 10.xxx, 172.16 होगा। xx या 192.168.xx एड्रेस RFC 1918 को इन नंबरों से ज्यादा आपकी देखभाल के लिए देखें) और फिर अपने राउटर को "पोर्ट फॉरवर्ड" या "DMZ" पोर्ट 22 को
बताएं

10

SSH के साथ सार्वजनिक कुंजी प्रमाणीकरण प्रणाली स्थापित करना वास्तव में तुच्छ है और इसे सेटअप करने में लगभग 5 मिनट लगते हैं

यदि आप इसका उपयोग करने के लिए सभी SSH कनेक्शन को बाध्य करते हैं, तो यह आपके सिस्टम को बहुत अधिक लचीला बना देगा क्योंकि आप बिना सुरक्षा बुनियादी ढांचे में निवेश किए बिना आशा कर सकते हैं। सच कहूँ तो, यह इतना सरल और प्रभावी है (जब तक आपके पास 200 खाते नहीं हैं - तब यह गड़बड़ हो जाता है) कि इसका उपयोग नहीं करना एक सार्वजनिक अपराध होना चाहिए।


3
SSH कनेक्शन को सार्वजनिक कुंजी प्रमाणीकरण का उपयोग करने के लिए बाध्य करने के बाद, इसे सेट करने के बाद, सुनिश्चित करें कि आपने / etc / ssh / sshd_config में ChallengeResponseAuthentication और PasswordAuthentication को बंद कर दिया है। मैं इसे एक बार भूल गया, अपने पछतावे को बहुत (केवल एक बार, और फिर कभी नहीं)।
रैंडी ऑरिसन

8

मैं एक व्यक्तिगत git सर्वर भी चलाता हूं जो SSH पर दुनिया के लिए खुला है, और मेरे पास आपके जैसा ही क्रूर बल मुद्दे भी हैं, इसलिए मैं आपकी स्थिति के प्रति सहानुभूति रख सकता हूं।

TheFiddlerWins पहले से ही सार्वजनिक रूप से सुलभ आईपी पर SSH के खुले होने के मुख्य सुरक्षा निहितार्थों को संबोधित करता है, लेकिन जानवर-बल के प्रयासों के जवाब में सबसे अच्छा उपकरण IMO Fail2Ban है - सॉफ्टवेयर जो आपकी प्रमाणीकरण लॉग फ़ाइलों की निगरानी करता है, घुसपैठ के प्रयासों का पता लगाता है और फ़ायरवॉल नियम जोड़ता है मशीन का स्थानीय iptablesफ़ायरवॉल। आप एक प्रतिबंध से पहले और प्रयास की लंबाई दोनों को कॉन्फ़िगर कर सकते हैं (मेरी डिफ़ॉल्ट 10 दिन है)।


जैसा कि पिछली पोस्ट पर मेरी टिप्पणी में कहा गया है, कि घर पर मेरे एनएएस का उपयोग होता है, और एक-दो महीने के बाद, अटैक्स की राशि को कम कर दिया गया है।
मॉवरोन

2

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

इसे संभालने का आदर्श तरीका फ़ायरवॉल है जो वीपीएन एंडपॉइंट को शामिल करता है, लेकिन आप वीपीएन सर्वर के रूप में कार्य करने के लिए एक विंडोज़ कंप्यूटर भी सेट कर सकते हैं।

यहाँ एक उदाहरण है:

http://www.howtogeek.com/135996/

अब ध्यान रखें कि एक उचित सुरक्षा कॉन्फ़िगरेशन में एक सार्वजनिक (या अर्ध-सार्वजनिक) कंप्यूटर शामिल होगा जो आपके आंतरिक नेटवर्क से अलग हो। एक वेब सर्वर, या सार्वजनिक रूप से उपलब्ध सेवाओं की मेजबानी करने वाला कोई भी कंप्यूटर, आपके घर या कार्यालय के सुरक्षित नेटवर्क के बाहर होना चाहिए। आपके और इंटरनेट के बीच एक सुरक्षित क्षेत्र, या DMZ बनाने के लिए आप 2 राउटर का उपयोग करेंगे।

इस तरह, यदि आपका सर्वर हैक हो गया है, तो इसे आपके अन्य कंप्यूटरों पर हमला करने के लिए वेक्टर के रूप में इस्तेमाल नहीं किया जा सकता है।

तो सेटअप इस तरह दिखेगा:

DMZ कॉन्फ़िगरेशन


छोटी छवि के बारे में क्षमा करें ... मैं यह पता नहीं लगा सकता कि अपनी पोस्ट को कैसे संपादित किया जाए।
टॉमएक्सपी 411

2

उत्तर बहुत अच्छे हैं, मैं केवल दो चीजों की सिफारिश करूंगा:

  • केवल कुंजी प्रमाणीकरण प्रणाली द्वारा पहुंच पर विचार करें
  • Denyhosts का उपयोग करें : यह आपके सर्वर को अमान्य ऑर्ट के साथ एक्सेस करने का प्रयास करने वाले मेजबानों पर प्रतिबंध लगाएगा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.