यह मॉड्यूल क्या करता है #
फ़ायरवॉल सर्वर का मुख्य द्वार है: यह तय करता है कि कौन-से कनेक्शन अंदर आते हैं और कौन-से अस्वीकृत किए जाते हैं। इन मशीनों पर यह काम ufw (Ubuntu का फ़ायरवॉल) करता है, और firewall मॉड्यूल आपको ufw सिंटैक्स याद किए बिना इसे संचालित करने का एक सुविधाजनक नियंत्रण देता है।
इससे आप एक नज़र में फ़ायरवॉल की स्थिति देख सकते हैं (सक्रिय अवस्था, डिफ़ॉल्ट नीति और नियम), किसी परेशान करने वाली IP या रेंज को हाथ से ब्लॉक कर सकते हैं, ज़रूरत खत्म होने पर उस ब्लॉक को हटा सकते हैं, और पोर्ट खोल या बंद कर सकते हैं, वहीं कॉन्फ़िगरेशन को ufw द्वारा लागू किए गए के साथ समकालिक रखते हुए।
घुसपैठ प्रयासों (SSH ब्रूट फ़ोर्स, आदि) के लिए स्वचालित बैन fail2ban स्वयं संभालता है। यह मॉड्यूल आपके मैनुअल ब्लॉक के साथ काम करता है: block, unblock और flush केवल उसे छूते हैं जो आप हाथ से जोड़ते हैं और fail2ban के बैन में कभी हस्तक्षेप नहीं करते।
सामान्य कार्य #
चुनें कि आप क्या करना चाहते हैं। हर रेसिपी में आदेश पहले से लिखा हुआ आता है — बस IP या पोर्ट को अपने वाले से बदलें और कॉपी करें दबाएँ।
1
फ़ायरवॉल की स्थिति देखें
जाँचें कि यह सक्रिय है या नहीं, इसकी डिफ़ॉल्ट नीति और इसके कितने नियम हैं।
SSH से अपने सर्वर पर कनेक्ट करें और सारांश माँगें:
$ sudo imaxe firewall statusकिसी स्क्रिप्ट के लिए चाहिए? --json जोड़ें और आपको वही जानकारी मशीन-पठनीय रूप में मिलेगी:
$ sudo imaxe firewall status --json2
किसी अपमानजनक IP को ब्लॉक करें
किसी परेशान करने वाली IP या रेंज की पहुँच काट दें।
किसी विशिष्ट IP को ब्लॉक करें, कारण नोट करते हुए ताकि आपको बाद में याद रहे:
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso"केवल अस्थायी ब्लॉक चाहिए? इसे --ttl के साथ अवधि दें और यह स्वयं हट जाएगा। आप CIDR संकेतन में पूरी रेंज भी ब्लॉक कर सकते हैं:
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso" --ttl 24h
$ sudo imaxe firewall block 203.0.113.0/24 --reason "escaneo"--ttl सेट किया है, तो समय पूरा होने पर ब्लॉक स्वयं समाप्त हो जाता है।3
देखें मैंने कौन-सी IP ब्लॉक की हैं
अपने सक्रिय मैनुअल ब्लॉक की सूची की समीक्षा करें।
उन IP और रेंज को सूचीबद्ध करें जिन्हें आपने हाथ से ब्लॉक किया है (याद रखें: fail2ban के बैन यहाँ नहीं दिखते):
$ sudo imaxe firewall blocked4
किसी IP को अनब्लॉक करें
अब ज़रूरी न रहे मैनुअल ब्लॉक को हटाएँ।
जिस IP या रेंज को आपने ब्लॉक किया था उसे ठीक वैसे ही हटाएँ (जैसा blocked में दिखता है):
$ sudo imaxe firewall unblock 203.0.113.105
पोर्ट खोलें या बंद करें
किसी नई सेवा को अंदर आने दें या किसी को बंद करें जो अब आप नहीं देते।
कोई पोर्ट खोलें (एक टिप्पणी के साथ ताकि आपको पता रहे यह किसलिए है)। आप --from से यह सीमित कर सकते हैं कि कौन अंदर आए:
$ sudo imaxe firewall allow 443/tcp --comment "https"
$ sudo imaxe firewall allow 5432/tcp --from 203.0.113.0/24 --comment "postgres interno"कोई पोर्ट बंद करें जिसे आप अब उपयोग नहीं करते:
$ sudo imaxe firewall deny 8080/tcpfirewall.yml में परिलक्षित होता है। इसे imaxe firewall rules list से जाँचें।यदि आप SSH से जुड़े हैं तो पोर्ट 22 (SSH) बंद न करें: आप सर्वर तक पहुँच खो देंगे। मॉड्यूल 22/tcp को डिफ़ॉल्ट रूप से अनुमत रखता है ठीक उसी डर से बचने के लिए। और याद रखें कि flush आपके सभी मैनुअल ब्लॉक एक साथ हटा देता है।
सारांश #
imaxe firewall <subcomando> [<ip>|<puerto>] [flags]सभी उपआदेशों के लिए root विशेषाधिकार आवश्यक हैं (sudo का उपयोग करें) क्योंकि वे ufw पर काम करते हैं और /etc/imaxe/ में लिखते हैं। मशीन-पठनीय आउटपुट के लिए, जो स्क्रिप्टिंग के लिए उपयुक्त है, status, blocked या rules list में --json जोड़ें।
उपआदेश #
| उपआदेश | यह क्या करता है | प्रासंगिक फ़्लैग |
|---|---|---|
| status | फ़ायरवॉल की स्थिति: सक्रिय अवस्था, डिफ़ॉल्ट नीति, नियमों की संख्या और मैनुअल ब्लॉक। | --json |
| blocked | हाथ से ब्लॉक की गई IP/रेंज सूचीबद्ध करता है (fail2ban के बैन शामिल नहीं)। | --json |
| block | किसी IP या रेंज को हाथ से ब्लॉक करता है, वैकल्पिक कारण और अवधि के साथ। | --reason, --ttl |
| unblock | किसी मैनुअल ब्लॉक को हटाता है। fail2ban के बैन को नहीं छूता। | — |
| flush | सभी मैनुअल ब्लॉक हटाता है (विनाशकारी)। fail2ban के बैन को नहीं छूता। | --yes |
| rules list | पोर्ट नियमों को सूचीबद्ध करता है (अनुमत पोर्ट, स्रोत)। | --json |
| allow | कोई पोर्ट खोलता है और उसे कॉन्फ़िग में परिलक्षित करता है। | --from, --comment |
| deny | कोई पोर्ट बंद करता है और उसे कॉन्फ़िग में परिलक्षित करता है। | --from |
| reload | ufw को पुनः लोड करता है (उसके सक्रिय नियम फिर से लागू करता है)। | — |
rules पोर्ट नियमों के प्रबंधन को समूहित करता है; अभी इसका एकमात्र उपआदेश rules list है।
आर्गुमेंट और फ़्लैग #
| आर्गुमेंट / फ़्लैग | प्रकार | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
| <ip>[/cidr] आव. | string | — | block और unblock में जिस IP या CIDR रेंज पर काम करना है (जैसे 203.0.113.10 या 203.0.113.0/24)। |
| <port>[/proto] आव. | string | — | allow और deny में जिस पोर्ट पर काम करना है (जैसे 443 या 443/tcp)। |
| --reason | string | — | block में: ब्लॉक का कारण (सूचनात्मक)। |
| --ttl | duration | स्थायी | block में: ब्लॉक की अवधि (जैसे 24h)। डिफ़ॉल्ट रूप से स्थायी। |
| --from | cidr | any | allow/deny में: स्रोत को किसी विशिष्ट CIDR तक सीमित करता है। |
| --comment | string | — | allow में: नियम के लिए वर्णनात्मक टिप्पणी। |
| --yes | bool | false | flush में: बिना पूछे पुष्टि करता है (विनाशकारी ऑपरेशन)। |
| --json | bool | false | status/blocked/rules list में: परिणाम को stdout पर JSON के रूप में निकालता है। |
फ़ाइलें और पथ #
| पथ | सामग्री |
|---|---|
| /etc/imaxe/firewall.yml | मॉड्यूल कॉन्फ़िगरेशन: अनुमत पोर्ट जिन्हें allow/deny ufw के साथ समकालिक रखते हैं। |
firewall.yml का उदाहरण:
allow:
- { port: 22, proto: tcp, comment: "ssh" }
- { port: 443, proto: tcp, comment: "https" }निकास कोड और लॉग #
हर बार चलने पर एक कोड लौटाया जाता है जिसे आप echo $? से जाँच सकते हैं — स्क्रिप्ट में श्रृंखलाबद्ध करने के लिए उपयोगी:
डिबग करते समय स्थिति और नियमों को लाइव देखें:
$ sudo imaxe firewall status
$ sudo imaxe firewall rules listसमस्या निवारण #
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
| अनब्लॉक करते समय आपको NOTFOUND (कोड 3) मिलता है | IP आपके सेट किए ब्लॉक से ठीक मेल नहीं खाती (उदाहरण के लिए, /cidr छूट गया)। | imaxe firewall blocked चलाएँ और unblock के लिए प्रविष्टि हूबहू कॉपी करें। |
मैंने एक IP ब्लॉक की पर unblock के बाद भी वह बैन है | ब्लॉक fail2ban ने सेट किया था, आपने नहीं। | यह मॉड्यूल केवल मैनुअल ब्लॉक हटाता है; स्वचालित बैन fail2ban अलग से संभालता है। |
| मैंने पोर्ट खोला पर कोई ट्रैफ़िक नहीं आता | नियम ufw में है पर कोई बाहरी फ़ायरवॉल (सुरक्षा समूह) अभी बंद है। | imaxe firewall rules list से जाँचें और अपने क्लाउड प्रदाता में भी पोर्ट खोलें। |
| नियम बदलने के बाद मैंने SSH पहुँच खो दी | पोर्ट 22 बंद या सीमित कर दिया गया था। | प्रदाता के कंसोल से पहुँचें और imaxe firewall allow 22/tcp से 22/tcp फिर अनुमत करें। |
Firewall मॉड्यूल में अटक गए?
हमें «imaxe <module> status --json» का आउटपुट भेजें और हम आपको जल्दी जवाब देंगे।