उत्पादन उपयोग के लिए सुरक्षित LAMP सर्वर


10

उत्पादन के उपयोग के लिए लिनक्स, अपाचे, MySQL, PHP सर्वर (या पर्ल) को सुरक्षित करने के लिए क्या प्रक्रिया है?

लिनक्स के लिए MySQL पासवर्ड और रूट पासवर्ड सेट करने के अलावा अन्य क्या (शायद इतना स्पष्ट नहीं) कदम उठाए जाने चाहिए?

इसके अलावा, मैं क्या कदम उठा सकता हूं, अगर मैं अतिरिक्त पागल होने जा रहा था, जो सामान्य रूप से आवश्यक नहीं हो सकता है?

यह एक बुनियादी एकल साइट उपयोग के लिए है, लेकिन सुरक्षित होना चाहिए।


जवाबों:


13

ये सिफारिशें मेरे सिर के ऊपर से हैं और व्यापक नहीं हैं।

बैस्टिल को देखें, यह स्क्रिप्ट की एक श्रृंखला है जो लिनक्स में सर्वोत्तम प्रथाओं को लागू करती है।

सादे डेटा पर प्रमाणीकरण डेटा न भेजें। उदाहरण के लिए, FTP को अक्षम करें। यदि आप Apache के माध्यम से प्रमाणीकरण डेटा भेजते हैं, तो SSL का उपयोग करें।

GUI इंटरफ़ेस सहित किसी भी अनावश्यक सॉफ़्टवेयर को अक्षम और हटा दें।

SUID बिट सेट और हटाने के साथ किसी भी फाइल का ऑडिट करें। (यह गैर-रूट क्षमताओं को गंभीर रूप से सीमित कर देगा। प्रत्येक व्यक्तिगत परिवर्तन के निहितार्थ को समझें।)

सार्वजनिक लेखन योग्य निर्देशिकाओं का ऑडिट करें और लिखने योग्य बिट को हटा दें। (अकेला छोड़ दें / tmp।)

किसी भी डेमन को रूट के रूप में चलाने से बचें।

सभी मल्टी-उपयोगकर्ता सॉफ़्टवेयर पर शोध करें जो सुरक्षा सर्वोत्तम प्रथाओं के लिए सॉकेट्स पर विस्तार से सुनते हैं।

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

पासवर्ड मानकों को लागू करें। उदाहरण के लिए: अक्षरों और संख्याओं का उपयोग करते हुए न्यूनतम 10 वर्ण, गैर-अल्फ़ान्यूमेरिक वर्ण। यह पासवर्ड फ़ाइल समझौता के मामले में अधिक कठिन मजबूर करने के लिए है। इसे सिस्टम के माध्यम से लागू करें।

कम से कम 10 मिनट के लॉकआउट के साथ 5 असफल प्रमाणीकरण प्रयासों के बाद उपयोगकर्ताओं को लॉक करें। एक पासवर्ड इतिहास बनाए रखें ताकि उपयोगकर्ता पिछले 5 पासवर्ड का उपयोग न कर सकें।

यदि आपके पास एक बड़ा वातावरण है, तो जोखिम को अलग करने के लिए कई सबनेट के साथ नेटवर्क अलगाव का उपयोग करना एक पूर्ण आवश्यकता है। यदि एक छोटा वातावरण, एक्सपोज़र को सीमित करने के लिए स्थानीय सिस्टम पर फ़ायरवॉल चलाने की सिफारिश की जाती है। उदाहरण के लिए, केवल आपके IP को SSH की अनुमति देता है। tcpwrappers का उपयोग एक अतिरिक्त परत के लिए भी किया जा सकता है। (/etc/hosts.allow, /etc/hosts.deny)

और, ज़ाहिर है, सभी सॉफ़्टवेयर को अद्यतित रखते हुए। विशेष रूप से सार्वजनिक सामना करना पड़ा डेमॉन।

SSH के साथ:

  • SSH प्रोटोकॉल को अक्षम करें 1
  • केवल रूट प्रमाणीकरण की अनुमति दें without-password(केवल कीपर)

अपाचे के साथ:

  • किसी भी मॉड्यूल को अक्षम करें जिसकी आवश्यकता नहीं है
  • .Htaccess और सार्वजनिक निर्देशिकाओं को अक्षम करें
  • FollowSymlink और किसी भी अनावश्यक विकल्प को अक्षम करें
  • यदि आपको इसकी आवश्यकता नहीं है तो PHP स्थापित न करें।

MySQL के साथ:

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

मैं विशेष रूप से सुरक्षा के लिए php.ini ट्यूनिंग पर शोध करना चाहूंगा। यह डिफ़ॉल्ट रूप से जोखिम भरा सॉफ्टवेयर है।

Bastille


मैं php ट्यूनिंग के लिए cyberciti.biz/tips/php-security-best-practices-tutorial.html पढ़ने का सुझाव
दूंगा

2

यहाँ एक अच्छा लेख है जिसे आप अपने सेटअप के लिए एक आधार के रूप में उपयोग कर सकते हैं और अपने अनुसार अपनी स्थिति बदल सकते हैं: http://it.toolbox.com/blogs/rayheffer/how-to-build-a-secure-lamp-web सर्वर-साथ-centos-5-36,786


लेकिन मूल रूप से, उन मॉड्यूलों को लोड न करें जिनकी आपको स्पष्ट रूप से आवश्यकता नहीं है, सभी संस्करण संख्याओं और डिबग / informations पृष्ठों को छिपाएं, कड़े पासवर्ड वाले प्रत्येक एप्लिकेशन के लिए एक mysql उपयोगकर्ता बनाएं, हमेशा अपने सर्वर पर नियमित उपयोगकर्ता खाते का उपयोग करके लोगों को काम करें और उन्हें सुडोल बनाएं यदि उन्हें रूट अनुमतियों की आवश्यकता है, तो iptables जैसे फ़ायरवॉल का उपयोग करें और केवल आपके बॉक्स के अंदर आने के लिए आवश्यक पोर्ट आधारित ही खोलें ... जो प्लस लेटेस्ट पैच पहले से ही आपको काफी सुरक्षित सेटअप देगा।
अलेक्जेंड्रे निज़ौक्स

यह लेख अच्छा नहीं है।
सेलिनक्स

0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.