FIrst, आप शायद इस बात से अवगत हैं लेकिन यदि आपके पास डायनेमिक आईपी है, तो आपको डायनेडीएनएस या डीएनएसडीएनएस जैसे डायनेमिक डीएनएस की आवश्यकता होगी ।
सुरक्षित हिस्से पर, मुझे लगता है कि iptables
(या यदि आप चाहें तो फायरवॉल GUI जैसे फायरस्टार का उपयोग करना) इनबाउंड कनेक्शन के लिए केवल पोर्ट 80 खोलना एक होम सर्वर के लिए पर्याप्त है अगर आपको ssh port (port 22) या ftp (21) खोलने की आवश्यकता नहीं है ) और आप एक मेल सर्वर स्थापित नहीं करेंगे।
यदि आपकी साइट में एक लॉगिन पृष्ठ है या यदि आपको ssh, ftp या smtp खोलने की आवश्यकता है, तो मैं कम से कम कुछ नया स्थापित करने के लिए IP को प्रतिबंधित करने के लिए fail2ban जैसी चीज स्थापित करूंगा जो सफलता के बिना कनेक्शन की कोशिश करता है ताकि वे हमेशा के लिए प्रयास न करें।
एक महत्वपूर्ण बात यह है कि आप अपने लॉग पर एक नज़र रखना होगा, आसानी से स्थापित करने के लिए उन पर नज़र रखने के लिए logwatch
(डेबियन और Ubuntu पर अपने डिफ़ॉल्ट खजाने में होना चाहिए) मेल या दैनिक द्वारा आपको सचेत करने के लिए। आप उन्हें अक्सर पढ़कर क्या गलत है यह जानने के लिए तेजी से सीखेंगे।
यदि आपको सर्वर को संचालित करने के लिए बाहर से कनेक्ट करने की आवश्यकता है, तो वीपीएन और वैसे भी, ओएस को हमेशा अपडेट रखें!
अपडेट: SSH और sftp के लिए, मुझे लगता है कि fail2ban + केवल ssh कीज़ (या कीज़ + पासवर्ड लेकिन पासवर्ड ही नहीं) आपकी न्यूनतम आवश्यकता है (और रूट एक्सेस की अनुमति नहीं देता है)।
यदि आप कनेक्ट करने के लिए जिन मशीनों का उपयोग करते हैं, वे निश्चित IP हैं, इन आने वाले IP के लिए केवल फ़ायरवॉल खोलें।
एक एन्क्रिप्टेड वीपीएन (मैं ओपनवीपीएन का उपयोग करता हूं ) आपकी पहुंच को सुरक्षित करने में भी बहुत मदद करता है। 'त्वरित' आधिकारिक ट्यूटोरियल के
लिए यहां एक नज़र डालें , 15-30 मिनट में आपके पास एक क्लाइंट - एक सर्वर के लिए एक कार्यशील वीपीएन सर्वर होगा। क्लाइंट सर्टिफिकेशन ऑथेंटिकेशन के साथ बेहतर सेटअप के लिए और एक CA (आपका अपना खुद का CA) आपको कुछ और मिनट लेने होंगे: D
यदि आपकी साइटों को MySQL की आवश्यकता होती है या किसी अन्य कारण से आपको इंटरनेट से MySQL (या किसी अन्य डेटाबेस) को प्रबंधित करने की आवश्यकता होती है, यदि आप वीपीएन का उपयोग नहीं करते हैं, तो एक ssh सुरंग का उपयोग करें ताकि आप अपनी मशीन पर एक स्थानीय पोर्ट से कनेक्ट हों और सुरंग एन्क्रिप्ट हो जाए सर्वर से कनेक्शन के लिए आपको डेटाबेस पोर्ट को खोलने की आवश्यकता नहीं है, में -L
और -D
तर्कों पर एक नज़र है man ssh
।
मैं सार्वजनिक आईपी पर सुनने के लिए phpmyadmin स्थापित नहीं करूंगा क्योंकि यह दुनिया के लिए आपका डेटाबेस खोलता है। अगर आपको जरूरत है तो मैं यहां एक सुरंग के लिए एक उदाहरण स्क्रिप्ट रख सकता हूं।