सवाल एक ताजा उबंटू सर्वर को सुरक्षित करना [बंद]


मान लें कि मुझे उबंटू का एक नया इंस्टॉल मिला है, रेलवे एप्लिकेशन सर्वर के रूप में उपयोग के लिए इसे सुरक्षित करने के लिए मुझे क्या कदम उठाने चाहिए?


36
2018-04-30 08:10


मूल


यहां एक समान सवाल है, यह मदद कर सकता है; serverfault.com/questions/11659 - hayalci


जवाब:


मैं किसी उबंटू-विशिष्ट tweaks के बारे में नहीं सोच सकता, लेकिन यहां कुछ ऐसे हैं जो सभी वितरणों पर लागू होते हैं:

  1. सभी अनावश्यक पैकेजों को अनइंस्टॉल करें
  2. एसएसएच में सार्वजनिक कुंजी केवल प्रमाणीकरण का प्रयोग करें
  3. एसएसएच के माध्यम से रूट लॉग इन अक्षम करें (उबंटू पर लागू नहीं होता है)
  4. PHP के लिए उत्पादन सेटिंग्स का उपयोग करें (php.ini- अनुशंसित)
  5. केवल सॉकेट का उपयोग करने के लिए MySQL कॉन्फ़िगर करें

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

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


25
2018-04-30 08:30



MySQL जैसी सेवाओं के लिए बंदरगाह बदलें (बेकार अगर इसे केवल सॉकेट का उपयोग करने के लिए कॉन्फ़िगर करना है), एफ़टीपी (हालांकि, यदि आप सुरक्षित हैं तो आपको एफ़टीपी का उपयोग नहीं करना चाहिए), एसएसएच और सभी प्रकार के। - Josh Hunt
"सभी अनावश्यक पैकेज अनइंस्टॉल करें"। ठीक। बहुत अस्पष्ट है। क्या 'अनावश्यक' पैकेज? - Luke
@ ल्यूक: जो भी आप उपयोग नहीं कर रहे हैं वह अनावश्यक है। अधिक विशिष्ट, चल रही सेवाएं जिनकी आपको आवश्यकता नहीं है, मशीनों को अनावश्यक जोखिम में डाल दें। - Andrioid
@ ल्यूक: बिल्ली / आदि / सेवाओं को आपको कुछ विचार देना चाहिए। - jeshurun


एक त्वरित चीज जो मैं जल्दी करता हूं इंस्टॉल है denyhosts। यह नियमित रूप से असफल लॉग इन की तलाश में / var / log / safe के माध्यम से देखेगा, और कुछ विफलताओं के बाद, आईपी को अवरुद्ध करें। मैंने इसे रूट पर दूसरे प्रयास पर, पहले उपयोगकर्ताओं के बाद ब्लॉक करने के लिए सेट किया है, और वास्तविक उपयोगकर्ताओं के लिए कुछ प्रयासों के बाद (यदि आप गड़बड़ करते हैं, लेकिन आपको लॉगिन करने के लिए एक एसएसएच सार्वजनिक कुंजी का उपयोग करना चाहिए)।


17
2018-04-30 08:52



जैसा कि आप Sourceforge मुखपृष्ठ से लिंक करते हैं - denyhosts "sudo aptitude install denyhosts" के माध्यम से भंडार (ब्रह्मांड) में भी उपलब्ध है - Olaf
अच्छा बिंदु @olaf। मैंने जिन सर्वरों पर इसे स्थापित किया था, वे आरएचईएल थे, जहां यह डीएजी के रेपो में भी है। - Alister Bulman
+1 denyhosts के लिए - wimvds
DenyHosts केवल एसएसएच ब्रूट फोर्स हमलों का पता लगाने और ब्लॉक करने लगता है। बेहतर विकल्प असफल होगा 2ban (यह रिपो में भी उपलब्ध है), जो विभिन्न चीजों पर नजर रखता है, जिसमें अन्य चीजों के साथ अपाचे लॉग भी शामिल है। समुदाय विकी को देखें help.ubuntu.com/community/Fail2ban - jeshurun


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


10
2018-04-30 13:01



क्या आपके पास इसके लिए एक लिंक है? - Flame
क्षमा करें, सोचा था कि लिंक पोस्ट में था। यह पर है: debian.org/doc/manuals/securing-debian-howto - Mike McQuaid


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


5
2018-04-30 12:35





लॉगचेक इंस्टॉल करें, लेकिन ट्विक करें ताकि आप नियमित घटनाओं से संदेश कभी प्राप्त न करें, अन्यथा आपको ईमेल को अनदेखा करने की आदत मिल जाएगी।

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


4
2018-04-30 11:21





क्या सुझाव दे सकता है ...

मेजबान को एनएमएपी करें और सभी गैर-आवश्यक सेवाओं को अक्षम करें। यदि आवश्यक हो तो iptables का उपयोग करें।


3
2018-04-30 08:33



किसी भी सर्वर पर जो इंटरनेट के माध्यम से सुलभ है, iptables है हमेशा ज़रूरी। ;-) - Christopher Cashell


यदि आप सर्वर के साथ इंटरनेट के पास कहीं भी जा रहे हैं, तो घुसपैठ की तरह एक घुसपैठ का पता लगाने प्रणाली स्थापित करें।


3
2018-04-30 08:38





विभिन्न निर्देशिकाओं के लिए अलग विभाजन का प्रयोग करें /tmp या /var और उन्हें साथ माउंट nosuid, nodev तथा noexec अगर संभव हो तो।


3





कुछ फ़ायरवॉल सुझाव।

फ़ायरवॉल और बॉक्स को ठीक से लॉक करने की अवधारणाओं का उपयोग करना सीखें। डिफ़ॉल्ट बंदरगाहों को बदलना काफी हद तक बेकार चीज है; उचित अनुप्रयोग और फ़ायरवॉल विन्यास बहुत अधिक महत्वपूर्ण हैं।

दोनों उबंटू रेपो में हैं:

FireHOL

भयानक दस्तावेज और सिंटैक्स सीखना बहुत आसान है। मैं बीस मिनट में गेटवे / फ़ायरवॉल स्थापित करने में सक्षम था। एकमात्र कारण यह है कि मैं इससे दूर चले गए हैं कि यह बनाए रखा प्रतीत नहीं होता है (2 साल पहले अंतिम रिलीज)। इसका मतलब यह नहीं है कि यह काम नहीं करता है, लेकिन ...

Ferm

एक और है अधिक iptables- जैसे वाक्यविन्यास, लेकिन एक ही अवधारणा। फायरहोल की तुलना में अधिक समुदाय बनाए रखा जाता है, लेकिन इसे लेने में अधिक समय लगता है।

Shorewall

मैं वर्तमान में उपयोग करता हूं। इसका दस्तावेज व्यापक है, और इसका कॉन्फ़िगरेशन प्रारूप टैब्यूलर है। काम करने वाली फ़ायरवॉल / गेटवे कॉन्फ़िगरेशन चलाने के लिए मुझे आवश्यक सभी फ़ाइलों को समझने में डेढ़ घंटे लग गए (6)। यह काफी शक्तिशाली है। टीआईपी: विभिन्न कॉन्फ़िगरेशन फ़ाइलों के लिए मैन पेज वास्तव में सहायक हैं!

कॉन्फ़िगरेशन फ़ाइल से इन सभी लोड फ़ायरवॉल कॉन्फ़िगरेशन। Iptables की तुलना में उपयोग करने के लिए बहुत प्रभावी, आसान है, और (मेरी राय में) यूएफडब्ल्यू से उपयोग और प्रबंधन करना आसान है।

अन्य:

  • मैं एसएसएच कुंजी उपयोग के लिए सिफारिशों को दूसरी बार।

  • एक आईडीएस सेट अप करें।

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


3