क्लाउड सर्वर फायरवॉल और सुरक्षा प्रबंधन
प्रत्येक KapsuleHost सर्वर एक प्रबंधित फायरवॉल के साथ आता है जो डिफ़ॉल्ट रूप से इनबाउंड ट्रैफिक को अस्वीकार करता है, साथ ही ब्रूट-फोर्स सुरक्षा, वेब एप्लिकेशन फायरवॉल और स्वचालित सुरक्षा पैचिंग, सभी KPanel में एक पृष्ठ से नियंत्रित होती हैं।
डिफ़ॉल्ट सेटिंग्स इस तरह चुनी गई हैं कि एक नया सर्वर आप कुछ भी छुए बिना सुरक्षित है। जो कुछ आप इसके ऊपर जोड़ते हैं वह आमतौर पर सिर्फ वे पोर्ट हैं जिनकी आपके एप्लिकेशन को आवश्यकता है। यह गाइड पूरे सर्वर प्रबंधन पृष्ठ के माध्यम से चलता है, क्योंकि फायरवॉल इसका एक खंड है और अन्य खंड ही वह हैं जो आपको पहली जगह फायरवॉल की आवश्यकता से बचाते हैं।
प्रबंधन पृष्ठ खोलना
- KPanel में साइन इन करें।
- बाएं साइडबार में Cloud Servers पर क्लिक करें, फिर अपने सर्वर पर क्लिक करें।
- पृष्ठ के शीर्ष पर कार्य बटनों में Management पर क्लिक करें।
सीधा पता है /cloud-servers/<server-id>/management। पृष्ठ खुद को "फायरवॉल, OS पैच, fail2ban, और ModSecurity के रूप में वर्णित करता है। परिवर्तन SSH के माध्यम से सेकंड में लागू होते हैं।"

यदि कोई बैनर पढ़ता है "Live apply unavailable. Changes will save to the next provisioning run but won't take effect immediately", पैनल अभी सर्वर तक पहुंचने में सक्षम नहीं है। आपकी सेटिंग्स अभी भी बचाई गई हैं, वे सिर्फ तुरंत लागू नहीं हैं। जांचें कि सर्वर चल रहा है और पहुंचने योग्य है।
डिफ़ॉल्ट फायरवॉल नीति
Firewall (UFW) खंड नीति को एक पंक्ति में बताता है: "Default-deny inbound. SSH (22) is always open. App-stack ports open automatically. Add custom rules below."
व्यावहारिक रूप से इसका अर्थ है:
- इंटरनेट से कोई भी आपके सर्वर तक नहीं पहुंच सकता जब तक कोई नियम इसे अनुमति न दे।
- पोर्ट 22 हमेशा खुला होता है, इसलिए फायरवॉल परिवर्तन आपको कभी मशीन से बाहर नहीं कर सकता।
- वे पोर्ट जिनकी आपके ऐप स्टैक को आवश्यकता है, जैसे वेब एप्लिकेशन के लिए 80 और 443, आपके लिए खोल दिए जाते हैं।
- सर्वर से आउटबाउंड ट्रैफिक प्रतिबंधित नहीं है।
कोई कस्टम नियम नहीं होने पर, खंड "No custom rules. Defaults: SSH + app-stack ports." दिखाता है। यह एक स्वस्थ स्थिति है, न कि एक लापता कॉन्फ़िगरेशन।
कस्टम नियम जोड़ना
एक नियम जोड़ें जब आप डिफ़ॉल्ट नीति द्वारा कवर नहीं किए गए एक पोर्ट पर कुछ चलाते हैं: 3000 पर एक Node एप्लिकेशन, 5432 पर एक डेटाबेस जिस तक आपको सीधे पहुंचना है, एक UDP पोर्ट पर गेम या मीडिया सर्वर।
- Firewall (UFW) खंड खोलें।
- पहले फील्ड में Port नंबर टाइप करें। वैध मान 1 से 65535 हैं।
- TCP या UDP चुनें।
- Allow या Deny चुनें।
- Add पर क्लिक करें।
नियम सूची में ALLOW या DENY बैज और पोर्ट और प्रोटोकॉल के साथ दिखाई देता है, उदाहरण के लिए 3000/tcp। इसे प्रबंधन कनेक्शन के माध्यम से सेकंड में सर्वर को भेज दिया जाता है।
एक नियम को हटाने के लिए, इसकी पंक्ति के अंत में X पर क्लिक करें। एक Allow नियम को हटाना वह पोर्ट तुरंत बंद कर देता है।
पूरे इंटरनेट के लिए डेटाबेस पोर्ट को उजागर करना एक सर्वर के कंप्रोमाइज होने के सबसे सामान्य तरीकों में से एक है। 3306, 5432, 6379 या 27017 की अनुमति देने से पहले, पूछें कि क्या जो कुछ कनेक्ट कर रहा है वह सर्वर के अपने लूपबैक इंटरफेस या निजी नेटवर्क के माध्यम से डेटाबेस तक पहुंच सकता है। यदि इसे वास्तव में बाहर से पहुंचने योग्य होना चाहिए, तो सुनिश्चित करें कि सेवा स्वयं मजबूत प्रमाणीकरण और एन्क्रिप्शन की आवश्यकता है।
पहले नियम जोड़ें, फिर सेवा शुरू करें। एक सेवा जो बंद पोर्ट के पीछे आती है, बिल्कुल उसी तरह टूटी हुई दिखती है जैसे एक सेवा जो शुरू होने में विफल रही, और आप गलत परत को डिबग करने में बहुत समय बर्बाद कर सकते हैं।
ऐप स्टैक
App stack खंड प्लेटफॉर्म को बताता है कि यह सर्वर किस प्रकार का एप्लिकेशन चलाता है, इसलिए कठोरता प्रीसेट को इसके अनुसार ट्यून किया जा सकता है। पैनल के माध्यम से एक एप्लिकेशन इंस्टॉल करना इसे आपके लिए सेट करता है।
मान्यता प्राप्त स्टैक WordPress, WooCommerce, Ghost, Nextcloud, GitLab, Mattermost, Generic web, और No app stack हैं। खंड खुद को इस प्रकार समझाता है: "The hardening preset is tuned to your app. Installing an app from the marketplace auto-sets this."
स्टैक प्रभावित करता है कि कौन से पोर्ट स्वचालित रूप से खुलते हैं और अन्य सुरक्षाएं कैसे ट्यून की जाती हैं, सबसे स्पष्ट रूप से fail2ban में।
fail2ban
fail2ban प्रमाणीकरण प्रयासों को देखता है और उन पतों को प्रतिबंधित करता है जो विफल होते रहते हैं। यह डिफ़ॉल्ट रूप से चालू है और पृष्ठ इसे इस प्रकार वर्णित करता है: "Bans IPs that brute-force SSH. For WordPress sites, adds wp-login.php protection too."
इसे चालू रखें। यह पृष्ठ पर सबसे सस्ती सुरक्षा है, यह प्रदर्शन में कोई खर्च नहीं करता है, और यह पासवर्ड-अनुमान लगाने के प्रयासों के निरंतर पृष्ठभूमि शोर को कुछ भी नहीं में बदल देता है। WordPress या WooCommerce स्टैक पर यह लॉगिन फॉर्म की भी सुरक्षा करता है, जो वह जगह है जहां अधिकांश WordPress के विरुद्ध हमले वास्तव में होते हैं।
ModSecurity, वेब एप्लिकेशन फायरवॉल
ModSecurity HTTP अनुरोधों को OWASP Core Rule Set के विरुद्ध निरीक्षण करता है और जो हमलों की तरह दिखते हैं उन्हें फ्लैग करता है। KapsuleHost सर्वर पर यह detection-only मोड में शुरू होता है: "OWASP Core Rule Set in DetectionOnly mode by default. Logs suspicious traffic without blocking; flip to active mode in your server once tuned."
Detection-only सही शुरुआत बिंदु है। Core Rule Set विस्तृत है, और एक वास्तविक एप्लिकेशन पर कुछ वैध अनुरोध एक नियम से मेल खाएंगे। इसे detection-only में एक समय के लिए चलाएं, लॉग पढ़ें, यह समझ लें कि आपका स्वयं का ट्रैफिक कौन से नियमों को ट्रिप करता है, और केवल तभी सर्वर के अंदर ब्लॉकिंग पर स्विच करें।
पहले ट्यूनिंग किए बिना ब्लॉकिंग को चालू करने से आपकी स्वयं की साइट टूट सकती है। समृद्ध पाठ के साथ फॉर्म सबमिशन, फाइल अपलोड, और असामान्य पेलोड के साथ API क्लाइंट आमतौर पर नुकसान होते हैं। स्विच करने से पहले अपने लॉग्स को जांचें।
OS स्वचालित-पैचिंग
सुरक्षा अपडेट आपके लिए लागू किए जाते हैं। खंड सुरक्षा नेट की व्याख्या करता है: "Security updates applied automatically. Snapshot-protected: a server snapshot is taken before each run, with automatic rollback if the server becomes unreachable after reboot."
टॉगल के नीचे दो सेटिंग्स बैठती हैं:
- Allow automatic reboot when a kernel update needs it (only during quiet hours below). कर्नेल अपडेट केवल रीबूट के बाद प्रभावी होते हैं। यदि आप इसे बंद रखते हैं, तो कर्नेल पैच स्थापित होते हैं लेकिन जब तक आप स्वयं रीबूट नहीं करते तब तक सक्रिय नहीं होते।
- Quiet window (UTC), एक शुरुआत और अंत घंटा। रीबूट सिर्फ इसके अंदर होते हैं। इसे अपने दर्शकों के लिए सबसे शांत घंटों पर सेट करें, और याद रखें कि फील्ड UTC में है, आपके स्थानीय समय में नहीं।
स्वचालित-पैचिंग को चालू रखें। कंप्रोमाइज किए गए सर्वर का अत्यधिक बहुमत ऐसे सॉफ्टवेयर चला रहे हैं जिसका एक पैच सप्ताह पहले प्रकाशित किया गया था। स्वचालित रोलबैक के साथ पूर्व-पैच स्नैपशॉट का मतलब है कि सामान्य आपत्ति, कि एक अपडेट कुछ तोड़ सकता है, पहले से ही संभाला जाता है।
पैच इतिहास और अभी पैच चलाना
Patch history खंड RUNNING, SUCCESS, ROLLED_BACK, FAILED या SKIPPED की स्थिति के साथ प्रत्येक रन को सूचीबद्ध करता है, अपडेट किए गए पैकेजों की संख्या, चाहे सर्वर रीबूट हुआ हो, और यह कब शुरू हुआ।
अनुसूची के लिए प्रतीक्षा करने के बजाय तुरंत पैच करने के लिए, Run patch now पर क्लिक करें। पुष्टिकरण पढ़ता है: "A snapshot is created first. The server stays online except for a brief reboot if a kernel update needs it."
एक ROLLED_BACK प्रविष्टि का अर्थ है कि सुरक्षा नेट ने अपना काम किया: सर्वर रीबूट के बाद स्वच्छ रूप से वापस नहीं आया, इसलिए पूर्व-पैच स्नैपशॉट को पुनर्स्थापित किया गया। यह समझने के लिए Cloud Server Snapshots देखें कि वह स्नैपशॉट कैसे काम करते हैं।
एक समझदारीपूर्ण आधारभूत
अधिकांश सर्वर के लिए, यह पूरा सुरक्षा कॉन्फ़िगरेशन है:
| सेटिंग | अनुशंसित |
|---|---|
| फायरवॉल | चालू, डिफ़ॉल्ट नियम, साथ ही केवल वे पोर्ट जिनकी आपके ऐप को आवश्यकता है |
| fail2ban | चालू |
| ModSecurity | चालू, detection-only जब तक आप लॉग्स नहीं पढ़ लेते |
| OS स्वचालित-पैचिंग | चालू, एक शांत खिड़की में रीबूट की अनुमति के साथ |
| SSH प्रमाणीकरण | कुंजियां, पासवर्ड नहीं |
अंतिम पंक्ति इस पृष्ठ पर नहीं है लेकिन बाकी सभी से अधिक मायने रखता है। SSH के साथ अपने क्लाउड सर्वर से कनेक्ट करना देखें।
समस्या निवारण
"Could not load management config." पैनल इस सर्वर के लिए सेटिंग्स नहीं पढ़ सका। रीलोड करें, और जांचें कि सर्वर मौजूद है और प्रावधान किया गया है।
"Port must be 1-65535." पोर्ट फील्ड उस सीमा में एक पूरी संख्या लेता है। रेंज और सेवा के नाम यहां स्वीकार नहीं किए जाते हैं।
मेरा नियम सहेजा गया लेकिन कुछ भी नहीं बदला। "Live apply unavailable" बैनर को देखें। यदि यह दिखा रहा है, तो परिवर्तन संग्रहीत है लेकिन अभी तक सर्वर को नहीं भेजा गया है।
मैं एक नेटवर्क से अपनी सेवा तक पहुंच सकता हूं लेकिन दूसरे से नहीं। यह आमतौर पर आपका अपना आउटबाउंड फायरवॉल है, सर्वर का नहीं। नियम यहां बदलने से पहले एक अलग कनेक्शन से परीक्षण करें।
एक पैच रन FAILED दिखाता है। पंक्ति पर त्रुटि संदेश पढ़ें। एक पूर्ण डिस्क सबसे सामान्य कारण है। कुछ जगह खाली करें और Run patch now पर क्लिक करें।
वैध ट्रैफिक को ब्लॉक किया जाना शुरू हुआ। यदि आपने ModSecurity को ब्लॉकिंग मोड में स्विच किया है, तो इसे detection-only पर वापस करें, लॉग्स पढ़ें, और फिर से कोशिश करने से पहले नियम की पहचान करें।
यदि कोई फायरवॉल नियम लागू होने में अस्वीकार करता है, या आप किसी सेवा से लॉक आउट हैं जिसे आपने अनुमति दी है, तो सर्वर नाम, पोर्ट, और जो आप इस तक पहुंचने की अपेक्षा करते हैं, के साथ support@kapsulehost.com को ईमेल भेजें।