सार्वजनिक पहुंच के लिए एक लिनक्स वेबसर्वर को सुरक्षित करना

I'd like to set up a cheap Linux box as a web server to host a variety of web technologies (PHP & Java EE come to mind, but I'd like to experiment with ruby or Python in the future as well).

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

बाहरी ट्रैफ़िक के लिए इसे खोलने के लिए एक सुरक्षित पर्याप्त तरीके से व्यक्तिगत लिनक्स वेब सर्वर स्थापित करने पर आपकी सलाह क्या है?

0
ro fr bn

12 उत्तर

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

ऐसा कहा जा रहा है कि, काम से दूर या दूर से अपने घर के खोल में जाने में वास्तव में बहुत ही बढ़िया है ... और इस तथ्य को जोड़कर कि आप उसी बंदरगाह पर एसएफटीपी का उपयोग कर सकते हैं, मैं इसके बिना जीवन की कल्पना नहीं कर सका। =)

0
जोड़ा

यदि आप घर से लिनक्स सर्वर चलाते हैं, तो एक अच्छा हल्के आईडीएस के लिए ossec इंस्टॉल करें जो वास्तव में अच्छी तरह से काम करता है ।

[संपादित करें]

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

0
जोड़ा

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

उस नोट पर, यद्यपि यह धागा संभावित रूप से फ्लेमिंग करने के लिए कम हो जाएगा, आपके व्यक्तिगत सर्वर के लिए मेरा सुझाव उबंटू ( यहां उबंटू सर्वर प्राप्त करें ); मेरे अनुभव में, फ़ोरम पर प्रश्न पूछने से उत्तर प्राप्त करने के लिए सबसे तेज़ (हालांकि सुनिश्चित नहीं है कि आगे बढ़ने के बारे में क्या कहना है)।

मेरे घर सर्वर सुरक्षा बीटीडब्ल्यू थोड़े लाभ (मुझे लगता है, या मुझे लगता है) एक स्थिर आईपी (DynDNS पर चलता है) से नहीं।

सौभाग्य!

/एमपी

0
जोड़ा

इस आलेख में चीजों को लॉक करने के कुछ बेहतरीन तरीके हैं:

http://www.petefreitag.com/item/505.cfm

कुछ हाइलाइट्स:

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

लेख इस पुस्तक से कुछ पॉइंटर्स भी लेता है:

Apache Securiy (O'Reilly Press)

जहां तक ​​distros, मैंने Debain और उबंटू चलाया है, लेकिन यह सिर्फ इस पर निर्भर करता है कि आप कितना करना चाहते हैं। मैं किसी भी एक्स के साथ डेबियन भाग गया और जब भी मुझे कुछ चाहिए तो बस उसमें ssh'd। यह ऊपर की ओर रखने के लिए एक आसान तरीका है। या उबंटू में कुछ अच्छी GUI चीजें हैं जो अपाचे / MySQL / PHP को नियंत्रित करना आसान बनाती हैं।

0
जोड़ा

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

0
जोड़ा

ऐसा करने के कई तरीके हैं जो ठीक काम करेंगे। मैं आमतौर पर jtut एक .htaccess फ़ाइल का उपयोग करेंगे। पर्याप्त को सेट अप और सुरक्षित करने के लिए त्वरित। शायद सबसे अच्छा विकल्प नहीं है लेकिन यह मेरे लिए काम करता है। मैं इसके पीछे अपने क्रेडिट कार्ड नंबर नहीं डालूंगा लेकिन इसके अलावा मैं वास्तव में परवाह नहीं करता हूं।

0
जोड़ा

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

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

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

0
जोड़ा

एक बात यह है कि आपको यह सुनिश्चित करना चाहिए कि दुनिया के लिए कौन से बंदरगाह खुले हैं। मैं व्यक्तिगत रूप से एसएसएच के लिए बंदरगाह 22 और एनटीपीडी के लिए पोर्ट 123 खोलता हूं। लेकिन अगर आप पोर्ट 80 (http) या ftp खोलते हैं तो सुनिश्चित करें कि आप कम से कम जानना सीखें कि आप दुनिया में क्या सेवा कर रहे हैं और इसके साथ क्या कर सकते हैं। मैं ftp के बारे में बहुत कुछ नहीं जानता, लेकिन लाखों महान अपाचे ट्यूटोरियल सिर्फ एक Google खोज दूर हैं।

0
जोड़ा

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

1) अस्पष्टता के माध्यम से सुरक्षा

कहने की जरूरत नहीं है, 'असली दुनिया' में इस पर भरोसा करना एक बुरा विचार है और मनोरंजन नहीं किया जाना चाहिए। लेकिन ऐसा इसलिए है क्योंकि असली दुनिया में, बदमाशों को पता है कि वहां क्या है और इसमें लूट होना है।

On a personal server, the majority of 'attacks' you'll suffer will simply be automated sweeps from machines that have already been compromised, looking for default installations of products known to be vulnerable. If your server doesn't offer up anything enticing on the default ports or in the default locations, the automated attacker will move on. Therefore, if you're going to run a ssh server, put it on a non-standard port (>1024) and it's likely it will never be found. If you can get away with this technique for your web server then great, shift that to an obscure port too.

2) पैकेज प्रबंधन

Don't compile and install Apache or sshd from source yourself unless you absolutely have to. If you do, you're taking on the responsibility of keeping up-to-date with the latest security patches. Let the nice package maintainers from Linux distros such as Debian or Ubuntu do the work for you. Install from the distro's precompiled packages, and staying current becomes a matter of issuing the occasional apt-get update && apt-get -u dist-upgrade command, or using whatever fancy GUI tool Ubuntu provides.

0
जोड़ा
जब तक यह बाहरी यातायात की अनुमति देता है, यह तब तक 'असली दुनिया' का हिस्सा है।
जोड़ा लेखक icedwater, स्रोत

बिट-टेक.नेट ने लिनक्स का उपयोग करके होम सर्वर को सेटअप करने के तरीके पर कुछ लेख चलाए। यहां लिंक हैं:

Article 1
Article 2

उम्मीद है कि वे कुछ मदद की हैं।

0
जोड़ा

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

0
जोड़ा

यदि आप ऐसा करने जा रहे हैं, तो थोड़ा पैसा खर्च करें और कम से कम एक समर्पित राउटर / फ़ायरवॉल को एक अलग डीएमजेड पोर्ट के साथ खरीदें। आप अपने सर्वर से अपने आंतरिक नेटवर्क से फ़ायरवॉल करना चाहते हैं ताकि जब (यदि नहीं!) आपके वेब सर्वर से समझौता किया गया है, तो आपका आंतरिक नेटवर्क तुरंत कमजोर नहीं होता है।

0
जोड़ा