रास्पबेरी पाई को सुरक्षित करने के लिए क्या किया जाना चाहिए?


82

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

सिर्फ मेरे "दसियों हज़ार" क्विप का समर्थन करने के लिए, एबेन अप्टन ने कहा है कि "रास्पबेरी पाई ने अपने बुनियादी कंप्यूटर मॉड्यूल के 200,000 से अधिक बेचे हैं और वर्तमान में 4,000 यूनिट एक दिन में शिपिंग कर रहे हैं" । यह संभवतः उन 200,000 लोगों में से हजारों को मानने के लिए सुरक्षित है जो इंटरनेट से जुड़े हैं। यह मानना ​​कम सुरक्षित नहीं है कि रास्पबेरी पिस से जुड़े हजारों इंटरनेट एक सार्वजनिक वेब सेवा का सामना कर रहे हैं, लेकिन हैकर के उत्साह की संभावना अभी भी मौजूद है।


3
ध्यान रखें कि हालांकि "दसियों हज़ार" जुड़े हो सकते हैं, वहाँ (वर्तमान में) 3 अलग-अलग लिनक्स डिस्ट्रो उपलब्ध हैं (जो मुझे पता है) और मुझे लगता है कि वहाँ भी कुछ गैर-लिनक्स आधारित परियोजनाएं हैं। यह हैकर के दृष्टिकोण को प्रभावित करता है। फिर भी, यदि सुरक्षा महत्वपूर्ण है, तो अपने डिस्ट्रो को अपडेट रखें और यदि आवश्यक हो, तो अपने डिवाइस को फ़ायरवॉल के पीछे रखें।
RLH

अच्छा बिंदु आरएलएच मैं उस प्रश्न के लिए कुछ अतिरिक्त जानकारी जोड़ूंगा जो रास्पबेरी पाई की हमले की सतह स्टीव के बेहतर विचार का जवाब देने के लिए जंगल में रास्पबेरी पाई की संख्या का समर्थन करता है।
दान बी।

@ डैनब अटैक सतह, पाई की संख्या का नहीं बल्कि आक्रमण के लिए उपलब्ध प्रणालियों और सेवाओं की संख्या का एक कार्य है। en.wikipedia.org/wiki/Attack_surface
स्टीव रोबिलार्ड

@SteveRobillard क्षमा करें यदि मैं टिप्पणी में स्पष्ट नहीं था, लेकिन संपादित करने के लिए मैंने इस प्रश्न से किया था कि मैं गुणात्मक प्रकार से उबालने का प्रयास कर रहा हूं, जो कि सार्वजनिक सामना करने वाली सेवाओं की मेजबानी कर रहे हैं और इसलिए हमले के लिए उपलब्ध एक सेवा पेश करेगा। ।
दान बी

मैंने SSH का उपयोग करते समय अपने रास्पबेरी पाई को सुरक्षित करने के तरीके के बारे में एक संक्षिप्त ट्यूटोरियल पाया है, बहुत साफ-सुथरा लगता है। -> ट्यूटोरियल
डोमिनिक सेंट

जवाबों:


54

कंप्यूटर को सुरक्षित करना एक सरल प्रक्रिया नहीं है, इस विषय पर संपूर्ण पुस्तकें लिखी जाती हैं। पाई का आकार एक संभावित हमलावर को प्रस्तुत सुरक्षा खतरे या हमले की सतह को कम नहीं करता है। परिणामस्वरूप, मैं इसमें शामिल चरणों का वर्णन करूंगा और अधिक विस्तृत निर्देशों और ट्यूटोरियल के लिंक प्रदान करूंगा।

चूंकि आपने उल्लेख नहीं किया है कि आप किस डिस्ट्रो का उपयोग कर रहे हैं, मैं अनुशंसित रास्पियन डिस्ट्रो को मानूंगा।

  1. डिफ़ॉल्ट पासवर्ड बदलें। रस्पियन डिस्ट्रो प्रारंभिक स्टार्टअप स्क्रिप्ट में एक विकल्प के रूप में इसे शामिल करता है। यदि आपने पहले से ऐसा नहीं किया है तो आप इसे बदलने के लिए पासवार्ड कमांड का उपयोग कर सकते हैं । एक मजबूत पासवर्ड चुनना सुनिश्चित करें ।
  2. अप्रयुक्त सेवाओं को अक्षम करेंमैंने देखा कि अनुशंसित रस्पियन डिस्ट्रो में अपाचे वेब सर्वर शामिल है और इसे स्टार्टअप पर सक्षम बनाता है (क्या कोई इसकी पुष्टि कर सकता है) । क्या आपको वास्तव में वेब सर्वर चलाने की आवश्यकता है? यदि इसे अक्षम नहीं किया जाए। यदि आपको अपाचे को चलाने की आवश्यकता है तो इसे सुरक्षित करना सुनिश्चित करें , और इसी तरह अन्य सेवा (जैसे FTP, NGINX, MySQL आदि) के लिए करें, एक Google खोज को कई संसाधनों को चालू करना चाहिए।
  3. स्थापित करें और iptables कॉन्फ़िगर करें ।
  4. अपने सिस्टम को अपडेट रखें। आप इसे क्रोन का उपयोग करके या क्रोन-एप्ट का उपयोग करके स्वचालित कर सकते हैं ।
  5. लॉगिंग और विफल लॉगिन प्रयासों की निगरानी के लिए लॉगिंग कॉन्फ़िगर करें । यदि संभव हो तो आप / var विभाजन की मेजबानी के लिए एक बाहरी हार्ड ड्राइव का उपयोग करें, इससे आपको अधिक स्थान मिलेगा, एसडी कार्ड भरने से लॉग फ़ाइलों से बचें और अपने एसडी कार्ड के जीवन का विस्तार करें।

कुछ अतिरिक्त बातें जिन पर आप विचार करना चाहते हैं:

आपको इस संबंधित प्रश्न को भी पढ़ना चाहिए कि इंटरनेट से कनेक्ट करने से पहले मैं घुसपैठ और मैलवेयर से कैसे बचाव कर सकता हूं (विशेष रूप से सार्वजनिक आईपी पते पर)?

यह आपके पाई को सुरक्षित करने के लिए केवल नंगे न्यूनतम कदम हैं। अधिक जानकारी के लिए आप सिक्योरिंग डेबियन मैनुअल पढ़ना चाह सकते हैं ।


6
अपनी स्वयं की ssh कुंजियाँ बनाना सुनिश्चित करें। मुझे लगता है कि कुछ छवियों में पहले से ही चाबियाँ थीं।
जॉन ला रूय जूल

2
अपाचे को डिफ़ॉल्ट रूप से रास्पियन में स्थापित नहीं किया गया है (उपयोगकर्ता ने php5-mysql IIRC जैसी कोई चीज स्थापित की है)। एक पैकेट फिल्टर के लिए जो नग्न iptables की तुलना में थोड़ा अधिक अनुकूल है, शायद हमें ufw और शायद यहां तक ​​कि इसके GUI फ्रंटेंड gufw की सिफारिश करनी चाहिए?
इलीमि जूल

1
क्या यह iptables स्थापित करने के लिए समझ में आता है, भले ही आप एक राउटर के पीछे हों?
कीकि

2
@ otakun85 हां, इसे गहराई में रक्षा कहा जाता है। अपने राउटर पर पूरी तरह से भरोसा करके किसी को अपने राउटर को iptables होने से पहले ही प्राप्त कर लेना चाहिए और रनिंग आगे के कारनामों को और कठिन बना देती है।
स्टीव रोबिलार्ड

2
अप्रयुक्त सेवाओं को अक्षम करना भी स्टार्टअप समय के साथ मदद करता है और स्मृति (सीपीयू) की एक (छोटी) राशि बचाता है।
टॉम

11

आरपीआई को देखने के बाद, यह बॉक्स के बाहर एक काफी सुरक्षित डिवाइस की तरह लगता है, जब तक आप कुछ चीजें करते हैं।

डिफ़ॉल्ट उपयोगकर्ता / पास की जरूरतें बदल गई हैं। बहुत कम से कम, पासवर्ड बदलें। फिर से बेहतर सुरक्षा के लिए, उपयोगकर्ता नाम भी बदलें। (एक नया उपयोगकर्ता जोड़ें, फिर PI अक्षम करें। जांचें कि ROOT SSH लॉगिन से भी अक्षम है, हालांकि मुझे लगता है कि यह वैसे भी सुविधाजनक है।)

RPI को स्कैन करना केवल एक खुला पोर्ट, 22, जो SSH कनेक्शन है, लौटाता है और यहां तक ​​कि चालू होने से पहले इसे चालू करना होता है (हालांकि अधिकांश लोग मॉनिटर, कीबोर्ड और माउस के बजाय इसका उपयोग करेंगे, मुझे उम्मीद है, विशेष रूप से {{वेब} सर्वर)

आप SSH पोर्ट नंबर बदल सकते हैं, लेकिन यह बहुत कुछ नहीं करेगा, क्योंकि यह आसानी से पर्याप्त स्कैन किया जा सकता है। इसके बजाय, SSH- कुंजी प्रमाणीकरण सक्षम करें।

अब आपके पास सही SSH कुंजी, उपयोगकर्ता नाम और पासवर्ड के बिना किसी को भी अपनी मशीन में लाने का कोई रास्ता नहीं है।

इसके बाद, अपना वेबसर्वर सेट करें। अपाचे बहुत ज्यादा है जहां यह है। यह डिफ़ॉल्ट रूप में पोर्ट 80 को बैठेगा और निगरानी करेगा, और अपने वेबपृष्ठों की सेवा करते हुए, ब्राउज़र से कनेक्शन के लिए स्वचालित रूप से प्रतिक्रिया देगा।

यदि आपके पास एक फ़ायरवॉल या राउटर है, तो आप आरपीआई पोर्ट्स को बदल सकते हैं, और राउटर को ट्रैफ़िक को एक पोर्ट से दूसरे पोर्ट तक निर्देशित कर सकते हैं। उदाहरण के लिए, राउटर में पोर्ट 80 ट्रैफ़िक को आरपीआई पर 75 पोर्ट पर भेज दिया जाता है, और 22 पर एसएसएच को 72 पर पोर्ट करने के लिए रीडायरेक्ट किया जाता है। यह सुरक्षा की एक और परत जोड़ देगा, लेकिन थोड़ी अधिक जटिल है।

सब कुछ अद्यतन और पैच रखें, जाहिर है।

यह आपको उन हमलों से रक्षा नहीं करेगा जो जावा, फ्लैश, एसक्यूएल सर्वर आदि का शोषण करते हैं, जिन्हें आप बाद में अच्छी तरह से जोड़ सकते हैं, लेकिन मूल बातें यह है।

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

एक और चीज जिसे आप जोड़ना चाहते हैं, वह है विफल 2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page ), जो शब्दकोश हमलों को रोकने के लिए कई लॉग-इन प्रयासों को अवरुद्ध करने के लिए एक फ़ायरवॉल नियम जोड़ता है। यद्यपि ये आपके सिस्टम पर काम नहीं कर सकते हैं यदि आपने उपरोक्त का पालन किया है, यदि आपको किसी कारण से केवल SSH को पासवर्ड छोड़ने की आवश्यकता है (आप कई अलग-अलग मशीनों से दूरस्थ लॉगिन, उदाहरण के लिए) तो यह एक शब्दकोश हमले को रोक देगा काम करने से। आपके द्वारा निर्दिष्ट प्रयासों की संख्या के बाद, यह उस आईपी पते से किसी भी अधिक प्रयास के लिए ब्लॉक हो जाएगा। (बस ध्यान रखें कि यह किसी भी रूटर / स्थानीय आईपी पते को नहीं देखता है और बहुत जल्दी या बहुत लंबे समय तक प्रतिबंध लगाता है!)

जोड़ने के लिए संपादित: एक बार जब आप सब कुछ अच्छी तरह से सेट कर लेते हैं, तो अपने एसडी कार्ड का पूर्ण बिट-वार बैकअप लेने के लिए dd या Win32DiskImager जैसे टूल का उपयोग करें। इस तरह, अगर कुछ भी गलत हो जाता है, तो आप इसे उसी कार्ड में पुनर्स्थापित कर सकते हैं या इसे एक नए कार्ड में लिख सकते हैं, और इसकी परवाह किए बिना आगे बढ़ सकते हैं। (लेकिन अगर हैक किया गया है, तो आप यह जानना चाहते हैं कि कौन सा छेद पाया गया था और पहले बंद था, शायद!)


1
क्या आप बता सकते हैं कि राउटर पर आरपीआई पोर्ट को बदलने से सुरक्षा की एक और परत कैसे जुड़ जाती है?
आंद्रेई

4

linode के पास linux सर्वर हासिल करने के लिए एक उत्कृष्ट मार्गदर्शिका है: http://library.linode.com/securing-your-server । रास्पबेरी पाई पर समान नियम लागू किए जा सकते हैं


-1

ओएस को सख्त करने के साथ-साथ आप अपने डिवाइस पर / से / पर गतिविधि की निगरानी करने और कुछ भी अनहोनी का पता चलने पर अलर्ट प्राप्त करने के लिए क्लाउड आधारित सुरक्षा निगरानी सेवा का उपयोग करने पर भी विचार कर सकते हैं। आजकल कुछ क्लाउड आधारित कोलम्बिया उपकरण उपलब्ध हैं, और कुछ (जैसे सीमलेस) एक फ्रीमियम मॉडल का संचालन करते हैं ताकि घर के उपयोगकर्ताओं को एक पैसा न देना पड़े। इस तरह की सर्विसी का उपयोग करने के लिए आपको अपने आप को rsyslog / syslog जैसी चीजों से परिचित कराना होगा जो कि सभी Linux OS वितरण का एक मानक हिस्सा है।


1
क्लाउड टूल हमले की सतह को बढ़ाते हैं, स्थानीय सुरक्षा निगरानी (लॉगवारन / चेक) अच्छे उपकरण हैं, लेकिन यह उत्तर अधूरा है और टिप्पणी का अधिक है।
user1133275
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.