UFW कहता है कि उसे OpenSSH से मेल खाती कोई प्रोफ़ाइल नहीं मिलती, और कारण की खोज सीधे SSH सर्वर तक जाती है। यह गलत दिशा है: संदेश किसी नामित फ़ायरवॉल परिभाषा के बारे में है और यह नहीं बताता कि sshd इंस्टॉल है, चल रहा है या सुन रहा है। UFW ऐप प्रोफ़ाइल लेबल लगी पोर्ट और प्रोटोकॉल की सूची है। परिभाषा पढ़ने में एक कमांड लगता है और आमतौर पर जाँच वहीं खत्म हो जाती है।

चरण 1: UFW जिन नामों को वास्तव में जानता है उनकी सूची बनाएँ

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

ufw app list
ufw app info OpenSSH

डिफ़ॉल्ट इंस्टॉल पर सूची छोटी है, और नाम पैकेज के नाम नहीं हैं। openssh-server पैकेज इंस्टॉल होने पर भी OpenSSH नाम की प्रोफ़ाइल अनुपस्थित हो सकती है, और उल्टा भी संभव है। सूची जो ठीक वही नाम छापती है उसी का उपयोग करें; मिलती-जुलती वर्तनी वाला VPN प्रोफ़ाइल नाम या डेस्कटॉप लॉन्चर UFW ऐप प्रोफ़ाइल नहीं है। यदि आपका चाहा नाम नहीं है, तो यही निष्कर्ष है, और अगला चरण यह देखना है कि इसे किसे आपूर्ति करनी चाहिए।

चरण 2: लेबल नहीं, परिभाषा पढ़ें

प्रोफ़ाइल /etc/ufw/applications.d के अंतर्गत INI-शैली की फ़ाइल है, जिसमें नाम, शीर्षक, विवरण और पोर्ट फ़ील्ड होता है। पोर्ट फ़ील्ड कई पोर्ट और परिवहन सूचीबद्ध कर सकता है, इसलिए लेबल परिभाषा से कम बताता है। UFW मैनुअल इन फ़ील्डों और एप्लिकेशन अद्यतन क्रिया का दस्तावेज़ीकरण करता है। नाम का अर्थ कोई एक जाना-पहचाना पोर्ट मानने के बजाय फ़ाइल पढ़ें।

cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH

22/tcp वाली परिभाषा TCP पोर्ट 22 बताती है और कुछ नहीं। यह सिद्ध नहीं करती कि इस मशीन का डेमन वहाँ सुनता है, और आपके बाद में जोड़े गए दूसरे पोर्ट को नहीं ढकती। यदि डेमन कहीं और चलता है, तो प्रोफ़ाइल गलत अनुमति है, भले ही उसका नाम उत्पाद से मेल खाए। किसी को भी अनुमति देने से पहले श्रोता की परिभाषा से तुलना करें।

ss -ltnp 'sport = :22'

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

चरण 3: प्रोफ़ाइल को चल रही सेवा से अलग करें

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

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

यदि प्रोफ़ाइल नहीं है और आपको एक चाहिए, तो समीक्षित स्पष्ट पोर्ट नियम या applications.d के अंतर्गत स्थानीय प्रोफ़ाइल दोनों वैध हैं। अनचाहा पैकेज इंस्टॉल करना वैध नहीं है।

चरण 4: फ़ायरवॉल दोबारा लोड करने से पहले वापसी का रास्ता रखें

किसी भी नियम परिवर्तन से पहले पुष्टि करें कि मशीन में आपका दूसरा रास्ता है: कंसोल, आउट-ऑफ़-बैंड पता या निर्धारित रोलबैक। फिर नियम-समुच्चय और डिफ़ॉल्ट नीति पढ़ें, क्योंकि SSH नियम के बिना डिफ़ॉल्ट अस्वीकृति परीक्षण के दौरान खुद को बाहर ताला लगाने का क्लासिक तरीका है। एक बार में एक नियम बदलें और UFW जो पुष्टि छापता है उसे पढ़ें। सहेजा नियम, सक्रिय नियम और पहुँचने योग्य सेवा तीन अलग अवलोकन हैं।

ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH

परिवर्तन के बाद अनुमत कनेक्शन और एक ऐसा रास्ता जाँचें जिसे अभी भी अस्वीकार होना चाहिए। अस्वीकृति परीक्षण अनुमति परीक्षण जितना ही महत्वपूर्ण है, क्योंकि इरादे से अधिक चौड़ा नियम पहला परीक्षण पास करता है और दूसरे में विफल होता है। प्रोफ़ाइल का नाम, उसमें रहे पोर्ट और जिस श्रोता के सामने जाँच की उसे दर्ज करें।

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

संबंधित लेख