पहली बार एसएसएच सर्वर को इंटरनेट पर खोलना, क्या जांचना है


9

मैं अपेक्षाकृत लंबे समय से कुछ सर्वर चला रहा हूं, लेकिन मैंने हमेशा उन्हें किराए पर दिया है, इसलिए मुझे वास्तविक सर्वर हासिल करने का अधिक अनुभव नहीं है (जैसा कि मैं उस पर चल रहा हूं उस एप्लिकेशन के विपरीत)।

अब मैं अपने छोटे से घर SSH सर्वर को इंटरनेट पर खोलने का मन कर रहा हूं।

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

यदि कोई हो, तो क्या, अन्य चीजें जो मुझे सुरक्षित रखने के लिए करनी चाहिए?

धन्यवाद!

जवाबों:


22

सुनिश्चित करें कि रूट लॉगिन अक्षम हैं PermitRootLogin no। मैं पासवर्ड को पूरी तरह से अक्षम करने PasswordAuthentication noऔर सार्वजनिक कुंजियों का उपयोग करने पर भी विचार करूंगा PubkeyAuthentication yes


+1 ने मुझे इसे हरा दिया ...
ग्रेवीफेस

1
यदि आप पासवर्ड का उपयोग करने जा रहे हैं, तो आप दो कारक प्रमाणीकरण प्रणाली में देखने का प्रयास कर सकते हैं। यदि नहीं, तो मैं यादृच्छिक इंटरनेट कैफे / लाइब्रेरी सिस्टम पर आपके पासवर्ड को टाइप करने के खिलाफ सलाह देता हूं।
मार्क वैगनर

4
यदि आप पासवर्ड को अनुमति देते हैं, तो
br2

@ बेम्बो - वह क्यों है? तार पर भेजी गई पासवर्डों रहे ssh में एन्क्रिप्टेड। हां, कई तरीकों से की-ऑर्टिकल बेहतर है, लेकिन जब तक पासवर्ड पर्याप्त रूप से मजबूत हैं और आपने सत्यापित किया है कि कोई भी कंधे पर सर्फिंग नहीं कर रहा है, तब यह बहुत बड़ी बात नहीं है।
ईईएए

3
@Erika मुझे लगता है कि किसी भी विदेशी embobo प्रणाली के सामान्य अविश्वास की ओर इशारा करते है। हालांकि SSH एन्क्रिप्टेड है, फिर भी एक विदेशी मशीन कह सकती है, अपने कीस्ट्रोक्स लॉग करें। इस प्रकार पासवर्ड = समझौता।
रौथमसन

9

सुनिश्चित करें कि केवल SSH-2 की अनुमति है (क्योंकि SSH-1 ने अतीत में कुछ सुरक्षा चिंताओं को उठाया है ):

Protocol 2

निर्दिष्ट करें कि SSH के माध्यम से लॉगिन करने की अनुमति केवल कौन से उपयोगकर्ताओं को है:

AllowUsers bob, john

बढ़ी हुई सुरक्षा के लिए, पासवर्ड प्रमाणीकरण को अस्वीकार करें और सार्वजनिक कुंजी प्रमाणीकरण का उपयोग करें:

PasswordAuthentication no
PubkeyAuthentication yes

नोट: इस ट्यूटोरियल में कुंजियाँ बनाने और सार्वजनिक-कुंजी प्रमाणीकरण को कॉन्फ़िगर करने के निर्देश हैं।


5

रूट लॉगिन को अक्षम करने या केवल सार्वजनिक कुंजी प्रमाणीकरण का उपयोग करने के बारे में और साथ ही, मैं यह भी दोहराता हूं कि सिस्टम पर कोई उपयोगकर्ता खाते नहीं हैं जिनमें तुच्छ या खाली पासवर्ड हैं। आपने कहा है कि आपके व्यक्तिगत पासवर्ड ठीक हैं, लेकिन यह किसी अन्य कारण से खराब पासवर्ड वाले खाते से इंकार नहीं करता है।

एक उदाहरण के रूप में: मुझे एक नेटवर्क को ठीक करना था जहां पिछले व्यवस्थापक ने स्रोत से अपने सभी सिस्टमों पर नोगिओस स्थापित किया था, और कोई भी पासवर्ड, या पासवर्ड "नागियोस" के साथ एक नगिओस उपयोगकर्ता बनाया, और फिर तीन अलग-अलग मशीनों को प्राप्त करने के लिए आगे बढ़ा। समझौता किया।


4

आप कुछ प्रकार के IP ब्लैकलिस्टिंग टूल जैसे http://denyhosts.sourceforge.net/ को देखना चाह सकते हैं । यह किसी भी IP को ब्लॉक करता है जो कई बार असफल रूप से लॉग इन करने की कोशिश करता है और अत्यधिक कॉन्फ़िगर करने योग्य होता है।


यदि आपके पास रूट लॉगिन अक्षम है तो संभवतः समय की बर्बादी। मेरे अनुभव में (इंटरनेट पर SSH सर्वर के 2 ish वर्ष), केवल एक जोड़े को कभी-कभी मेरा (स्पष्ट) उपयोगकर्ता नाम भी मिला है। बॉट्स केवल आम यूजरनाम पर स्पष्ट पासवर्ड की जांच कर रहे हैं (मेरे सर्वर पर 99% विफल लॉगिन रूट के लिए हैं, जो निश्चित रूप से अक्षम है)।
ब्रेंडन लॉन्ग

4
निश्चित रूप से समय की बर्बादी नहीं - लेकिन
विफलता

विफलता 2 के लिए +1।
जेम्सबर्नेट

1
जड़ केवल स्पष्ट खाता है कि बॉट के लिए जाँच, Nagios देखने जैसा कि ऊपर उल्लेख नहीं है। Mysql और postgres जैसे डेटाबेस खाते भी हैं। प्लस किसी भी अन्य आवेदन खातों।
जेम्सबर्नेट

हाँ मैं वास्तव में मेरी 'शुद्ध ओर SSH मशीन पर एक बॉट गैर-रूट पासवर्ड का अनुमान लगाने से तो निश्चित रूप से निश्चित रूप से नहीं समय की बर्बादी लिया था,। इसके अलावा, इस तरह से एक ब्लैकलेस्टर मिलने के बाद से, लॉग को देखते हुए, वास्तव में रूट के लिए बहुत कम प्रतिशत प्रयास हैं।
लिंडेन शील्ड्स

3

मेरा सुझाव है कि आप Fail2ban स्थापित! http://www.fail2ban.org

यह x को y मिनट के लिए विफल करने के बाद एक IP पर प्रतिबंध लगाता है, स्क्रिप्ट स्क्रिप्ट को जांच में रखने में मदद करता है;)


0

आपके सिस्टम के प्रासंगिक भागों / घटकों के पार लॉग रिव्यू करना (इसके वास्तविक / विशिष्ट कॉन्फ़िगरेशन के आधार पर) ...

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