Miklix

उबंटू सर्वर पर फ़ायरवॉल कैसे सेट करें

प्रकाशित: 15 फ़रवरी 2025 को 9:34:46 pm UTC बजे

यह आलेख ufw का उपयोग करके GNU/Linux पर फ़ायरवॉल स्थापित करने के तरीके के बारे में बताता है और कुछ उदाहरण प्रदान करता है, जो कि Uncomplicated FireWall का संक्षिप्त रूप है - और नाम भी उपयुक्त है, यह वास्तव में यह सुनिश्चित करने का एक बहुत ही आसान तरीका है कि आपके पास आवश्यकता से अधिक पोर्ट खुले न हों।


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

How to Set Up a Firewall on Ubuntu Server

इस पोस्ट में दी गई जानकारी उबंटू सर्वर 14.04 x64 पर आधारित है। यह अन्य संस्करणों के लिए मान्य हो भी सकती है और नहीं भी। (अपडेट: मैं पुष्टि कर सकता हूँ कि इस पोस्ट में दी गई जानकारी मूल रूप से उबंटू सर्वर 24.04 के अनुसार अभी भी मान्य और कार्यात्मक है, हालाँकि बीच के 10 वर्षों में, ufw सामान्य सर्वर अनुप्रयोगों के लिए प्रोफाइल होने से कुछ हद तक "स्मार्ट" हो गया है (उदाहरण के लिए, आप पोर्ट 80 और 443 के बजाय अलग-अलग "Nginx full" सक्षम कर सकते हैं) और नए नियमों को लागू करने के लिए पूरे फ़ायरवॉल को अक्षम/सक्षम करना अब आवश्यक नहीं है)

जब मैंने पहली बार GNU/Linux (Ubuntu) सर्वर के साथ काम करना शुरू किया था, तो फ़ायरवॉल सेट करने के लिए iptables के लिए संभावित रूप से जटिल कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से बनाना और बनाए रखना शामिल था। हालाँकि, मैंने हाल ही में ufw की खोज की है, जो कि अनकॉम्प्लिकेटेड फ़ायरवॉल का संक्षिप्त रूप है - और यह वास्तव में है :-)

मेरे Ubuntu सर्वर 14.04 की स्थापना में पहले से ही ufw स्थापित था, लेकिन यदि आपके पास नहीं है, तो बस इसे रिपॉजिटरी से स्थापित करें:

sudo apt-get install ufw

UFW वास्तव में सिर्फ़ एक उपकरण है जो iptables कॉन्फ़िगरेशन को सरल बनाता है - पर्दे के पीछे, यह अभी भी iptables और Linux कर्नेल फ़ायरवॉल है जो फ़िल्टरिंग करता है, इसलिए ufw इनसे न तो कम सुरक्षित है और न ही ज़्यादा। हालाँकि, क्योंकि ufw फ़ायरवॉल को सही तरीके से कॉन्फ़िगर करना बहुत आसान बनाता है, यह मानवीय त्रुटि के जोखिम को कम कर सकता है और इसलिए संभवतः अनुभवहीन व्यवस्थापकों के लिए अधिक सुरक्षित है।

यदि आपका सर्वर IPv6 के साथ-साथ IPv4 के साथ भी कॉन्फ़िगर किया गया है, तो सुनिश्चित करें कि यह UFW के लिए भी सक्षम है। फ़ाइल /etc/default/ufw को संपादित करें और IPV6=yes कहने वाली लाइन देखें। मेरे इंस्टॉलेशन पर यह पहले से ही था, लेकिन अगर यह नहीं है या अगर यह नहीं कहता है, तो आपको इसे संपादित करना चाहिए

फिर बस कमांड प्रॉम्प्ट का उपयोग करके उन पोर्ट को सक्षम करें जिन्हें आप खोलना चाहते हैं। यदि आप ssh के माध्यम से अपने सर्वर से जुड़े हैं, तो उसे भी अनुमति देना सुनिश्चित करें अन्यथा यह आपके कनेक्शन को बाधित कर सकता है और संभवतः इसे सक्रिय करने पर आपको अपने सर्वर से लॉक कर सकता है - इस बात पर निर्भर करता है कि आपके पास सर्वर तक भौतिक पहुँच है या नहीं, यह थोड़ा असुविधाजनक हो सकता है ;-)

उदाहरण के लिए, यदि आप मानक पोर्ट 22 पर ssh का उपयोग करते हैं और आप एक ऐसा वेब सर्वर कॉन्फ़िगर कर रहे हैं जो अनएन्क्रिप्टेड (पोर्ट 80 पर HTTP) और एन्क्रिप्टेड (पोर्ट 443 पर HTTPS) दोनों कनेक्शनों का समर्थन करता है, तो आप ufw को कॉन्फ़िगर करने के लिए निम्नलिखित कमांड जारी करेंगे:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

यदि आपको अधिक नियमों की आवश्यकता है, तो उन्हें ऊपर बताए अनुसार जोड़ें।

यदि आपके पास स्थिर IP पता है और आपको केवल एक स्थान से ssh के माध्यम से कनेक्ट करने की आवश्यकता है, तो आप ssh कनेक्शन को एकल मूल पते तक सीमित कर सकते हैं जैसे:

sudo ufw allow from 192.168.0.1 to any port 22

बेशक, इसके बजाय अपना स्वयं का आईपी पता दर्ज करें।

जब हो जाए, तो निम्न प्रविष्ट करके ufw को सक्षम करें:

sudo ufw enable

और आपका काम हो गया! फ़ायरवॉल चालू है और जब आप अपना सर्वर रीबूट करेंगे तो यह अपने आप चालू हो जाएगा :-)

यदि आप ufw कॉन्फ़िगरेशन में परिवर्तन करते हैं, तो उन्हें प्रभावी बनाने के लिए आपको इसे अक्षम और पुनः सक्षम करना पड़ सकता है, जैसे:

sudo ufw disable
sudo ufw enable

वर्तमान कॉन्फ़िगरेशन देखने के लिए, बस दर्ज करें:

sudo ufw status

यदि ufw सक्षम नहीं है, तो यह केवल एक "निष्क्रिय" संदेश दिखाएगा, अन्यथा यह वर्तमान में परिभाषित नियमों को सूचीबद्ध करेगा।

ब्लूस्काई पर साझा करेंफेसबुक पर सांझा करेंलिंक्डइन पर साझा करेंटम्बलर पर साझा करेंX पर साझा करेंलिंक्डइन पर साझा करेंPinterest पर पिन करें

मिकेल बैंग क्रिस्टेंसन

लेखक के बारे में

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