Jeffrey Cross
Jeffrey Cross

हमलावरों के खिलाफ अपने रास्पबेरी पाई को सुरक्षित करने के लिए ये कदम उठाएं

रास्पबेरी पाई बोर्ड किसी भी परियोजना के लिए शानदार हैं - वे सस्ते हैं, उपयोग में आसान हैं, संभव ऑपरेटिंग सिस्टम की एक विस्तृत श्रृंखला चला सकते हैं, और प्रोग्रामेबल जीपीओ पिन के साथ-साथ मल्टी-कोर सीपीयू उपलब्धता और कई यूएसबी पोर्ट प्रदान कर सकते हैं।

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

कोई रास्पबेरी पाई क्यों हैक करेगा?

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

पासवर्डों

डिफ़ॉल्ट पासवर्ड बदलें - यदि आप NOOBS या रास्पियन के हाल के संस्करण को स्थापित कर रहे हैं, तो "पी" उपयोगकर्ता के डिफ़ॉल्ट पासवर्ड को किसी ऐसी चीज़ में बदलना सुनिश्चित करें जो अनुमान लगाने में लंबा और कठिन हो। "Iamasuckerfor5dollarmojitos" जैसा पासपेज़ [ईमेल संरक्षित] से बहुत बेहतर है! यहां तक ​​कि अगर आप खाते को अक्षम करने की योजना बनाते हैं, तो यह पहला कदम बुनियादी सुरक्षा है जिसे आप भूल जाते हैं।

उपयोगकर्ता का खाता

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

$ sudo / usr / sbin / useradd - ग्रुप्स sudo -m मेकज़िन

"Makezine" के बजाय अपने स्वयं के उपयोगकर्ता नाम का उपयोग करें। यह एक नया खाता बनाएगा, खाते के लिए एक निर्देशिका बनाएगा (जैसे कि / घर / makezine), और sudo समूह में नया खाता जोड़ते हैं ताकि उपयोगकर्ता sudo कमांड का उपयोग कर सके। नया उपयोगकर्ता खाता बन जाने के बाद हमें खाते के लिए एक पासवर्ड सेट करना होगा। आप कमांड का उपयोग करके ऐसा कर सकते हैं:

$ सूदो पासवड मेकज़िन

इसके बाद, रूट पासवर्ड रीसेट करें। अनुमान लगाने के लिए कुछ लंबा और कठिन चुनें।

$ सूडो पासवूड

अंत में, आप Pi खाते को अक्षम करना चाहते हैं:

$ सूडो पासवॉल्ड - पी

अब आप पाई खाते से लॉग आउट कर सकते हैं और अपने नए खाते और पासवर्ड से लॉग इन कर सकते हैं।

SSH को सुरक्षित करना

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

उन्हें सेट करने के लिए, कमांड के साथ, vi या किसी अन्य टेक्स्ट एडिटर का उपयोग करके SSH कॉन्फ़िगरेशन फ़ाइल को संपादित करें:

$ सुडो vi / etc / ssh / sshd_config

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

# प्रमाणीकरण: LoginGraceTime 120 PermitRootLogin कोई StrictModes हाँ RSAAuthentication हाँ PubkeyAuthentication हाँ प्राधिकृतKeysFile% h / .ssh / अधिकृत_keys # खाली पासवर्ड सक्षम करने के लिए, हाँ (नहीं RECOMMENDED) में परिवर्तन करने के लिए # ChangePemptyPasswords हाँ सक्षम करने के लिए # बदलें। # कुछ PAM मॉड्यूल्स और थ्रेड्स) ChallengeResponseAuthentication नंबर # ट्यून किए गए स्पष्ट टेक्स्ट पासवर्डों को निष्क्रिय करने के लिए नहीं बदलें

अंतिम पंक्ति बहुत महत्वपूर्ण है क्योंकि यह प्लग करने योग्य प्रमाणीकरण मॉड्यूल (पीएएम), या देशी लिनक्स प्रमाणीकरण को अक्षम कर देगा, और केवल उपयोगकर्ताओं को एक कुंजी के साथ लॉग इन करने की अनुमति देगा। इसके बाद, SSH कुंजी जनरेट करें। आप इसे विंडोज पर PuTTY के साथ या लिनक्स पर ssh-keygen कमांड के साथ कर सकते हैं। अपने उपयोगकर्ता के घर निर्देशिका में एक .ssh निर्देशिका और निम्न आदेशों के साथ एक अधिकृत_की फ़ाइल बनाएँ। अनुमतियाँ ठीक से सेट करना सुनिश्चित करें (अन्यथा कुंजी आधारित प्रमाणीकरण विफल हो जाएगा):

$ mkdir ~ / .shsh $ chmod 0700 ~ / .ssh $ स्पर्श ~ / .ssh / अधिकृत_की $ chmod 0600 ~ / .ssh / प्राधिकृत_के।

अगली बार आपके द्वारा उत्पन्न सार्वजनिक कुंजी में अधिकृत_की फ़ाइल और पेस्ट को संपादित करने के लिए अपने टेक्स्ट एडिटर का उपयोग करें ताकि आप लॉग इन कर सकें। कमांड का उपयोग करके परिवर्तनों को प्रभावी बनाने के लिए SSH को पुनरारंभ करना सुनिश्चित करें:

$ sudo systemctl पुनरारंभ ssh

फ़ायरवॉल

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

$ sudo apt-get install iptables iptables-persistent

ध्यान दें कि iptables फ़ायरवॉल का उपयोग करने के लिए नए कर्नेल मॉड्यूल को लोड करने की आवश्यकता होगी। उन्हें लोड करने का सबसे आसान तरीका आपके पाई को रिबूट करना है। एक बार iptables स्थापित होने के बाद, आगे बढ़ें और कमांड के साथ वर्तमान iptables नियमों की जाँच करें:

$ sudo / sbin / iptables -L

यह उन नियमों को सूचीबद्ध करेगा, जो संभवतः खाली हैं। आप इन नियमों को पाठ फ़ाइल में सहेज सकते हैं और कमांड का उपयोग करके इसे संपादित कर सकते हैं:

$ sudo / sbin / iptables-save> /etc/iptables/rules.v4

यह वह फ़ाइल है जिसका iptables-persistent उपयोग करता है जब आपका सिस्टम बूट करता है या यह सुनिश्चित करने के लिए रीबूट करता है कि फ़ायरवॉल अभी भी चल रहा है। सहेजें, फिर फ़ाइल को संपादित करें ताकि यह कुछ हद तक निम्नलिखित की तरह दिखे (जो भी नियमों की आवश्यकता हो उसे बदल दें):

$ sudo cat /etc/iptables/rules.v4: INPUT ACCEPT [0: 0]: FORWARD ACCEPT [0: 0]: OUTPUT ACCEPT [0: 0] # अनुमति देता है कि सभी लूपबैक (lo0) ट्रैफिक को छोड़ दें और सभी ट्रैफिक को 127 / पर गिरा दें। 8 जो lo0-IN INPUT -i lo -j ACCEPT -A INPUT का उपयोग नहीं करता है! -i lo -d 127.0.0.0/8 -j REJECT # सभी स्थापित इनबाउंड कनेक्शन को स्वीकार करता है-INPUT -m राज्य - स्टेट असंबद्ध, संबंधित -j ACCEPT # सभी आउटबाउंड ट्रैफ़िक को अनुमति देता है # आप इसे केवल कुछ ट्रैफ़िक की अनुमति दे सकते हैं - OUTPUT -j ACCEPT # SSH कनेक्शन की अनुमति देता है # -dport नंबर / etc / ssh / sshd_config -A INPUT -p tcp -m राज्य के समान है - स्टेट न्यू -पोर्ट 22 -j ACCEPT # लॉग iptables से वंचित कॉल ('dmesg' कमांड के माध्यम से पहुंच) -A INPUT -m सीमा - 5 / मिनट -j लॉग - लॉग-उपसर्ग "iptables अस्वीकृत:" --log-स्तर 7 # अन्य सभी आवक को अस्वीकार करें - डिफ़ॉल्ट रूप से स्पष्ट रूप से इनकार करें अनुमत नीति:-INPUT -J REJECT-FOR FORARD -j REJECT COMMIT

अगला, सुनिश्चित करें कि आपके iptables ठीक से काम कर रहे हैं। यह मुश्किल हो सकता है क्योंकि आप SSH के माध्यम से दूर से जुड़े हो सकते हैं, और यदि आपने कुछ गड़बड़ की है, तो आप नहीं चाहते हैं कि आपका कनेक्शन विच्छेदित हो। शुक्र है, एक आदेश है जो नियमों को लागू करने और पुष्टि के लिए पूछकर आपकी सहायता करेगा जो आप अभी भी कनेक्ट कर सकते हैं। यदि आप किसी निश्चित समय में जवाब नहीं देते हैं, तो कार्यक्रम मान जाएगा कि आप डिस्कनेक्ट हो गए हैं और यह आपके परिवर्तनों को वापस करेगा। यदि आप प्रतिक्रिया करते हैं, तो यह आपके परिवर्तनों को स्थायी रूप से लागू करेगा। इसे पूरा करने के लिए कमांड का उपयोग करें:

$ sudo / usr / sbin / iptables-apply /etc/iptables/rules.v4

यदि सब कुछ काम करता है, तो आपके परिवर्तन लागू हो जाएंगे और आप उन्हें कमांड से देख सकते हैं:

$ sudo / sbin / iptables -L

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

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

अपडेट और बैकअप

अपने पैकेजों को नियमित रूप से अपडेट करें। अपडेट के लिए रास्पबेरी पाई वेबसाइट देखें। आप आधिकारिक डेबियन विकी पर वर्णित पैकेज "अनअटेंडेड-अपग्रेड" को स्थापित करके स्वचालित अपडेट सेट कर सकते हैं।

बैकअप अपने विन्यास। आपका एसडी कार्ड फेल हो जाएगा। असफलता की अपेक्षा करें और एक एन्क्रिप्टेड पैकेज, फ़ाइल, या फ़ाइल सिस्टम के हिस्से के रूप में बाहरी USB अंगूठे ड्राइव में अपने डेटा या एसडी कार्ड को संपूर्ण रूप से बैकअप दें।

यदि आप कर सकते हैं तो पहले से तैयार रेडी टू गो चित्रों से बचें। यदि आप कहीं से पहले से स्थापित छवि का उपयोग कर रहे हैं, तो अपने आप से पूछें कि क्यों। आपको निर्माता में पूर्ण और पूरी तरह से विश्वास की आवश्यकता है, जिसके पास कोनों में कटौती हो सकती है और कमजोर सॉफ़्टवेयर या यहां तक ​​कि बैकडोर स्थापित हो सकता है। यह अनजाने में भी हो सकता है। देखें कि क्या आप छवि या सॉफ़्टवेयर को स्वयं स्थापित कर सकते हैं। यदि आप नहीं कर सकते हैं या नहीं कर रहे हैं, तो सुनिश्चित करें कि आपका पीआई अपने नेटवर्क में है और आपके नेटवर्क पर किसी अन्य सिस्टम तक नहीं पहुंच सकता है। यदि आपके राउटर में DMZ सेगमेंट या एक अतिथि वाई-फाई नेटवर्क है, तो इस शर्त पर एक Pi के लिए एक उत्कृष्ट विकल्प है कि केवल वह सेवाएँ जिन्हें आप उजागर करना चाहते हैं, वे इंटरनेट पर दिखाई देती हैं। यदि आपको पूर्व-निर्मित छवि का उपयोग करने की आवश्यकता है:

  • सहित सभी खातों के लिए सभी पासवर्ड बदलें, लेकिन "पी" उपयोगकर्ता और "रूट" उपयोगकर्ता तक सीमित नहीं है। रास्पबेरी पाई के साथ आने वाले सॉफ़्टवेयर में अधिक सेवाएँ शामिल हो सकती हैं। "नेटस्टैट" के साथ देखें कि कौन सी सेवाएं चल रही हैं और अपने फ़ायरवॉल और राउटर कॉन्फ़िगरेशन की जांच करके सुनिश्चित करें कि आप केवल वही दिखा रहे हैं जो आवश्यक है।
  • निम्नलिखित प्रदर्शन करके SSH कुंजियों को फिर से बनाएँ:
# # बिन / rm -v / etc / ssh / ssh_host_ * # dpkg-reconfigure ओपनश-सर्वर
  • ड्राइव-दर और सेवाओं की बड़े पैमाने पर स्कैनिंग से बचने के लिए गैर-मानक पोर्ट की ओर चल रही सेवाओं को बदलने पर विचार करें। अधिकांश हमलावर केवल पीड़ितों को प्राप्त करने के लिए बाहर हैं जो डिफ़ॉल्ट बंदरगाहों का उपयोग करते हैं।
  • अपडेट और संबंधित सुरक्षा समाचारों के लिए छवि के लेखक के साथ वापस जांचें।

निरंतरता सुनिश्चित करें

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

हीट्सिंक: यदि आपका रास्पबेरी पाई मौसम की वजह से बहुत गर्म हो या ओवरक्लॉक हो जाए तो यह शर्म की बात होगी। सुनिश्चित करें कि आपके पास CPU पर एक हीटसिंक है यह सुनिश्चित करने के लिए कि वास्तव में भारी स्पाइक्स इसे रोकने के लिए पीस नहीं रहे हैं। वे केवल कुछ डॉलर खर्च करते हैं और स्थापित करना आसान है।

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

$ sudo apt-get install लॉगवॉच

फिर अपनी आवश्यकताओं के अनुरूप विन्यास फाइल को /usr/share/logwatch/default.conf/logwatch.conf पर समायोजित करें। डिफ़ॉल्ट रूप से, लॉगवाच रूट खाते को ईमेल करेगा, इसलिए आप शायद किसी प्रकार के रिले को सेट करना चाहते हैं। आप आगे की सलाह के लिए ईमेल रिले पर मेरा लेख देख सकते हैं।

शेयर

एक टिप्पणी छोड़