जवाबों:
मैं किसी उबंटू-विशिष्ट ट्विक्स के बारे में नहीं सोच सकता, लेकिन यहां कुछ ऐसा है जो सभी वितरणों पर लागू होता है:
बेशक यह सूची पूरी नहीं है, और आप कभी भी पूरी तरह से सुरक्षित नहीं होंगे, लेकिन यह उन सभी कारनामों को कवर करता है जो मैंने वास्तविक जीवन में देखे हैं।
इसके अलावा, मैंने जो कारनामे देखे हैं वे लगभग हमेशा असुरक्षित कोड से संबंधित थे, न कि असुरक्षित कॉन्फ़िगरेशन से। डिफ़ॉल्ट कॉन्फ़िगरेशन न्यूनतम में, सर्वर वितरण बहुत सुरक्षित होते हैं।
एक त्वरित चीज जो मैं जल्दी करता हूं वह है डेनिहोस्ट्स को स्थापित करना । यह नियमित रूप से / var / log / safe के माध्यम से दिखेगा, असफल लॉगिन की तलाश में, और कुछ विफलताओं के बाद, IP को ब्लॉक करें। मैंने इसे पहले नो-यूज़र्स के बाद, दूसरे प्रयास में रूट पर, और वास्तविक उपयोगकर्ताओं के लिए कुछ प्रयासों के बाद ब्लॉक करने के लिए सेट किया है (यदि आप गड़बड़ करते हैं, लेकिन आपको लॉगिन करने के लिए SSH सार्वजनिक कुंजी का उपयोग करना चाहिए)।
उबंटू डेबियन पर आधारित है और मैंने डेबियन-आधारित वितरण में बहुत उपयोगी होने के लिए सिक्योर डेबियन मैनुअल पाया है जो आपको आपके सिस्टम के माध्यम से पूरी तरह से चलने और हर हिस्से की जांच करने में मदद करता है। यह मूल रूप से आपके प्रश्न का वास्तव में व्यापक उत्तर है।
मैं आमतौर पर आरकेहंटर स्थापित करता हूं, जो रूटकिट्स के लिए स्कैन करता है और विभिन्न महत्वपूर्ण बायनेरिज़ की अखंडता जांच करता है। यह मानक रेपो में है, और क्रोन से दैनिक चलेगा। यह सही, सुरक्षा के अनुकूल नहीं है, लेकिन इसे जोड़ने के लिए एक कम प्रयास वाला आइटम है, और यह सुरक्षा का एक उपाय प्रदान करता है।
लॉगचेक स्थापित करें, लेकिन ट्वीक करें ताकि आप कभी भी नियमित घटनाओं से संदेश प्राप्त न करें, अन्यथा आपको ईमेल को अनदेखा करने की आदत होगी।
चेक करें कि कौन सी प्रक्रियाएं नेटस्टैट का उपयोग करके सुन रही हैं, और सुनिश्चित करें कि कुछ भी नहीं चल रहा है जिसे चलाने की आवश्यकता नहीं है। कई इंटरफेस को केवल सभी इंटरफेस के बजाय आंतरिक आईपी (या लोकलहोस्ट) पर सुनने के लिए कॉन्फ़िगर किया जा सकता है।
क्या कर सकते हैं सुझाव ...
होस्ट को नॅम्प करें और सभी गैर-आवश्यक सेवाओं को अक्षम करें। यदि आवश्यक हो तो iptables का उपयोग करें।
यदि आप सर्वर के साथ इंटरनेट के पास कहीं भी जा रहे हैं, तो स्नॉर्ट की तरह एक घुसपैठ का पता लगाने वाली प्रणाली स्थापित करें।
विभिन्न निर्देशिकाओं के लिए अलग-अलग विभाजनों का उपयोग करें जैसे कि /tmp
या /var
उनके साथ माउंट करें nosuid
, nodev
और noexec
यदि संभव हो तो।
एक फ़ायरवॉल और एक बॉक्स को ठीक से लॉक करने की अवधारणाओं का उपयोग करना सीखें। डिफ़ॉल्ट पोर्ट बदलना काफी हद तक एक बेकार बात है; उचित अनुप्रयोग और फ़ायरवॉल कॉन्फ़िगरेशन बहुत अधिक महत्वपूर्ण हैं।
दोनों उबुन्टू रेपो में हैं:
सिंटैक्स सीखने के लिए बहुत आसान प्रलेखन और बहुत आसान है। मैं बीस मिनट में एक गेटवे / फ़ायरवॉल स्थापित करने में सक्षम था। इसका एकमात्र कारण है कि मैं इससे दूर हो गया हूं, ऐसा लगता नहीं है कि इसे बनाए रखा जाएगा (अंतिम रिलीज 2 साल पहले)। इसका मतलब यह नहीं है कि यह काम नहीं करता है, लेकिन ...
एक और एक है अधिक iptables- जैसे सिंटैक्स, लेकिन एक ही अवधारणा। फायरहॉल की तुलना में अधिक समुदाय को बनाए रखा गया है, लेकिन इसे लेने में अधिक समय लगता है।
वर्तमान में मैं क्या उपयोग कर रहा हूं। इसका प्रलेखन व्यापक है, और इसका विन्यास प्रारूप सारणीबद्ध है। कार्यशील फ़ायरवॉल / गेटवे कॉन्फ़िगरेशन को चलाने के लिए आवश्यक (6) सभी फ़ाइलों को समझने में मुझे लगभग डेढ़ घंटे का समय लगा। यह काफी शक्तिशाली है। सुझाव: विभिन्न कॉन्फिग फाइलों के लिए मैन पेज वास्तव में मददगार हैं!
ये सभी फ़ायरवॉल कॉन्फ़िगरेशन फ़ाइल से लोड लोड करते हैं। बहुत प्रभावी, सीधे iptables की तुलना में उपयोग करने में आसान, और (मेरी राय में) ufw की तुलना में उपयोग करना और प्रबंधित करना आसान है।
मैं SSH कुंजी के उपयोग के लिए सिफारिशें देता हूं।
एक आईडी सेट करें।
AppArmor के बारे में जानें। यह केवल निर्दिष्ट निर्देशिकाओं और इसके लिए आवश्यक फ़ाइलों के निष्पादन की फ़ाइल पहुंच को प्रतिबंधित करता है। RHEL दुनिया में SELinux के समान। यह कई अच्छी तरह से इस्तेमाल किए गए कार्यक्रमों के लिए पूर्व-कॉन्फ़िगर 'प्रोफाइल' के साथ स्थापित और सक्षम है।
यहाँ अन्य सुझावों के साथ मैं तीन का उल्लेख करूँगा जो स्पष्ट हैं लेकिन शायद पूर्णता के लिए ध्यान देने योग्य हैं: